
xtquant是什么来头
做过A股量化的人多半听过迅投的QMT,xtquant就是迅投官方推出的Python库,作用是把QMT终端和你的策略代码连起来。它不直接连交易所,而是搭在券商提供的miniQMT通道上,行情和交易指令都走这条线。很多人把它当成“免费版Wind”来用,这个理解有偏差。xtquant本身不收费,但背后需要券商给你开miniQMT权限,而券商开这个权限通常有资金门槛。
实时行情到底免不免费
先说结论:xtquant库本身免费,但获取实时行情的前提是你已经具备miniQMT权限。这个权限在多数券商是绑定在QMT终端上的,个人投资者只要资金量达标(常见门槛是50万,部分券商可谈),签完协议就能用。行情数据通过xtquant的xtdata模块调取,A股Level-1实时行情完全免费,包含沪深两市个股、指数、ETF的tick和分钟线。Level-2逐笔委托和逐笔成交则要看券商是否赠送,多数券商不免费提供,需要额外付费或满足更高资产要求。

期货方面情况复杂一些。xtquant的行情接口设计以股票为主,期货合约的实时行情支持取决于你所用券商的QMT通道是否接入了期货柜台。大部分券商QMT只对接自家股票交易柜台,期货数据需要走期货公司的CTP通道,xtquant并不直接覆盖。有些用户通过xtdata.download_history_data能拉到期货历史K线,但实时tick推送在标准券商通道里往往拿不到。想做期货量化,xtquant不是首选,更稳妥的是用期货公司提供的CTP接口配合vnpy这类框架。
怎么拿到免费实时行情
路径很清晰:找一家支持miniQMT的券商开户,确认两点——第一,miniQMT权限是否对个人开放,门槛多少;第二,xtdata模块的实时行情推送是否包含在你开通的服务里。开户后安装QMT终端,用券商给的账号登录,再在Python环境里pip install xtquant,就能通过xtdata.subscribe_quote订阅实时行情。整个过程不向迅投付一分钱,成本只体现在券商那边的资金门槛上。有些券商要求日均资产50万,有些30万即可,开户前问清楚客户经理。
实战中要注意一个细节:xtquant的实时行情是快照式推送,默认3秒一笔,不是逐笔。高频策略用这个频率不够,但日内的趋势跟踪、网格、轮动策略完全够用。想拿逐笔数据得走Level-2通道,费用另算。另外xtdata.get_market_data拉历史数据是免费的,不受权限限制,回测阶段可以先跑起来,实盘再考虑开通实时权限。
期货玩家要留个心眼
期货实时行情用xtquant不是不能碰,是坑比较多。标准券商QMT通道里期货合约代码和股票混在一起,行情字段对齐程度差,夜盘时段推送稳定性也看券商机房。真要做期货,更靠谱的路线是期货公司开户拿CTP接口,行情走ctp-api或vnpy_ctp,逐笔推送免费且稳定。xtquant在期货场景更多是辅助——用它的历史数据接口做回测,实盘信号执行放到CTP那边。两套系统拆开跑,比硬用xtquant啃期货实时要顺当。
普通人的低成本方案
资金量不够50万开不了miniQMT,又想蹭免费实时行情,有几条退路。一是用akshare或tushare的免费接口拉分钟级数据,延迟大但够做低频策略;二是找支持“模拟miniQMT”的券商,部分券商对模拟盘不设资金门槛,行情推送和实盘一致,只是交易走模拟;三是关注迅投社区,xtquant的行情接口在投研版里有时会放开部分权限,适合学习验证。实盘资金不够之前,用模拟通道把策略逻辑跑通,等资金到位再切实盘,这条路子成本最低。
xtquant免费获取实时行情这件事,核心不在库,在券商权限。股票端只要过了券商门槛,实时行情确实免费;期货端别指望它一家包圆,该用CTP就用CTP。搞清楚这条边界,能省下不少试错时间。