Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >量化交易第一步:连接账户&信息查询

量化交易第一步:连接账户&信息查询

作者头像
派大星的数据屋
发布于 2025-03-18 11:04:53
发布于 2025-03-18 11:04:53
10000
代码可运行
举报
运行总次数:0
代码可运行

在之前的多篇文章中,我以自己的日常实操经验为例,为大家介绍了如何选择免费好用的量化工具,如何免费快速获取量化分析高质量数据等量化分析实用知识。

而今天的文章中,我将以我一直在用的免费量化利器QMT为例,为大家介绍如何通过Python实现连接到账户、查询账户基础信息等操作。 QMT线上免费开通教程见本文末尾

通过Python连接到账户

在本机miniqmt客户端已启动的前提下,我们首先需要编写相关代码来连接到账户,其中的miniqmt_path请替换为你本机上的miniqmt对应位置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 导入交易模块
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则表示连接成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 启动交易线程
trader.start()

# 查看连接状态,0表示连接成功
trader.connect()

创建账户对象

通过上面的过程,我们搞定了与本机miniqmt的连接,作为各种量化交易操作的对象,我们接下来需要进行账户对象的实例化,参考下面的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 导入账户模块
from xtquant.xttype import StockAccount

# 实例化账户对象
account = StockAccount('填写你的股票资金账号')

查询账户基本信息

有了前面已经实例化的交易连接对象账户对象,接下来我们就可以配合它们进行对应资金账户信息的查询,下面我们举一些常用的例子:

账户资产查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
asset_info = trader.query_stock_asset(account)

print(f'总资产:{asset_info.total_asset}')
print(f'可用金额:{asset_info.cash}')
print(f'持仓市值:{asset_info.market_value}')

查询结果示例:

最新持仓查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
    ]
)

查询结果示例:

当日委托单查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
    ]
)

查询结果示例:

当日成交单查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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进行量化分析、程序化自动交易感兴趣的朋友,欢迎持续关注我们,更多干货教程持续更新😉~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python大数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验