在之前的多篇文章中,我以自己的日常实操经验为例,为大家介绍了如何选择免费好用的量化工具,如何免费快速获取量化分析高质量数据等量化分析实用知识。
而今天的文章中,我将以我一直在用的免费量化利器QMT为例,为大家介绍如何通过Python
实现连接到账户、查询账户基础信息等操作。
QMT线上免费开通教程见本文末尾
在本机miniqmt客户端已启动的前提下,我们首先需要编写相关代码来连接到账户,其中的miniqmt_path
请替换为你本机上的miniqmt
对应位置:
# 导入交易模块
from xtquant.xttrader import XtQuantTrader
# 指定本地miniqmt客户端路径
miniqmt_path = r'D:\国金证券QMT交易端\userdata_mini'
# 会话id,个人使用随意设置即可
session_id = 123456
# 实例化交易连接对象
trader = XtQuantTrader(miniqmt_path, session_id)
针对交易连接实例trader
,我们可以测试一下是否成功连接,执行下列代码,像我一样返回值为0
则表示连接成功:
# 启动交易线程
trader.start()
# 查看连接状态,0表示连接成功
trader.connect()
通过上面的过程,我们搞定了与本机miniqmt
的连接,作为各种量化交易操作的对象,我们接下来需要进行账户对象的实例化,参考下面的代码:
# 导入账户模块
from xtquant.xttype import StockAccount
# 实例化账户对象
account = StockAccount('填写你的股票资金账号')
有了前面已经实例化的交易连接对象和账户对象,接下来我们就可以配合它们进行对应资金账户信息的查询,下面我们举一些常用的例子:
asset_info = trader.query_stock_asset(account)
print(f'总资产:{asset_info.total_asset}')
print(f'可用金额:{asset_info.cash}')
print(f'持仓市值:{asset_info.market_value}')
查询结果示例:
import pandas as pd
positions_info = trader.query_stock_positions(account)
print(f'最新持仓标的数量:{len(positions_info)}')
print('具体持仓信息:')
pd.DataFrame(
[
{
'证券代码': position.stock_code,
'持仓数量': position.volume,
'可用数量': position.can_use_volume
}
for position in positions_info
]
)
查询结果示例:
orders_info = trader.query_stock_orders(account)
print(f'当日委托单数量:{len(orders_info)}')
print('具体委托单信息:')
pd.DataFrame(
[
{
'股票代码': order.stock_code,
'委托量': order.order_volume,
'委托价': order.price
}
for order in orders_info
]
)
查询结果示例:
trades_info = trader.query_stock_trades(account)
print(f'当日成交单数量:{len(trades_info)}')
print('具体成交单信息:')
pd.DataFrame(
[
{
'股票代码': trade.stock_code,
'交易量': trade.traded_volume,
'成交价': trade.traded_price
}
for trade in trades_info
]
)
查询结果示例:
通过上面的内容,我们学习到如何通过xtquant
与本机运行中的miniqmt
客户端建立连接,并且展示了如何对目标账户基础信息进行查询,对基于Python
进行量化分析、程序化自动交易感兴趣的朋友,欢迎持续关注我们,更多干货教程持续更新😉~
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有