操作功能前請先登入

詳細功能請參考API Reference/daccount

Open In Colab

下載範例

保證金查詢

使用 daccount.get_margin 方法查詢指定帳號的保證金。這個方法需要兩個參數:帳號和幣別。

執行查詢後,會回傳一個 DMarginResponse 物件,其中包含查詢的結果。

如果 ok == True,表示查詢成功,回傳的保證金資料可以從 data 中取得,其欄位請參考 DMargin

## 保證金查詢範例
actno = '使用帳號'# 使用帳號 
#查詢保證金
response = unitrade.daccount.get_margin(actno, 'NTT')
#回傳範例:
# DMarginResponse(ok=True, error='', data=
# DMargin(total_count=1,\\總筆數
# current_count=1,\\現在筆數
# network_id='A00009z103', \\網路序號
# company='F008000',\\公司別
# actno='1234567',\\帳號
# account_date='20250619',\\帳務日期
# currency='NTT',\\幣別
# exrate=1.0,\\匯率
# lctdab=216432431.0,\\昨日權益數
# ltdab=212177921.0,\\昨日餘額
# dwamt=0.0,\\存提
# osprtlos=0.0,\\期貨平倉損益
# prtlos=4254510.0,\\未沖銷期貨浮動損益
# optosprtlos=0.0,\\選擇權平倉損益
# optprtlos=14741150.0,\\選擇權未平倉損益
# tpremium=0.0,\\當日權利金支出收入
# orignfee=0.0,\\成交手續費
# ctaxamt=0.0,\\成交期交稅
# ordpremium=0.0,\\委託預扣權利金
# ctdab=216432431.0,\\權益數
# ordiamt=0.0,\\委託預扣原始保證金
# iamt=19357150.0,\\原始保證金
# mamt=15208800.0,\\維持保證金
# ordcexcess=197075281.0,\\可動用(出金) 保證金
# bpremium=25055200.0, \\買方選擇權市值
# spremium=1819050.0,\\賣方選擇權市值
# optequity=239668581.0,\\權益總值
# inirate=1118.1007,\\原始比率
# matrate=1423.0737,\\維持比率
# liquidation_ratio=1238.1398,\\清算比率
# twdoptequity=239668581.0,\\台幣權益總值
# twdinirate='1118.1',\\台幣原始比率
# twdordexcess=197075281.0,\\台幣可動用(出金)保證金
# securities_payment_amount=0.0,\\有價證券抵繳金額
# tmp1prices=0.0,\\加收保證金
# optrate=562.69,\\風險指標
# update_date='20250619',\\資料更新日期
# update_time='094552',\\資料更新時間
# securities_valuation='0', \\有價證券評價價值
# excerciseprice=0.0,\\到期履約損益
# transaction_total_quota=500000.0, \\交易總額度
# excess_margin=0.0,\\超額/追繳保證金
# data_source_type='RT',\\資料來源類別
# night_session_closing_ctdab=225141351.0,\\夜盤收盤權益數
# night_session_optrate=628.4,\\夜盤風險指標
# night_session_optequity=248414576.0,\\夜盤權利總值
# night_session_iamt=19332950.0, \\夜盤原始保證金
# night_session_mamt=15184600.0 \\夜盤維持保證金
# ))        

未平倉查詢

使用 daccount.get_unliquidation 方法查詢指定帳號的未平倉。這個方法需要兩個參數:帳號和幣別。

執行查詢後,會回傳一個 DUnliquidationResponse 物件,其中包含查詢的結果。

如果 ok == True,表示查詢成功,回傳的未平倉資料可以從 data 中取得,其欄位請參考 DUnliquidation

# 未平倉查詢範例 
response = unitrade.daccount.get_unliquidation(actno, 'NTT')
# DUnliquidationResponse(ok=True, error='', data=[
# DUnliquidation(
# total_count=32,\\總筆數
# current_count=1,\\現在筆數
# network_id='A00009z100',\\網路序號
# company='F008000',\\公司別
# actno='1234567',\\帳號
# productid='NY1G5',\\商品代碼
# bs='S',\\買賣別
# totalotqty=39,\\留倉口數
# avgmatchprice=48.4426,\\成交均價
# realprice=43.82,\\即時價
# reftotalpl=6619200.0,\\浮動損益
# ctaxamt=1507.0,\\交易稅
# commission_fee=681.0,\\手續費
# net_profit_loss=6617012.0,\\淨損益
# leg1_product_category='F',\\腳一商品類別
# leg1_product_date='202507',\\腳一商品年月
# leg1_strike_price='0',\\腳一履約價
# leg1_call_put='',\\腳一買賣權
# leg1_buy_sell='S',\\腳一買賣別
# leg1_average_price=48.4426,\\腳一成交均價
# leg2_product_category='',\\腳二商品類別
# leg2_product_date='',\\腳二商品年月
# leg2_strike_price='0',\\腳二履約價
# leg2_call_put='',\\腳二買賣權
# leg2_buy_sell='',\\腳二買賣別
# leg2_average_price=0.0,\\腳二成交均價
# product_name='元大台50 107',\\商品名稱
# leg1_productid='NY1',\\腳一商品
# leg2_productid='',\\腳二商品
# multiname='',\\複式單策略名稱
# data_source_type='RT'\\資料來源類別
#), 
# DUnliquidation(total_count=32, current_count=2, network_id='A00009z100', company='F008000', actno='1234567', productid='NYFG5', bs='S', totalotqty=42, avgmatchprice=41.4405, realprice=43.82, reftotalpl=-1127400.0, ctaxamt=336.0, commission_fee=759.0, net_profit_loss=-1128495.0, leg1_product_category='F', leg1_product_date='202507', leg1_strike_price='0', leg1_call_put='', leg1_buy_sell='S', leg1_average_price=41.4405, leg2_product_category='', leg2_product_date='', leg2_strike_price='0', leg2_call_put='', leg2_buy_sell='', leg2_average_price=0.0, product_name='元大台灣5007', leg1_productid='NYF', leg2_productid='', multiname='', data_source_type='RT'),
# ...
# ])               

即時部位查詢

使用 daccount.get_position 方法查詢指定帳號的即時部位。這個方法需要兩個參數:帳號和幣別。

執行查詢後,會回傳一個 DPositionResponse 物件,其中包含查詢的結果。

如果 ok == True,表示查詢成功,回傳的即時部位資料可以從 data 中取得,其欄位請參考 DPosition

# 即時部位查詢範例
response = unitrade.daccount.get_position(actno, 'NTT')
# DPositionResponse(ok=True, error='', data=[
#  DPosition(
# total_count=32,\\總筆數
# current_count=1,\\現在筆數
# network_id='A00009z107',\\網路序號
# company='F008000',\\公司別
# actno='1234567',\\帳號
# currency='NTT',\\幣別
# product='NY1',\\商品
# month='202507',\\月份
# call_put='',\\Call Put
# strike_price=0.0,\\履約價
# ot_qty_b=0,\\前日買進留倉
# ot_qty_s=39,\\前日賣出留倉
# noworder_qty_b=0,\\本日買進委託
# noworder_qty_s=0,\\本日賣出委託
# nowmatch_qty_b=0,\\本日買進成交
# nowmatch_qty_s=0,\\本日賣出成交
# today_close_position=0,\\本日平倉
# current_buy_open_position=0,\\目前買進留倉
# current_sell_open_position=39,\\目前賣出留倉
# combined_buy_balance=0.0,\\組合買進餘額
# combined_sell_balance=0.0,\\組合賣出餘額
# open_buy_position_average_cost=0.0,\\留倉買進平均成本
# open_sell_position_average_cost=48.4425,\\留倉賣出平均成本
# buyer_IAMT=0.0,\\買方原始保證金
# seller_IAMT=6123000.0,\\賣方原始保證金
# buyer_MAMT=0.0,\\買方維持保證金
# seller_MAMT=4719000.0,\\賣方維持保證金
# product_base_number=40000,\\商品基數
# reference_realPrice=43.82,\\參考即時價
# close_position_pnl=0.0,\\平倉損益
# product_name='元大台50 107',\\商品名稱
# buy_spread_points=0.0,\\價差點數買
# sell_spread_points=4.6225,\\價差點數賣
# floating_pnl=7211100.0,\\浮動損益
# data_source_type='RT',\\資料來源類別
# productkind='1',\\資料來源類別
# productid='NY1G5'\\商品代碼
#),
#  DPosition(total_count=32, current_count=2, network_id='A00009z107', company='F008000', actno='1234567', currency='NTT', product='NYF', month='202507', call_put='', strike_price=0.0, ot_qty_b=0, ot_qty_s=42, noworder_qty_b=0, noworder_qty_s=0, nowmatch_qty_b=0, nowmatch_qty_s=0, today_close_position=0, current_buy_open_position=0, current_sell_open_position=42, combined_buy_balance=0.0, combined_sell_balance=0.0, open_buy_position_average_cost=0.0, open_sell_position_average_cost=41.4404, buyer_IAMT=0.0, seller_IAMT=1680000.0, buyer_MAMT=0.0, seller_MAMT=1302000.0, product_base_number=10000, reference_realPrice=43.82, close_position_pnl=0.0, product_name='元大台灣5007', buy_spread_points=0.0, sell_spread_points=-2.3796, floating_pnl=-999432.0, data_source_type='RT', productkind='1', productid='NYFG5')
#  ...]) 

申請組拆功能(版本在V1.0.0.4開始提供)

使用 daccount.get_combine 方法,傳入參數帳號.方式.商品內容和口數

執行後,會回傳一個 Response 物件,回覆申請成功或失敗訊息。

response = daccount.get_combine("3","帳號7碼","TXO","202507","21000","C","S",1,"TXO","202507","21000","P","S",1)
# 組合成功範例:
# Response(ok=True, error='')
# 組合失敗範例
# Response(ok=False, error='無此組合商品')

申請買賣並存沖銷(版本在V1.0.0.4開始提供)

使用 daccount.get_net 方法查詢指定帳號

執行後,會回傳一個 Response 物件,回覆申請成功或失敗訊息。

response = daccount.get_net("帳號7碼")
# 申請成功範例:
# Response(ok=True, error='') 
# 申請失敗範例
# Response(ok=False, error='全組或全拆筆數為零')