操作功能前請先登入
詳細功能請參考API Reference/squote
查詢行情
查詢最後普通股競價交易即時行情資訊
透過squote.query_tick_data方法實作,帶入股票代碼
回傳物件為TickDataResponse
ok為True表示查詢成功,data型別為TickData
ok為False表示查詢失敗,error會呈現錯誤訊息
tickDataTradeResponse=unitrade.squote.query_tick_data('2330')
# TickDataResponse(ok=True, error='', data=TickData(
# stock_code='2330',//股票代號
# match_time='133000000000',//撮合時間
# limit_up_down_note='0',//漲跌停註記 str (0: 一般 64:跌停成交 128:漲停成交)
# status_note='4',//狀態註記 str(4:收盤揭示 8:開盤揭示 16:逐筆撮合 32:延後收盤 64:延後開盤 128:試撮揭示 256:集合競價 512:一般揭示)
# cumulative_volume=23904,//累計成交數量
# trade_price=1035.0,//成交價
# trade_volume=2334,//成交量
# best_bid_price_1=1035.0,//最佳一檔買進價
# best_bid_volume_1=107,//最佳一檔買進量
# best_bid_price_2=1030.0,//最佳二檔買進價
# best_bid_volume_2=3831,//最佳二檔買進量
# best_bid_price_3=1025.0,//最佳三檔買進價
# best_bid_volume_3=2908,//最佳三檔買進量
# best_bid_price_4=1020.0,//最佳四檔買進價
# best_bid_volume_4=2494,//最佳四檔買進量
# best_bid_price_5=1015.0,//最佳五檔買進價
# best_bid_volume_5=637,//最佳五檔買進量
# best_ask_price_1=1040.0,//最佳一檔賣出價
# best_ask_volume_1=3303,//最佳一檔賣出量
# best_ask_price_2=1045.0,//最佳二檔賣出價
# best_ask_volume_2=2110,//最佳二檔賣出量
# best_ask_price_3=1050.0,//最佳三檔賣出價
# best_ask_volume_3=1475,//最佳三檔賣出量
# best_ask_price_4=1055.0,//最佳四檔賣出價
# best_ask_volume_4=1123,//最佳四檔賣出量
# best_ask_price_5=1060.0,//最佳五檔賣出價
# best_ask_volume_5=1694//最佳五檔賣出量
#))
查詢最後普通股競價交易開(收)盤價資料資訊
透過squote.query_tick_data_open方法實作,帶入股票代碼
回傳物件為TickDataOpenCloseResponse
ok為True表示查詢成功,data型別為TickDataOpenClose
ok為False表示查詢失敗,error會呈現錯誤訊息
tickdataopenResponse=unitrade.squote.query_tick_open_close('2330')
# TickDataOpenCloseResponse(ok=True, error='', data=TickDataOpenClose(
# stock_code='2330',\\股票代號
# open_price=1045.0,\開盤價格
# high_price=1045.0,\\最高成交價格
# low_price=1030.0,\\最低成交價格
# last_trade_price=1035.0,\\最近成交價
# cumulative_volume=23904,\\累計成交量
# time='999999999999'\\時間
#))
查詢普通個股基本資料
透過squote.query_base_data方法實作,帶入股票代碼
回傳物件為BaseDataResponse
ok為True表示查詢成功,data型別為BaseData
ok為False表示查詢失敗,error會呈現錯誤訊息
baseDataResponse=unitrade.squote.query_base_data('2330')
# BaseDataResponse(ok=True, error='', data=BaseData(
# stock_code='2330',\\股票代號
# product_name='台積電 ',\\商品名稱
# industry='24',\\產業別
# security_type=' ',\\證券別
# stock_abnormal_code='0',\\股票異常代碼
# reference_price='1055.0000',\\參考價
# upper_limit_price='1160.0000',\\漲停價
# lower_limit_price='950.0000',\\跌停價
# non_10_denomination=' ',\\非10元面額
# abnormal_recommendation_note=' ',\\異常推介個股註記
# special_abnormal_security_note=' ',\\特殊異常證券註記
# day_trading_note='A',\\可現股當沖註記
# exempt_short_selling_note='Y',\\豁免平盤下融券賣出註記
# exempt_borrowing_short_selling_note='Y',\\豁免平盤下借券賣出註記
# matching_cycle_seconds='0',\\撮合循環秒數
# foreign_stock_identifier=' ',\\外國股票識別碼
# trading_unit='1000',\\交易單位
# trading_currency_code=' '\\交易幣別代號
#))
查詢最後OTC競價交易即時行情資訊
透過squote.query_otc_tick_data方法實作,帶入股票代碼
回傳物件為TickDataResponse
ok為True表示查詢成功,data型別為TickData
ok為False表示查詢失敗,error會呈現錯誤訊息
tickDataTradeResponse=unitrade.squote.query_otc_tick_data('5483')
# TickDataResponse(ok=True, error='', data=TickData(
# stock_code='5483',\\股票代號
# match_time='133000000000',\\撮合時間
# limit_up_down_note='0',\\漲跌停註記 str (0: 一般 64:跌停成交 128:漲停成交)
# status_note='4',\\狀態註記 str(4:收盤揭示 8:開盤揭示 16:逐筆撮合 32:延後收盤 64:延後開盤 128:試撮揭示 256:集合競價 512:一般揭示)
# cumulative_volume=4174,\\累計成交數量
# trade_price=91.2,\\成交價
# trade_volume=359,\\成交量
# best_bid_price_1=91.2,\\最佳一檔買進價
# best_bid_volume_1=35,\\最佳一檔買進量
# best_bid_price_2=91.1,\\最佳二檔買進價
# best_bid_volume_2=54,\\最佳二檔買進量
# best_bid_price_3=91.0,\\最佳三檔買進價
# best_bid_volume_3=178,\\最佳三檔買進量
# best_bid_price_4=90.9,\\最佳四檔買進價
# best_bid_volume_4=33,\\最佳四檔買進量
# best_bid_price_5=90.8,\\最佳五檔買進價
# best_bid_volume_5=34,\\最佳五檔買進量
# best_ask_price_1=91.3,\\最佳一檔賣出價
# best_ask_volume_1=7,\\最佳一檔賣出量
# best_ask_price_2=91.5,\\最佳二檔賣出價
# best_ask_volume_2=5,\\最佳二檔賣出量
# best_ask_price_3=91.6,\\最佳三檔賣出價
# best_ask_volume_3=2,\\最佳三檔賣出量
# best_ask_price_4=91.7,\\最佳四檔賣出價
# best_ask_volume_4=21,\\最佳四檔賣出量
# best_ask_price_5=91.8,\\最佳五檔賣出價
# best_ask_volume_5=13\\最佳五檔賣出量
#))
查詢最後otc競價交易開(收)盤價資料資訊
透過squote.query_otc_tick_open_close方法實作,帶入股票代碼
回傳物件為TickDataOpenCloseResponse
ok為True表示查詢成功,data型別為TickDataOpenClose
ok為False表示查詢失敗,error會呈現錯誤訊息
tickdataopenResponse=unitrade.squote.query_otc_tick_open_close('5483')
# TickDataOpenCloseResponse(ok=True, error='', data=TickDataOpenClose(
# stock_code='5483',//股票代號
# open_price=93.8,//開盤價格
# high_price=94.2,//最高成交價格
# low_price=91.2,//最低成交價格
# last_trade_price=91.2,//最近成交價
# cumulative_volume=4174,//累計成交量
# time='999999999999'//時間
#))
查詢otc基本資料
透過squote.query_otc_base_data方法實作,帶入股票代碼
回傳物件為OTCBaseDataResponse
ok為True表示查詢成功,data型別為OTCBaseData
ok為False表示查詢失敗,error會呈現錯誤訊息
baseDataResponse=unitrade.squote.query_otc_base_data('5483')
# OTCBaseDataResponse(ok=True, error='', data=OTCBaseData(
# stock_code='5483',\\股票代號
# product_name='中美晶 ',\\商品名稱
# industry='24',\\產業別
# security_type=' ',\\證券別
# stock_abnormal_code='0',\\股票異常代碼
# stock_type='48',\\類股註記
# reference_price='94.2000',\\參考價
# upper_limit_price='103.5000',\\漲停價
# lower_limit_price='84.8000',\\跌停價
# non_10_denomination=' ',\\非10元面額
# abnormal_recommendation_note=' ',\\異常推介個股註記
# special_abnormal_security_note=' ',\\特殊異常證券註記
# day_trading_note='A',\\可現股當沖註記
# exempt_short_selling_note='Y',\\豁免平盤下融券賣出註記
# exempt_borrowing_short_selling_note='Y',\\豁免平盤下借券賣出註記
# matching_cycle_seconds='0',\\撮合循環秒數
# trading_unit='1000',\\交易單位
# trading_currency_code=' '\\交易幣別代號
#))
查詢最後指數資料資訊
透過squote.query_index_data方法實作,帶入指數代碼
回傳物件為IndexDataResponse
ok為True表示查詢成功,data型別為IndexData
ok為False表示查詢失敗,error會呈現錯誤訊息
indexDataResponse=unitrade.squote.query_index_data('IX0001')
# IndexDataResponse(ok=True, error='', data=IndexData(
#index_code='IX0001',\\指數代號
# index_time='999999',\\指數時間
# latest_index=22003.5\\最新指數
#))
查詢最後櫃買指數資料資訊
透過squote.query_otc_index_data方法實作,帶入OTC指數代碼
回傳物件為IndexDataResponse
ok為True表示查詢成功,data型別為IndexData
ok為False表示查詢失敗,error會呈現錯誤訊息
indexDataResponse=unitrade.squote.query_otc_index_data('IX0043')
# IndexDataResponse(ok=True, error='', data=IndexData(
# index_code='IX0043',\\指數代號
# index_time='999999',\\指數時間
# latest_index=228.56\\最新指數
#))
接收即時行情
股票行情
註冊
squote.on_tick_data事件接收即時行情
squote.on_base_data事件接收基本資料
squote.on_tick_data_open_close事件接收開收盤資訊
squote.sub_stock方法可以註冊接收即時行情.基本資料.開收盤資訊,傳入股票代碼
#訂閱接收事件
unitrade.squote.on_tick_data = on_tick_data
unitrade.squote.on_base_data = on_base_data
unitrade.squote.on_tick_data_open_close = on_tick_data_open_close
subok,msg=unitrade.squote.sub_stock('2330')
print(f'註冊結果 {subok} {msg}')
def on_tick_data(tickdatatrade: TickData):
print(tickdatatrade)
#TickData(
# stock_code='2330',//股票代號
# match_time='133000000000',//撮合時間
# limit_up_down_note='0',//漲跌停註記 str (0: 一般 64:跌停成交 128:漲停成交)
# status_note='4',//狀態註記 str(4:收盤揭示 8:開盤揭示 16:逐筆撮合 32:延後收盤 64:延後開盤 128:試撮揭示 256:集合競價 512:一般揭示)
# cumulative_volume=23904,//累計成交數量
# trade_price=1035.0,//成交價
# trade_volume=2334,//成交量
# best_bid_price_1=1035.0,//最佳一檔買進價
# best_bid_volume_1=107,//最佳一檔買進量
# best_bid_price_2=1030.0,//最佳二檔買進價
# best_bid_volume_2=3831,//最佳二檔買進量
# best_bid_price_3=1025.0,//最佳三檔買進價
# best_bid_volume_3=2908,//最佳三檔買進量
# best_bid_price_4=1020.0,//最佳四檔買進價
# best_bid_volume_4=2494,//最佳四檔買進量
# best_bid_price_5=1015.0,//最佳五檔買進價
# best_bid_volume_5=637,//最佳五檔買進量
# best_ask_price_1=1040.0,//最佳一檔賣出價
# best_ask_volume_1=3303,//最佳一檔賣出量
# best_ask_price_2=1045.0,//最佳二檔賣出價
# best_ask_volume_2=2110,//最佳二檔賣出量
# best_ask_price_3=1050.0,//最佳三檔賣出價
# best_ask_volume_3=1475,//最佳三檔賣出量
# best_ask_price_4=1055.0,//最佳四檔賣出價
# best_ask_volume_4=1123,//最佳四檔賣出量
# best_ask_price_5=1060.0,//最佳五檔賣出價
# best_ask_volume_5=1694//最佳五檔賣出量
#))
def on_base_data(basedata: BaseData):
print(basedata)
#BaseData(
# stock_code='2330',\\股票代號
# product_name='台積電 ',\\商品名稱
# industry='24',\\產業別
# security_type=' ',\\證券別
# stock_abnormal_code='0',\\股票異常代碼
# reference_price='1055.0000',\\參考價
# upper_limit_price='1160.0000',\\漲停價
# lower_limit_price='950.0000',\\跌停價
# non_10_denomination=' ',\\非10元面額
# abnormal_recommendation_note=' ',\\異常推介個股註記
# special_abnormal_security_note=' ',\\特殊異常證券註記
# day_trading_note='A',\\可現股當沖註記
# exempt_short_selling_note='Y',\\豁免平盤下融券賣出註記
# exempt_borrowing_short_selling_note='Y',\\豁免平盤下借券賣出註記
# matching_cycle_seconds='0',\\撮合循環秒數
# foreign_stock_identifier=' ',\\外國股票識別碼
# trading_unit='1000',\\交易單位
# trading_currency_code=' '\\交易幣別代號
#))
def on_tick_data_open_close(tickdataopen: TickDataOpenClose):
print(tickdataopen)
#TickDataOpenClose(
# stock_code='2330',\\股票代號
# open_price=1045.0,\開盤價格
# high_price=1045.0,\\最高成交價格
# low_price=1030.0,\\最低成交價格
# last_trade_price=1035.0,\\最近成交價
# cumulative_volume=23904,\\累計成交量
# time='999999999999'\\時間
#))
反註冊
squote.unsub_stock方法可以反註冊停止接收即時行情.基本資料.開收盤資訊,傳入股票代碼
unsub_ok,msg=unitrade.squote.unsub_stock('2330')
print(f'反註冊結果 {unsub_ok} {msg}')
otc行情
註冊
squote.on_otc_tick_data事件接收即時行情
squote.on_otc_base_data事件接收基本資料
squote.on_otc_tick_data_open_close事件接收開收盤資訊
squote.sub_otc方法可以註冊接收即時行情.基本資料.開收盤資訊,傳入上櫃股票代碼
#訂閱接收事件
unitrade.squote.on_otc_tick_data = on_otc_tick_data
unitrade.squote.on_otc_base_data = on_otc_base_data
unitrade.squote.on_otc_tick_data_open_close = on_otc_tick_data_open_close
subok,msg=unitrade.squote.sub_otc('5483')
print(f'註冊結果 {subok} {msg}')
def on_otc_tick_data(tickdatatrade: TickData):
print(tickdatatrade)
#TickData(
# stock_code='5483',\\股票代號
# match_time='133000000000',\\撮合時間
# limit_up_down_note='0',\\漲跌停註記 str (0: 一般 64:跌停成交 128:漲停成交)
# status_note='4',\\狀態註記 str(4:收盤揭示 8:開盤揭示 16:逐筆撮合 32:延後收盤 64:延後開盤 128:試撮揭示 256:集合競價 512:一般揭示)
# cumulative_volume=4174,\\累計成交數量
# trade_price=91.2,\\成交價
# trade_volume=359,\\成交量
# best_bid_price_1=91.2,\\最佳一檔買進價
# best_bid_volume_1=35,\\最佳一檔買進量
# best_bid_price_2=91.1,\\最佳二檔買進價
# best_bid_volume_2=54,\\最佳二檔買進量
# best_bid_price_3=91.0,\\最佳三檔買進價
# best_bid_volume_3=178,\\最佳三檔買進量
# best_bid_price_4=90.9,\\最佳四檔買進價
# best_bid_volume_4=33,\\最佳四檔買進量
# best_bid_price_5=90.8,\\最佳五檔買進價
# best_bid_volume_5=34,\\最佳五檔買進量
# best_ask_price_1=91.3,\\最佳一檔賣出價
# best_ask_volume_1=7,\\最佳一檔賣出量
# best_ask_price_2=91.5,\\最佳二檔賣出價
# best_ask_volume_2=5,\\最佳二檔賣出量
# best_ask_price_3=91.6,\\最佳三檔賣出價
# best_ask_volume_3=2,\\最佳三檔賣出量
# best_ask_price_4=91.7,\\最佳四檔賣出價
# best_ask_volume_4=21,\\最佳四檔賣出量
# best_ask_price_5=91.8,\\最佳五檔賣出價
# best_ask_volume_5=13\\最佳五檔賣出量
#))
def on_otc_base_data(basedata: OTCBaseData):
print(basedata)
# OTCBaseData(
# stock_code='5483',\\股票代號
# product_name='中美晶 ',\\商品名稱
# industry='24',\\產業別
# security_type=' ',\\證券別
# stock_abnormal_code='0',\\股票異常代碼
# stock_type='48',\\類股註記
# reference_price='94.2000',\\參考價
# upper_limit_price='103.5000',\\漲停價
# lower_limit_price='84.8000',\\跌停價
# non_10_denomination=' ',\\非10元面額
# abnormal_recommendation_note=' ',\\異常推介個股註記
# special_abnormal_security_note=' ',\\特殊異常證券註記
# day_trading_note='A',\\可現股當沖註記
# exempt_short_selling_note='Y',\\豁免平盤下融券賣出註記
# exempt_borrowing_short_selling_note='Y',\\豁免平盤下借券賣出註記
# matching_cycle_seconds='0',\\撮合循環秒數
# trading_unit='1000',\\交易單位
# trading_currency_code=' '\\交易幣別代號
#))
def on_otc_tick_data_open_close(tickdataopen: TickDataOpenClose):
print(tickdataopen)
#TickDataOpenClose(
# stock_code='5483',//股票代號
# open_price=93.8,//開盤價格
# high_price=94.2,//最高成交價格
# low_price=91.2,//最低成交價格
# last_trade_price=91.2,//最近成交價
# cumulative_volume=4174,//累計成交量
# time='999999999999'//時間
#))
反註冊
squote.unsub_otc方法可以反註冊停止接收即時行情.基本資料.開收盤資訊,傳入上櫃股票代碼
unsub_ok,msg=unitrade.squote.unsub_otc('5483')
print(f'反註冊結果 {unsub_ok} {msg}')
指數行情
註冊
squote.on_index_data事件接收即時行情
squote.sub_index方法可以註冊接收指數行情,傳入指數代碼
#訂閱接收事件
unitrade.squote.on_index_data = on_index_data
subok,msg=unitrade.squote.sub_index('IX0001')
print(f'註冊結果 {subok} {msg}')
def on_index_data(indexdata: IndexData):
print(indexdata)
#IndexData(
# index_code='IX0001',\\指數代號
# index_time='999999',\\指數時間
# latest_index=22003.5\\最新指數
#))
反註冊
squote.unsub_index方法可以反註冊停止接收指數行情,傳入指數代碼
unsub_ok,msg=unitrade.squote.unsub_index('IX0001')
print(f'反註冊結果 {unsub_ok} {msg}')
OTC指數行情
註冊
squote.on_otc_index_data事件接收即時行情
squote.sub_otc_index方法可以註冊接收指數行情,傳入OTC指數代碼
#訂閱接收事件
unitrade.squote.on_otc_index_data = on_otc_index_data
subok,msg=unitrade.squote.sub_otc_index('IX0043')
print(f'註冊結果 {subok} {msg}')
display(fig_idx)
def on_otc_index_data(indexdata: IndexData):
print(indexdata)
#IndexData(
# index_code='IX0043',\\指數代號
# index_time='999999',\\指數時間
# latest_index=228.56\\最新指數
#))
反註冊
squote.unsub_otc_index方法可以反註冊停止接收指數行情,傳入OTC指數代碼
unsub_ok,msg=unitrade.squote.unsub_otc_index('IX0043')
print(f'反註冊結果 {unsub_ok} {msg}')