獲取qmt賬號的持倉情況后,我們進入下一步,如何獲得當前賬號的委托狀況
還是之前的步驟,打開qmt,選擇獨立交易,
之后使用pycharm,編寫py文件
導入包:
from xtquant import xtdata
from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
from xtquant.xttype import StockAccount
import time, datetime, traceback, sys
import pandas as pd
連接miniqmt:
path = r'C:\國金QMT交易端模擬\userdata_mini'
# QMT賬號
account = '55003243'
# 取賬號信息
session_id = int(time.time())
xt_trader = XtQuantTrader(path, session_id)
acc = StockAccount(account, 'STOCK')
# 啟動交易線程
xt_trader.start()
# 建立交易連接,返回0表示連接成功
connect_result = xt_trader.connect()
print('建立交易連接,返回0表示連接成功', connect_result)
# 對交易回調進行訂閱,訂閱后可以收到交易主推,返回0表示訂閱成功
subscribe_result = xt_trader.subscribe(acc)
print('對交易回調進行訂閱,訂閱后可以收到交易主推,返回0表示訂閱成功', subscribe_result)
獲取當前賬戶委托情況:
#查詢委托
orders = xt_trader.query_stock_orders(acc)
print("委托數量", len(orders))
data2 = pd.DataFrame()
if len(orders) != 0:for i in range(len(orders)):df = pd.DataFrame()df['賬號類型'] = [orders[i].account_type]df['資金賬號'] = [orders[i].account_id]df['證券代碼'] = [orders[i].stock_code]df['證券代碼'] = df['證券代碼'].apply(lambda x: str(x)[:6])df['訂單編號'] = [orders[i].order_id]df['柜臺合同編號'] = [orders[i].order_sysid]df['報單時間'] = [orders[i].order_time]df['委托類型'] = [orders[i].order_type]df['委托數量'] = [orders[i].order_volume]df['報價類型'] = [orders[i].price_type]df['委托價格'] = [orders[i].price]df['成交數量'] = [orders[i].traded_volume]df['成交均價'] = [orders[i].traded_price]df['委托狀態'] = [orders[i].order_status]df['委托狀態描述'] = [orders[i].status_msg]df['策略名稱'] = [orders[i].strategy_name]df['委托備注'] = [orders[i].order_remark]data2 = pd.concat([data2, df], ignore_index=True)
print('委托',data2)
實際持倉情況
基本上,賬戶的基本信息獲取流程相關課程已經全部完畢。
接下來,就開始獲取股票數據,財務數據,量價數據。