內期行情 註冊接收即時和查詢

DQuote Objects

class DQuote()

on_error

錯誤事件

on_connected

連線成功事件

on_disonnected

斷線事件

on_tick_data_trade

成交價事件..傳入物件:DTickDataTrade

on_tick_data_high_low

最高最低價事件..傳入物件:DTickDataHighLow

on_index_data

現貨價事件..傳入物件:DIndexData

on_tick_data_bid_offer

五檔事件..傳入物件:DTickDataBidOffer

on_tick_data_before_trade

試撮成交價事件..傳入物件:DTickDataBeforeTrade

on_tick_data_before_bid_offer

試撮五檔事件..傳入物件:DTickDataBeforeBidOffer

on_tick_data_open

開盤價事件..傳入物件:DTickDataOpen

on_tick_data_settle

收盤行情資料訊息含結算價及未平倉合約數事件..傳入物件:DTickDataSettle

get_current_server

def get_current_server()

目前連結主機

回傳值 str
範例
server = unitrade.dquote.get_current_server()
print(server)  # 輸出目前連結的主機 

get_server_list

def get_server_list()

透過可連結主機

回傳值 dict[Server]
型別 說明  
key str servername
value Server 主機物件
範例
server_list = unitrade.dquote.get_server_list()
for servername, server in server_list.items():
    print(f'主機名稱: {servername})

set_sever_by_name

def set_sever_by_name(servername) -> Tuple[bool, str]

透過主機名稱切換連結主機

參數
參數 型別 說明
servername str 主機名稱
回傳值 bool
型別 說明
True 切換連線成功
False 切換連線失敗
範例
success = unitrade.dquote.set_sever_by_name("xxx")
if success:
    print("連線成功")
else:
    print("連線失敗")

get_subscribe_trade_bid_offer

def get_subscribe_trade_bid_offer()

查詢已註冊成交.賣賣價量 商品

回傳值 list[str]
型別 說明
list[str] 註冊的商品代碼列表
範例
subscribed_products = unitrade.dquote.get_subscribe_trade_bid_offer()
print(subscribed_products)  # 輸出已註冊的商品代碼列表

get_subscribe_highlow

def get_subscribe_highlow()

查詢已註冊最高最低價商品代碼列表

回傳值 list[str]
型別 說明
list[str] 已註冊最高最低價商品代碼列表
範例
subscribed_highlow_products = unitrade.dquote.get_subscribe_highlow()
print(subscribed_highlow_products)
# 輸出已註冊的最高最低價商品代碼列表

get_subscribe_index_data

def get_subscribe_index_data()

查詢已註冊現貨 商品

回傳值 list[str]
型別 說明
list[str] 註冊的現貨商品代碼列表
範例
subscribed_index_products = unitrade.dquote.get_subscribe_index_data()
print(subscribed_index_products)  # 輸出已註冊的現貨商品代碼列表

get_subscribe_open

def get_subscribe_open()

查詢已註冊開盤價 商品

回傳值 list[str]
型別 說明
list[str] 註冊的開盤價商品代碼列表
範例
subscribed_open_products = unitrade.dquote.get_subscribe_open()
print(subscribed_open_products)

query_tick_data_trade

def query_tick_data_trade(productid) -> DTickDataTradeResponse

查詢最後成交價量

參數
參數 型別 說明
productid str 商品代碼
回傳值 DTickDataTradeResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DTickDataTrade 成交價量資料
範例
response = unitrade.dquote.query_tick_data_trade("TXFF5")
# DTickDataTradeResponse(ok=True, error='', data=DTickDataTrade(commodityid='TXFG5', infotime='132333276000', matchprice=21699.0, matchquantity=2, matchtotalqty=45901, matchbuycnt=31986, matchsellcnt=30551, matchtime='132333178000', matchpricedata=[], matchqtydata=[]))

query_tick_data_high_low

def query_tick_data_high_low(productid) -> DTickDataHighLowResponse

查詢最高(低)價

參數
參數 型別 說明
productid str 商品代碼
回傳值 DTickDataHighLowResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DTickDataHighLow 最高(低)價資料
範例
response = unitrade.dquote.query_tick_data_high_low("TXFG5")
# DTickDataHighLowResponse(ok=True, error='', data=DTickDataHighLow(commodityid='TXFG5', showtime='105141451000', dayhighprice=21857.0, daylowprice=21675.0))

query_tick_data_before_trade

def query_tick_data_before_trade(productid) -> DTickDataBeforeTradeResponse

查詢最後盤前成交價量

參數
參數 型別 說明
productid str 商品代碼
回傳值 DTickDataBeforeTradeResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DTickDataBeforeTrade 盤前成交價量
範例
response = unitrade.dquote.query_tick_data_before_trade("TXFG5")
# DTickDataBeforeTradeResponse(ok=True, error='', data=DTickDataBeforeTrade(commodityid='TXFG5', infotime='084455000000', matchprice=21810.0, matchquantity=125, matchtotalqty=0, matchbuycnt=0, matchsellcnt=0, matchtime='084455000000'))

query_tick_data_open

def query_tick_data_open(productid) -> DTickDataOpenResponse

查詢開盤價

參數
參數 型別 說明
productid str 商品代碼
回傳值 DTickDataOpenResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DTickDataOpen 開盤價
範例
response = unitrade.dquote.query_tick_data_open("TXFG5")
# DTickDataOpenResponse(ok=True, error='', data=DTickDataOpen(commodityid='TXFG5', opentime='084500060000', openprice=21820.0, openquantity=159))

query_index_data

def query_index_data(productid) -> DIndexDataResponse

查詢現貨成交價

參數
參數 型別 說明
productid str 商品代碼
回傳值 DIndexDataResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DIndexData 現貨成交價
範例
response = unitrade.dquote.query_index_data("TXF")
# DIndexDataResponse(ok=True, error='', data=DIndexData(index_kind='TXF', index_time='133325000000', index_value=22003.5))

query_tick_data_bid_offer

def query_tick_data_bid_offer(productid) -> DTickDataBidOfferResponse

查詢最後五檔

參數
參數 型別 說明
productid str 商品代碼
回傳值 DTickDataBidOfferResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DTickDataBidOffer 最後五檔
範例
response = unitrade.dquote.query_tick_data_bid_offer("TXFG5")
# DTickDataBidOfferResponse(ok=True, error='', data=DTickDataBidOffer(commodityid='TXFG5', bp1=21704.0, bp2=21703.0, bp3=21702.0, bp4=21701.0, bp5=21700.0, bq1=5, bq2=3, bq3=7, bq4=3, bq5=5, sp1=21706.0, sp2=21708.0, sp3=21709.0, sp4=21710.0, sp5=21711.0, sq1=4, sq2=1, sq3=3, sq4=12, sq5=16))

query_tick_data_before_bid_offer

def query_tick_data_before_bid_offer(
        productid) -> DTickDataBeforeBidOfferResponse

查詢最後盤前五檔

參數
參數 型別 說明
productid str 商品代碼
回傳值 DTickDataBeforeBidOfferResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DTickDataBeforeBidOffer 最後盤前五檔
範例
response = unitrade.dquote.query_tick_data_before_bid_offer("TXFG5")
# DTickDataBeforeBidOfferResponse(ok=True, error='', data=DTickDataBeforeBidOffer(commodityid='TXFG5', bp1=21810.0, bp2=21809.0, bp3=21808.0, bp4=21807.0, bp5=21805.0, bq1=1, bq2=5, bq3=2, bq4=3, bq5=3, sp1=21811.0, sp2=21815.0, sp3=21816.0, sp4=21819.0, sp5=21821.0, sq1=1, sq2=10, sq3=1, sq4=1, sq5=1))

query_tick_data_settle

def query_tick_data_settle(productid) -> DTickDataSettleResponse

查詢收盤行情資料訊息含結算價及未平倉合約數

參數
參數 型別 說明
productid str 商品代碼
回傳值 DTickDataSettleResponse
型別 說明  
ok bool 是否成功
error str 錯誤訊息
data DTickDataSettle 收盤行情資料訊息含結算價及未平倉合約數
範例
response = unitrade.dquote.query_tick_data_settle("TXFG5")
# DTickDataSettleResponse(ok=True, error='', data=DTickDataSettle(commodityid='TXFH5', period_high_price=23414.0, period_low_price=20375.0, daily_high_price=23406.0, daily_low_price=22977.0, open_price=23241.0, last_bid_price=22990.0, last_ask_price=22994.0, close_price=22990.0, total_bid_orders=68643, total_bid_volume=106919, total_ask_orders=66629, total_ask_volume=109130, total_trades=141625, total_trade_volume=105402, merged_bid_orders=69154, merged_bid_volume=109064, merged_ask_orders=67274, merged_ask_volume=110849, merged_volume=105411, settlement_price=22996.0, open_interest=95637, block_trade_volume=0))

subscribe_trade_bid_offer

def subscribe_trade_bid_offer(productid) -> Tuple[bool, str]

註冊成交.賣賣價量

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

unsubscribe_trade_bid_offer

def unsubscribe_trade_bid_offer(productid) -> Tuple[bool, str]

反註冊成交.賣賣價量

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

subscribe_high_low

def subscribe_high_low(productid) -> Tuple[bool, str]

註冊最高最低價

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

unsubscribe_high_low

def unsubscribe_high_low(productid) -> Tuple[bool, str]

反註冊最高最低價

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

subscribe_open

def subscribe_open(productid) -> Tuple[bool, str]

註冊開盤價

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

unsubscribe_open

def unsubscribe_open(productid) -> Tuple[bool, str]

反註冊開盤價

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

subscribe_index_data

def subscribe_index_data(kind, index) -> Tuple[bool, str]

註冊現貨價

Parameters
Name Type Description
index str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

unsubscribe_index_data

def unsubscribe_index_data(kind, index) -> Tuple[bool, str]

反註冊現貨價

Parameters
Name Type Description
index str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

subscribe_settle

def subscribe_settle(productid) -> Tuple[bool, str]

註冊收盤行情資料訊息含結算價及未平倉合約數

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

unsubscribe_settle

def unsubscribe_settle(productid) -> Tuple[bool, str]

反註收盤行情資料訊息含結算價及未平倉合約數

Parameters
Name Type Description
productid str 商品代碼
Returns
Type Description
bool 是否成功
str 錯誤訊息

get_history_bardata

def get_history_bardata(interval, startdate, enddate, productkind, productid,
                        count) -> BarDataResponse

查詢歷史K線資料

Parameters
Name Type Description
interval str D:日K、1K:分K
startdate datetime 起始日期 (格式: datetime(YYYY, MM, DD, HH, mm ,ss))
enddate datetime 結束日期 (格式: datetime(YYYY, MM, DD, HH, mm ,ss))
productkind str 商品種類 1:期貨 2:選擇權 4:期貨價差
productid str 商品代碼
count int 取得K線數量
Returns BarDataResponse
Type Description  
ok bool 是否成功
error str 錯誤訊息
data List[BarData] 歷史K線資料
範例
response = unitrade.dquote.get_history_bardata("1K", datetime(2025, 6, 10, 0, 0, 0), datetime(2025, 7, 7, 0, 0, 0), "1", "MXFG5", 2)
# BarDataResponse(ok=True, error='', data=[BarData(productId='MXFG5', productkind=None, date='20250627', time='084500', open=22199.0, high=22206.0, low=22186.0, close=22191.0, volume=1608), BarData(productId='MXFG5', productkind=None, date='20250627', time='084600', open=22191.0, high=22195.0, low=22178.0, close=22187.0, volume=761)])

close

def close()

關閉物件

Format Objects

class Format()

I020_HEAD

成交價揭示

I021_HEAD

最高最低價揭示

I022_HEAD

盤前揭示成交價揭示

I023_HEAD

定時開盤價量揭示

I060_HEAD

現貨價

I080_HEAD

委託簿揭示

I082_HEAD

盤前委託簿揭示

I072_HEAD

收盤行情資料訊息含結算價及未平倉合約數

I020

成交價揭示

I021

最高最低價揭示

I022

盤前揭示成交價揭示

I023

定時開盤價量揭示

I060

現貨價

I080

委託簿揭示

I082

盤前委託簿揭示

X010

商品基本資料訊息

X020

成交價量揭示訊息

X021

盤中最高低價揭示訊息

X060

現貨標的資訊

X080

委託簿揭示訊息

I072

收盤行情資料訊息含結算價及未平倉合約數