操作功能前請先登入
詳細功能請參考API Reference/squote
透過query_tick_data方法實作,帶入股票代碼
tickDataTradeResponse=api.squote.query_tick_data('2330')
if tickDataTradeResponse.ok == True:
tickdatatrade=tickDataTradeResponse.data
cur = list(fig_match.data[0].cells.values)
print(tickdatatrade)
cur[col_match['成交時間']] = tickdatatrade.match_time
cur[col_match['成交價']] = tickdatatrade.trade_price
cur[col_match['成交量']] = tickdatatrade.trade_volume
with fig_match.batch_update():
fig_match.data[0].cells.values = cur
display(fig_match)
cur = list(fig_bs5.data[0].cells.values)
cur[col_bs5['買價1']] = tickdatatrade.best_bid_price_1
cur[col_bs5['買量1']] = tickdatatrade.best_bid_volume_1
cur[col_bs5['買價2']] = tickdatatrade.best_bid_price_2
cur[col_bs5['買量2']] = tickdatatrade.best_bid_volume_2
cur[col_bs5['買價3']] = tickdatatrade.best_bid_price_3
cur[col_bs5['買量3']] = tickdatatrade.best_bid_volume_3
cur[col_bs5['買價4']] = tickdatatrade.best_bid_price_4
cur[col_bs5['買量4']] = tickdatatrade.best_bid_volume_4
cur[col_bs5['買價5']] = tickdatatrade.best_bid_price_5
cur[col_bs5['買量5']] = tickdatatrade.best_bid_volume_5
cur[col_bs5['賣價1']] = tickdatatrade.best_ask_price_1
cur[col_bs5['賣量1']] = tickdatatrade.best_ask_volume_1
cur[col_bs5['賣價2']] = tickdatatrade.best_ask_price_2
cur[col_bs5['賣量2']] = tickdatatrade.best_ask_volume_2
cur[col_bs5['賣價3']] = tickdatatrade.best_ask_price_3
cur[col_bs5['賣量3']] = tickdatatrade.best_ask_volume_3
cur[col_bs5['賣價4']] = tickdatatrade.best_ask_price_4
cur[col_bs5['賣量4']] = tickdatatrade.best_ask_volume_4
cur[col_bs5['賣價5']] = tickdatatrade.best_ask_price_5
cur[col_bs5['賣量5']] = tickdatatrade.best_ask_volume_5
with fig_bs5.batch_update():
fig_bs5.data[0].cells.values = cur
display(fig_bs5)
else:
print("錯誤訊息 "+tickDataTradeResponse.error)
透過query_tick_data_open方法實作,帶入股票代碼
tickdataopenResponse=api.squote.query_tick_open_close('2330')
if tickdataopenResponse.ok == True:
tickdataopen=tickdataopenResponse.data
cur = list(fig_open.data[0].cells.values)
cur[col_open['開盤價格']] = tickdataopen.open_price
cur[col_open['最高成交價格']] = tickdataopen.high_price
cur[col_open['最低成交價格']] = tickdataopen.low_price
cur[col_open['最近成交價']] = tickdataopen.last_trade_price
cur[col_open['累計成交量']] = tickdataopen.cumulative_volume
cur[col_open['時間']] = tickdataopen.time
with fig_open.batch_update():
fig_open.data[0].cells.values = cur
display(fig_open)
else:
print("錯誤訊息 "+tickdataopenResponse.error)
透過query_base_data方法實作,帶入股票代碼
baseDataResponse=api.squote.query_base_data('2330')
if baseDataResponse.ok == True:
tickdatahighlow=baseDataResponse.data
cur = list(fig_base.data[0].cells.values)
cur[col_base['股票代號']] = tickdatahighlow.stock_code
cur[col_base['商品名稱']] = tickdatahighlow.product_name
cur[col_base['產業別']] = tickdatahighlow.industry
cur[col_base['證券別']] = tickdatahighlow.security_type
cur[col_base['股票異常代碼']] = tickdatahighlow.stock_abnormal_code
cur[col_base['參考價']] = tickdatahighlow.reference_price
cur[col_base['漲停價']] = tickdatahighlow.upper_limit_price
cur[col_base['跌停價']] = tickdatahighlow.lower_limit_price
cur[col_base['非10元面額']] = tickdatahighlow.non_10_denomination
cur[col_base['異常推介個股註記']] = tickdatahighlow.abnormal_recommendation_note
cur[col_base['特殊異常證券註記']] = tickdatahighlow.special_abnormal_security_note
cur[col_base['可現股當沖註記']] = tickdatahighlow.day_trading_note
cur[col_base['豁免平盤下融券賣出註記']] = tickdatahighlow.exempt_short_selling_note
cur[col_base['豁免平盤下借券賣出註記']] = tickdatahighlow.exempt_borrowing_short_selling_note
cur[col_base['搓合循環秒數']] = tickdatahighlow.matching_cycle_seconds
cur[col_base['外國股票識別碼']] = tickdatahighlow.foreign_stock_identifier
cur[col_base['交易單位']] = tickdatahighlow.trading_unit
cur[col_base['交易幣別代號']] = tickdatahighlow.trading_currency_code
with fig_base.batch_update():
fig_base.data[0].cells.values = cur
display(fig_base)
else:
print("錯誤 "+baseDataResponse.error)
透過query_otc_tick_data方法實作,帶入股票代碼
tickDataTradeResponse=api.squote.query_otc_tick_data('5483')
if tickDataTradeResponse.ok == True:
tickdatatrade=tickDataTradeResponse.data
cur = list(fig_match.data[0].cells.values)
cur[col_match['成交時間']] = tickdatatrade.match_time
cur[col_match['成交價']] = tickdatatrade.trade_price
cur[col_match['成交量']] = tickdatatrade.trade_volume
with fig_match.batch_update():
fig_match.data[0].cells.values = cur
display(fig_match)
cur = list(fig_bs5.data[0].cells.values)
cur[col_bs5['買價1']] = tickdatatrade.best_bid_price_1
cur[col_bs5['買量1']] = tickdatatrade.best_bid_volume_1
cur[col_bs5['買價2']] = tickdatatrade.best_bid_price_2
cur[col_bs5['買量2']] = tickdatatrade.best_bid_volume_2
cur[col_bs5['買價3']] = tickdatatrade.best_bid_price_3
cur[col_bs5['買量3']] = tickdatatrade.best_bid_volume_3
cur[col_bs5['買價4']] = tickdatatrade.best_bid_price_4
cur[col_bs5['買量4']] = tickdatatrade.best_bid_volume_4
cur[col_bs5['買價5']] = tickdatatrade.best_bid_price_5
cur[col_bs5['買量5']] = tickdatatrade.best_bid_volume_5
cur[col_bs5['賣價1']] = tickdatatrade.best_ask_price_1
cur[col_bs5['賣量1']] = tickdatatrade.best_ask_volume_1
cur[col_bs5['賣價2']] = tickdatatrade.best_ask_price_2
cur[col_bs5['賣量2']] = tickdatatrade.best_ask_volume_2
cur[col_bs5['賣價3']] = tickdatatrade.best_ask_price_3
cur[col_bs5['賣量3']] = tickdatatrade.best_ask_volume_3
cur[col_bs5['賣價4']] = tickdatatrade.best_ask_price_4
cur[col_bs5['賣量4']] = tickdatatrade.best_ask_volume_4
cur[col_bs5['賣價5']] = tickdatatrade.best_ask_price_5
cur[col_bs5['賣量5']] = tickdatatrade.best_ask_volume_5
with fig_bs5.batch_update():
fig_bs5.data[0].cells.values = cur
display(fig_bs5)
else:
print("錯誤訊息 "+tickDataTradeResponse.error)
透過query_otc_tick_data_open方法實作,帶入股票代碼
tickdataopenResponse=api.squote.query_otc_tick_open_close('5483')
if tickdataopenResponse.ok == True:
tickdataopen=tickdataopenResponse.data
cur = list(fig_open.data[0].cells.values)
cur[col_open['開盤價格']] = tickdataopen.open_price
cur[col_open['最高成交價格']] = tickdataopen.high_price
cur[col_open['最低成交價格']] = tickdataopen.low_price
cur[col_open['最近成交價']] = tickdataopen.last_trade_price
cur[col_open['累計成交量']] = tickdataopen.cumulative_volume
cur[col_open['時間']] = tickdataopen.time
with fig_open.batch_update():
fig_open.data[0].cells.values = cur
display(fig_open)
else:
print("錯誤訊息 "+tickdataopenResponse.error)
透過query_otc_base_data方法實作,帶入股票代碼
baseDataResponse=api.squote.query_otc_base_data('5483')
if baseDataResponse.ok == True:
tickdatahighlow=baseDataResponse.data
cur = list(fig_base.data[0].cells.values)
cur[col_base['股票代號']] = tickdatahighlow.stock_code
cur[col_base['商品名稱']] = tickdatahighlow.product_name
cur[col_base['產業別']] = tickdatahighlow.industry
cur[col_base['證券別']] = tickdatahighlow.security_type
cur[col_base['股票異常代碼']] = tickdatahighlow.stock_abnormal_code
cur[col_base['參考價']] = tickdatahighlow.reference_price
cur[col_base['漲停價']] = tickdatahighlow.upper_limit_price
cur[col_base['跌停價']] = tickdatahighlow.lower_limit_price
cur[col_base['非10元面額']] = tickdatahighlow.non_10_denomination
cur[col_base['異常推介個股註記']] = tickdatahighlow.abnormal_recommendation_note
cur[col_base['特殊異常證券註記']] = tickdatahighlow.special_abnormal_security_note
cur[col_base['可現股當沖註記']] = tickdatahighlow.day_trading_note
cur[col_base['豁免平盤下融券賣出註記']] = tickdatahighlow.exempt_short_selling_note
cur[col_base['豁免平盤下借券賣出註記']] = tickdatahighlow.exempt_borrowing_short_selling_note
cur[col_base['搓合循環秒數']] = tickdatahighlow.matching_cycle_seconds
cur[col_base['交易單位']] = tickdatahighlow.trading_unit
cur[col_base['交易幣別代號']] = tickdatahighlow.trading_currency_code
with fig_base.batch_update():
fig_base.data[0].cells.values = cur
display(fig_base)
else:
print("錯誤 "+baseDataResponse.error)
透過query_index_data方法實作,帶入指數代號 臺股指數 IX0001 臺灣50指數 TW50 臺灣中型100指數 TWMC 臺灣資訊科技指數 TWIT 臺灣發達指數 TWEI 臺灣高股息指數 TWDP 臺灣就業99指數 EMP99 臺灣公司治理100指數 CG100 寶島股價指數 FRMSA 臺灣高薪100指數 HC100 電子類兩倍槓桿指數 EDRL2 電子類反向指數 EDRIN 臺指日報酬兩倍指數 TTDRL2 臺指反向一倍指數 TTDRIN 小型股300指數 SC300 金融類日報酬兩倍指數 FDRL2 金融類日報酬反向一倍指數 FDRIN 漲升股利150指數 DVA150 漲升股利100指數 DVA100 藍籌30指數 BC30 工業菁英30指數 INE30 電子菁英30指數 ITE30 低波動精選30指數 LV30 低貝塔100指數 LB100 藍籌30反向一倍指數 BC30-1 中小型精選50指數 SMC50 中小型A級動能50指數 SAM50 臺灣永續指數 F4GTTE 股利150報酬指數 IR0091 電子菁英30報酬指數 IR0095 存股雙十等權重報酬指數 IR0112 特選大蘋果報酬指數 IR0113 中小型300報酬指數 IR0114 特股高息20報酬指數 IR0115 臺灣500報酬指數 IR0116 特選外資豐擁50報酬指數 IR0117 臺灣生技指數 IX0103 特選高息低波指數 IX0104 工業菁英30反向一倍指數 IX0106 特選內需高收益指數 IX0107 臺灣中小型公司治理指數 IX0108 臺灣IPO指數 IX0109 價值投資指數 IX0110 中小型300指數 IX0114 |
indexDataResponse=api.squote.query_index_data('IX0001')
if indexDataResponse.ok == True:
indexdata=indexDataResponse.data
cur = list(fig_idx.data[0].cells.values)
cur[col_idx['指數代號']] = indexdata.index_code
cur[col_idx['指數時間']] = indexdata.index_time
cur[col_idx['最新指數']] = indexdata.latest_index
with fig_idx.batch_update():
fig_idx.data[0].cells.values = cur
display(fig_idx)
else:
print("錯誤 "+indexDataResponse.error)
透過query_otc_index_data方法實作,帶入指數代號 櫃買指數:IX0043 富櫃五十指數:GTSM50 指標公債指數:TWTBI 線上遊戲業指數:GAME 高殖利率指數:GTHD 勞工就業88指數:EMP88 櫃買薪酬指數:GTCI 櫃買公司治理指數:TPCGI 富櫃200報酬指數:IR0118 臺灣生技指數:IX0103 臺灣中小型公司治理指數:IX0108 臺灣IPO指數:IX0109 富櫃200指數:IX0118
indexDataResponse=api.squote.query_otc_index_data('IX0043')
if indexDataResponse.ok == True:
indexdata=indexDataResponse.data
cur = list(fig_idx.data[0].cells.values)
cur[col_idx['指數代號']] = indexdata.index_code
cur[col_idx['指數時間']] = indexdata.index_time
cur[col_idx['最新指數']] = indexdata.latest_index
with fig_idx.batch_update():
fig_idx.data[0].cells.values = cur
display(fig_idx)
else:
print("錯誤 "+indexDataResponse.error)
def on_tick_data(tickdatatrade: TickData):
if tickdatatrade.trade_volume>0 :
cur = list(fig_match.data[0].cells.values)
cur[col_match['成交時間']] = tickdatatrade.match_time
cur[col_match['成交價']] = tickdatatrade.trade_price
cur[col_match['成交量']] = tickdatatrade.trade_volume
with fig_match.batch_update():
fig_match.data[0].cells.values = cur
if tickdatatrade.best_bid_volume_1>0 :
cur = list(fig_bs5.data[0].cells.values)
cur[col_bs5['買價1']] = tickdatatrade.best_bid_price_1
cur[col_bs5['買量1']] = tickdatatrade.best_bid_volume_1
cur[col_bs5['買價2']] = tickdatatrade.best_bid_price_2
cur[col_bs5['買量2']] = tickdatatrade.best_bid_volume_2
cur[col_bs5['買價3']] = tickdatatrade.best_bid_price_3
cur[col_bs5['買量3']] = tickdatatrade.best_bid_volume_3
cur[col_bs5['買價4']] = tickdatatrade.best_bid_price_4
cur[col_bs5['買量4']] = tickdatatrade.best_bid_volume_4
cur[col_bs5['買價5']] = tickdatatrade.best_bid_price_5
cur[col_bs5['買量5']] = tickdatatrade.best_bid_volume_5
cur[col_bs5['賣價1']] = tickdatatrade.best_ask_price_1
cur[col_bs5['賣量1']] = tickdatatrade.best_ask_volume_1
cur[col_bs5['賣價2']] = tickdatatrade.best_ask_price_2
cur[col_bs5['賣量2']] = tickdatatrade.best_ask_volume_2
cur[col_bs5['賣價3']] = tickdatatrade.best_ask_price_3
cur[col_bs5['賣量3']] = tickdatatrade.best_ask_volume_3
cur[col_bs5['賣價4']] = tickdatatrade.best_ask_price_4
cur[col_bs5['賣量4']] = tickdatatrade.best_ask_volume_4
cur[col_bs5['賣價5']] = tickdatatrade.best_ask_price_5
cur[col_bs5['賣量5']] = tickdatatrade.best_ask_volume_5
with fig_bs5.batch_update():
fig_bs5.data[0].cells.values = cur
def on_base_data(basedata: BaseData):
cur = list(fig_base.data[0].cells.values)
cur[col_base['股票代號']] = tickdatahighlow.stock_code
cur[col_base['商品名稱']] = tickdatahighlow.product_name
cur[col_base['產業別']] = tickdatahighlow.industry
cur[col_base['證券別']] = tickdatahighlow.security_type
cur[col_base['股票異常代碼']] = tickdatahighlow.stock_abnormal_code
cur[col_base['參考價']] = tickdatahighlow.reference_price
cur[col_base['漲停價']] = tickdatahighlow.upper_limit_price
cur[col_base['跌停價']] = tickdatahighlow.lower_limit_price
cur[col_base['非10元面額']] = tickdatahighlow.non_10_denomination
cur[col_base['異常推介個股註記']] = tickdatahighlow.abnormal_recommendation_note
cur[col_base['特殊異常證券註記']] = tickdatahighlow.special_abnormal_security_note
cur[col_base['可現股當沖註記']] = tickdatahighlow.day_trading_note
cur[col_base['豁免平盤下融券賣出註記']] = tickdatahighlow.exempt_short_selling_note
cur[col_base['豁免平盤下借券賣出註記']] = tickdatahighlow.exempt_borrowing_short_selling_note
cur[col_base['搓合循環秒數']] = tickdatahighlow.matching_cycle_seconds
cur[col_base['交易單位']] = tickdatahighlow.trading_unit
cur[col_base['交易幣別代號']] = tickdatahighlow.trading_currency_code
with fig_base.batch_update():
fig_base.data[0].cells.values = cur
def on_tick_data_open_close(tickdataopen: TickDataOpenClose):
cur = list(fig_open.data[0].cells.values)
cur[col_open['開盤價格']] = tickdataopen.open_price
cur[col_open['最高成交價格']] = tickdataopen.high_price
cur[col_open['最低成交價格']] = tickdataopen.low_price
cur[col_open['最近成交價']] = tickdataopen.last_trade_price
cur[col_open['累計成交量']] = tickdataopen.cumulative_volume
cur[col_open['時間']] = tickdataopen.time
with fig_open.batch_update():
fig_open.data[0].cells.values = cur
#訂閱接收事件
api.squote.on_tick_data = on_tick_data
api.squote.on_base_data = on_base_data
api.squote.on_tick_data_open_close = on_tick_data_open_close
subok,msg=api.squote.sub_stock('2330')
print(f'註冊結果 {subok} {msg}')
display(fig_match)
display(fig_bs5)
display(fig_base)
display(fig_open)
unsub_ok,msg=api.squote.unsub_stock('2330')
print(f'反註冊結果 {unsub_ok} {msg}')
def on_otc_tick_data(tickdatatrade: TickData):
if tickdatatrade.trade_volume>0 :
cur = list(fig_match.data[0].cells.values)
cur[col_match['成交時間']] = tickdatatrade.match_time
cur[col_match['成交價']] = tickdatatrade.trade_price
cur[col_match['成交量']] = tickdatatrade.trade_volume
with fig_match.batch_update():
fig_match.data[0].cells.values = cur
if tickdatatrade.best_bid_volume_1>0 :
cur = list(fig_bs5.data[0].cells.values)
cur[col_bs5['買價1']] = tickdatatrade.best_bid_price_1
cur[col_bs5['買量1']] = tickdatatrade.best_bid_volume_1
cur[col_bs5['買價2']] = tickdatatrade.best_bid_price_2
cur[col_bs5['買量2']] = tickdatatrade.best_bid_volume_2
cur[col_bs5['買價3']] = tickdatatrade.best_bid_price_3
cur[col_bs5['買量3']] = tickdatatrade.best_bid_volume_3
cur[col_bs5['買價4']] = tickdatatrade.best_bid_price_4
cur[col_bs5['買量4']] = tickdatatrade.best_bid_volume_4
cur[col_bs5['買價5']] = tickdatatrade.best_bid_price_5
cur[col_bs5['買量5']] = tickdatatrade.best_bid_volume_5
cur[col_bs5['賣價1']] = tickdatatrade.best_ask_price_1
cur[col_bs5['賣量1']] = tickdatatrade.best_ask_volume_1
cur[col_bs5['賣價2']] = tickdatatrade.best_ask_price_2
cur[col_bs5['賣量2']] = tickdatatrade.best_ask_volume_2
cur[col_bs5['賣價3']] = tickdatatrade.best_ask_price_3
cur[col_bs5['賣量3']] = tickdatatrade.best_ask_volume_3
cur[col_bs5['賣價4']] = tickdatatrade.best_ask_price_4
cur[col_bs5['賣量4']] = tickdatatrade.best_ask_volume_4
cur[col_bs5['賣價5']] = tickdatatrade.best_ask_price_5
cur[col_bs5['賣量5']] = tickdatatrade.best_ask_volume_5
with fig_bs5.batch_update():
fig_bs5.data[0].cells.values = cur
def on_otc_base_data(basedata: OTCBaseData):
cur = list(fig_base.data[0].cells.values)
cur[col_base['股票代號']] = tickdatahighlow.stock_code
cur[col_base['商品名稱']] = tickdatahighlow.product_name
cur[col_base['產業別']] = tickdatahighlow.industry
cur[col_base['證券別']] = tickdatahighlow.security_type
cur[col_base['股票異常代碼']] = tickdatahighlow.stock_abnormal_code
cur[col_base['參考價']] = tickdatahighlow.reference_price
cur[col_base['漲停價']] = tickdatahighlow.upper_limit_price
cur[col_base['跌停價']] = tickdatahighlow.lower_limit_price
cur[col_base['非10元面額']] = tickdatahighlow.non_10_denomination
cur[col_base['異常推介個股註記']] = tickdatahighlow.abnormal_recommendation_note
cur[col_base['特殊異常證券註記']] = tickdatahighlow.special_abnormal_security_note
cur[col_base['可現股當沖註記']] = tickdatahighlow.day_trading_note
cur[col_base['豁免平盤下融券賣出註記']] = tickdatahighlow.exempt_short_selling_note
cur[col_base['豁免平盤下借券賣出註記']] = tickdatahighlow.exempt_borrowing_short_selling_note
cur[col_base['搓合循環秒數']] = tickdatahighlow.matching_cycle_seconds
cur[col_base['外國股票識別碼']] = tickdatahighlow.foreign_stock_identifier
cur[col_base['交易單位']] = tickdatahighlow.trading_unit
cur[col_base['交易幣別代號']] = tickdatahighlow.trading_currency_code
with fig_base.batch_update():
fig_base.data[0].cells.values = cur
def on_otc_tick_data_open_close(tickdataopen: TickDataOpenClose):
cur = list(fig_open.data[0].cells.values)
cur[col_open['開盤價格']] = tickdataopen.open_price
cur[col_open['最高成交價格']] = tickdataopen.high_price
cur[col_open['最低成交價格']] = tickdataopen.low_price
cur[col_open['最近成交價']] = tickdataopen.last_trade_price
cur[col_open['累計成交量']] = tickdataopen.cumulative_volume
cur[col_open['時間']] = tickdataopen.time
with fig_open.batch_update():
fig_open.data[0].cells.values = cur
#訂閱接收事件
api.squote.on_otc_tick_data = on_otc_tick_data
api.squote.on_otc_base_data = on_otc_base_data
api.squote.on_otc_tick_data_open_close = on_otc_tick_data_open_close
subok,msg=api.squote.sub_otc('5483')
print(f'註冊結果 {subok} {msg}')
display(fig_match)
display(fig_bs5)
display(fig_base)
display(fig_open)
unsub_ok,msg=api.squote.unsub_otc('5483')
print(f'反註冊結果 {unsub_ok} {msg}')
臺股指數 IX0001 臺灣50指數 TW50 臺灣中型100指數 TWMC 臺灣資訊科技指數 TWIT 臺灣發達指數 TWEI 臺灣高股息指數 TWDP 臺灣就業99指數 EMP99 臺灣公司治理100指數 CG100 寶島股價指數 FRMSA 臺灣高薪100指數 HC100 電子類兩倍槓桿指數 EDRL2 電子類反向指數 EDRIN 臺指日報酬兩倍指數 TTDRL2 臺指反向一倍指數 TTDRIN 小型股300指數 SC300 金融類日報酬兩倍指數 FDRL2 金融類日報酬反向一倍指數 FDRIN 漲升股利150指數 DVA150 漲升股利100指數 DVA100 藍籌30指數 BC30 工業菁英30指數 INE30 電子菁英30指數 ITE30 低波動精選30指數 LV30 低貝塔100指數 LB100 藍籌30反向一倍指數 BC30-1 中小型精選50指數 SMC50 中小型A級動能50指數 SAM50 臺灣永續指數 F4GTTE 股利150報酬指數 IR0091 電子菁英30報酬指數 IR0095 存股雙十等權重報酬指數 IR0112 特選大蘋果報酬指數 IR0113 中小型300報酬指數 IR0114 特股高息20報酬指數 IR0115 臺灣500報酬指數 IR0116 特選外資豐擁50報酬指數 IR0117 臺灣生技指數 IX0103 特選高息低波指數 IX0104 工業菁英30反向一倍指數 IX0106 特選內需高收益指數 IX0107 臺灣中小型公司治理指數 IX0108 臺灣IPO指數 IX0109 價值投資指數 IX0110 中小型300指數 IX0114 |
def on_index_data(indexdata: IndexData):
cur = list(fig_idx.data[0].cells.values)
cur[col_idx['指數代號']] = indexdata.index_code
cur[col_idx['指數時間']] = indexdata.index_time
cur[col_idx['最新指數']] = indexdata.latest_index
with fig_idx.batch_update():
fig_idx.data[0].cells.values = cur
#訂閱接收事件
api.squote.on_index_data = on_index_data
subok,msg=api.squote.sub_index('IX0001')
print(f'註冊結果 {subok} {msg}')
display(fig_idx)
unsub_ok,msg=api.squote.unsub_index('IX0001')
print(f'反註冊結果 {unsub_ok} {msg}')
櫃買指數:IX0043 富櫃五十指數:GTSM50 指標公債指數:TWTBI 線上遊戲業指數:GAME 高殖利率指數:GTHD 勞工就業88指數:EMP88 櫃買薪酬指數:GTCI 櫃買公司治理指數:TPCGI 富櫃200報酬指數:IR0118 臺灣生技指數:IX0103 臺灣中小型公司治理指數:IX0108 臺灣IPO指數:IX0109 富櫃200指數:IX0118
def on_otc_index_data(indexdata: IndexData):
cur = list(fig_idx.data[0].cells.values)
cur[col_idx['指數代號']] = indexdata.index_code
cur[col_idx['指數時間']] = indexdata.index_time
cur[col_idx['最新指數']] = indexdata.latest_index
with fig_idx.batch_update():
fig_idx.data[0].cells.values = cur
#訂閱接收事件
api.squote.on_otc_index_data = on_otc_index_data
subok,msg=api.squote.sub_otc_index('IX0043')
print(f'註冊結果 {subok} {msg}')
display(fig_idx)
unsub_ok,msg=api.squote.unsub_index('IX0043')
print(f'反註冊結果 {unsub_ok} {msg}')