量化交易软件miniQMT入门+编程指南+api接口!
发布时间:8小时前阅读:8
以下是一篇关于 miniQMT 的详细介绍,内容涵盖入门、编程及 API 接口等方面,字数在 1500 字以上:
miniQMT 概述
miniQMT 是迅投 QMT 量化交易平台的轻量级版本,主要面向中小资金投资者和个人量化爱好者。它剥离了 QMT 标准版中的一些图形界面、行情分析和策略研究等模块,更专注于提供行情接入与实盘交易的核心能力,可视为 QMT 的 “底层引擎”。
入门指南
- 开通条件:通常要求投资者近 20 个交易日日均金融资产≥10 万元,风险测评等级达到 C4(积极型)或 C5(激进型),且持有状态正常的 A 股证券账户,无休眠、冻结或违规记录。
- 开通流程:先对接客户经理,可通过券商 APP 在线客服申请,然后上传身份证照片、完成视频认证,部分券商需填写策略用途,接着签署《量化交易风险揭示书》,审核通过后,由客户经理提供软件下载地址,安装时建议选非 C 盘英文路径。
- 软件配置:安装好券商版 QMT 专业版后,登录时勾选 “mini 极简模式”。登录后可在软件内置知识库或工具中心找到 xtquant 安装包下载入口,将压缩包内核心文件夹复制到本地 Python 第三方库默认存放目录,也可通过 “pip install xtquant” 安装核心库。
- 功能实操:miniQMT 默认数据存储路径为 /userdata_mini/datadir。可在此进行历史行情数据下载等操作。它原生支持策略回测,无需第三方工具。回测前需设置开始时间、结束时间、回测资金等要素,然后点击回测,可查看评价指标、收益曲线等。交易时在交易界面点击新增,选择策略并设定名称后运行,运行中可实时查看总资产、可用资金及交易状态等。
编程指南
- 策略编写框架:miniQMT 基于事件驱动编程模式,主要涉及几个关键函数。如
initialize函数用于策略初始化,可在此设置交易标的、初始化全局变量等;before_trading_start函数会在盘前运行,可用于获取一些盘前数据或进行准备工作;handle_data函数是策略的核心,盘中会根据设定的频率(如日线、分钟线等)运行,可在此编写具体的交易逻辑,根据行情数据做出交易决策;after_trading_end函数在盘后运行,可用于收盘后的数据分析、记录日志等。 - 数据获取与处理:通过 xtquant 库中的 xtdata 模块获取行情数据。例如,使用
xtdata.download_history_data函数可下载历史行情数据,如 “from xtquant import xtdata; code_list = ("000001.SZ"); period = "1d"; for i in code_list: xtdata.download_history_data (i, period=period, start_time='19900101', end_time='')” 可下载平安银行的日线历史数据。获取数据后,可结合 pandas 等库进行数据处理和分析,为交易决策提供依据。 - 交易逻辑编写:以简单的均线策略为例,若上一时间点价格高出五天平均价 1%,则全仓买入;若低于五天平均价,则空仓卖出。代码如下:
python
运行
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
security = g.security
sid = g.security
# 取得过去五天的历史价格
df = get_history(5, '1d', 'close', security, fq=None, include=False)
# 取得过去五天的平均价格
average_price = round(df('close')(-5:).mean(), 3)
# 取得上一时间点价格
current_price = data(sid)('close')
# 取得当前的现金
cash = context.portfolio.cash
# 如果上一时间点价格高出五天平均价1%, 则全仓买入
if current_price > 1.01*average_price:
order_value(g.security, cash)
log.info('buy %s' % g.security)
# 如果上一时间点价格低于五天平均价, 则空仓卖出
elif current_price < average_price and get_position(security).amount > 0:
order_target(g.security, 0)
log.info('sell %s' % g.security)
- 注意事项:miniQMT 单个策略进程内部为单线程,禁止使用
time.sleep()或死循环等阻塞操作,应使用xt_trader.run_forever()等方式保持进程正常运行。同时,大 QMT 与 miniQMT 策略不兼容,两者代码结构和数据机制不同,不能混用。
API 接口介绍
miniQMT 的 API 接口主要通过 xtquant 包中的 xtdata 和 xttrader 两个模块提供。
- xtdata 模块:主要用于行情数据获取。除了前面提到的
download_history_data函数外,还可通过get_market_data_ex等函数获取实时行情数据,如 “from xtquant import xtdata; data = xtdata.get_market_data_ex (stock_list=("shturl.cc"))” 可获取沪深 300ETF 的实时行情数据。 - xttrader 模块:这是实现交易操作的关键模块,涵盖了下单、撤单、账户查询等多种功能。例如,
XtQuantTrader函数用于创建 API 实例,需指定 userdata_mini 路径和唯一不重复的 session_id;register_callback函数用于注册回调类实例,以接收主推消息,如订单状态变更、资产变动等消息;order_stock用于股票同步下单,order_stock_async用于异步下单;query_stock_asset可查询资产,query_stock_positions可查询持仓等。
总之,miniQMT 为量化交易爱好者提供了一个灵活且高效的量化交易工具,通过了解其入门知识、掌握编程方法和熟悉 API 接口,投资者可以根据自己的交易策略和需求,开发出适合自己的量化交易策略,实现自动化交易。但量化交易存在风险,在实盘交易前,一定要充分测试策略,做好风险控制。
股票/量化开户找我!股票佣金万0.854(满足条件)!无门槛国债逆回购一折 (百万分之一)!ETF佣金万0.5!优惠多多!免费量化使用量化软件QMT+miniQMT+ptrade!

温馨提示:投资有风险,选择需谨慎。
-
一家坚守19年的财商教育平台,如何重塑投资服务的“靠谱”底色
2026-06-29 13:08
-
REITs打新:⌈华泰三峡新能源REIT⌋ 和 ⌈创金合信北京国资公司REIT⌋ 本周发售!
2026-06-29 13:08
-
券商客户经理是做什么的?为什么建议你理财投资前找一位?
2026-06-29 13:08


问一问

+微信
分享该文章
