操作功能前請先登入

詳細功能請參考API Reference/squote

Open In Colab

下載範例

查詢行情

查詢最後普通股競價交易即時行情資訊

透過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}')