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

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

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


Back to top

支援Python版本: 3.7 3.8 3.9 3.10 3.11 3.12

支援 OS: Linux, macOS, Windows