登录QMT
必须是极简模式,也叫miniQMT,独立交易模式。

代码

<pre class="public-DraftStyleDefault-pre" data-offset-key="2q57q-0-0"><pre class="Editable-styled" data-block="true" data-editor="8mn5g" data-offset-key="2q57q-0-0"><div data-offset-key="2q57q-0-0" class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr"><span data-offset-key="2q57q-0-0"><span data-text="true">#导入
from qmt_trader.qmt_trader import qmt_trader
设置路径
trader=qmt_trader(path= r'D:/国金QMT交易端模拟/userdata_mini',
account='55009640',
account_type = 'STOCK')
链接
trader.connect()
打印持股
df=trader.position()
print(df)
</span></span></div></pre></pre>
输出效果

<pre class="public-DraftStyleDefault-pre" data-offset-key="8ljbc-0-0"><pre class="Editable-styled" data-block="true" data-editor="8mn5g" data-offset-key="8ljbc-0-0"><div data-offset-key="8ljbc-0-0" class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr"><span data-offset-key="8ljbc-0-0"><span data-text="true">链接qmt
0
持仓数量: 263
账号类型 资金账号 证券代码 证券代码1 股票余额 可用余额 成本价 参考成本价 市值 冻结数量
0 2 55002767 110083 110083.SH 200 200 168.239 168.239 34221.0 0
1 2 55002767 113030 113030.SH 400 400 114.950 114.950 45456.0 0
2 2 55002767 113055 113055.SH 600 600 129.530 129.530 77810.4 600
3 2 55002767 113526 113526.SH 400 400 104.803 104.803 41823.2 0
4 2 55002767 113527 113527.SH 400 400 114.158 114.158 45440.4 0
.. ... ... ... ... ... ... ... ... ... ...
258 2 55002767 301499 301499.SZ 0 0 NaN NaN 0.0 0
259 2 55002767 301508 301508.SZ 1300 1300 38.419 38.419 48022.0 0
260 2 55002767 301509 301509.SZ 1600 1600 30.507 30.507 50192.0 0
261 2 55002767 301511 301511.SZ 3300 3300 15.034 15.034 50127.0 0
262 2 55002767 301528 301528.SZ 500 500 43.070 43.070 21175.0 0
[263 rows x 10 columns]</span></span></div></pre></pre>
底层代码
<pre class="public-DraftStyleDefault-pre" data-offset-key="6ltn5-0-0"><pre class="Editable-styled" data-block="true" data-editor="8mn5g" data-offset-key="6ltn5-0-0"><div data-offset-key="6ltn5-0-0" class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr"><span data-offset-key="6ltn5-0-0"><span data-text="true">def position(self):
'''
对接同花顺
持股
'''
try:
positions = self.xt_trader.query_stock_positions(self.acc)
print("持仓数量:", len(positions))
data=pd.DataFrame()
if len(positions) != 0:
for i in range(len(positions)):
df=pd.DataFrame()
df['账号类型']=[positions[i].account_type]
df['资金账号']=[positions[i].account_id]
df['证券代码']=[positions[i].stock_code]
df['证券代码1']=[positions[i].stock_code]
df['证券代码']=df['证券代码'].apply(lambda x:str(x)[:6])
df['股票余额']=[positions[i].volume]
df['可用余额']=[positions[i].can_use_volume]
df['成本价']=[positions[i].open_price]
df['参考成本价']=[positions[i].open_price]
df['市值']=[positions[i].market_value]
df['冻结数量']=[positions[i].frozen_volume]
data=pd.concat([data,df],ignore_index=True)
return data
else:
df=pd.DataFrame()
df['账号类型']=None
df['资金账号']=None
df['证券代码']=None
df['股票余额']=None
df['可用余额']=None
df['成本价']=None
df['市值']=None
df['选择']=None
df['持股天数']=None
df['交易状态']=None
df['明细']=None
df['证券名称']=None
df['冻结数量']=None
df['市价']=None
df['盈亏']=None
df['盈亏比(%)']=None
df['当日买入']=None
df['当日卖出']=None
return df
except:
df=pd.DataFrame()
return df</span></span></div></pre></pre>
源代码+模型获取、QMT开通、使用答疑、策略分享,评论区留言,或私信找我。 |