很多刚上手 QMT 的新手,分不清回测、模拟运行、实盘运行的区别,经常直接拿实盘按钮去跑历史数据,或者回测参数设置太理想化,导致回测曲线很漂亮,一到盘中信号就完全走样。
一、回测前准备(最容易漏掉)
QMT 回测读取本地历史行情,不是在线拉取,数据缺失会直接回测异常、取不到 K 线、资金曲线不动。
打开顶部菜单【操作】→【数据管理】→【补充数据】
勾选需要回测的市场、标的,选择周期:日线、分钟线、Tick 逐笔,时间范围和你后续回测区间保持一致
复权选择:趋势类策略一般选前复权;需要精确价格、分红除权套利类策略,选择不复权
安装路径尽量全英文,不要放 C 盘,长时间回测、批量回测不容易闪退
代码第一行建议写上 #coding:gbk,避免中文注释直接报错乱码。
二、新建策略与回测基础操作
左侧策略列表,新建 Python 策略,进入策略编辑器。
QMT 回测固定两套核心函数:
init(ContextInfo):初始化,只执行一次,用来设置标的池、参数、初始变量
handlebar(ContextInfo):逐根 K 线驱动,每一根 K 线都会执行一次,信号判断、下单逻辑写在这里
编辑器右侧分两块面板:【基本信息】、【回测参数】
基本信息:策略周期、默认标的、复权方式;这里的周期,必须和代码读取行情的周期匹配
回测参数:回测起止时间、初始资金、对比基准指数、手续费、印花税、滑点、最低佣金
参数设置完成后,点击编辑器上方回测按钮,不要点运行。
【回测】:读取本地历史数据,回溯过去行情,生成绩效报告
【运行】:订阅实时行情,属于盘中模拟信号,不是历史回测
等待跑完,界面会展示净值曲线、基准对比,右侧面板输出指标:年化收益、最大回撤、夏普比率、胜率、盈亏比,同时 K 线上标记买卖 B/S 信号,下方日志打印每一笔成交、报错信息。交易明细可以右键导出,用来逐笔复盘。
三、关键参数怎么调整(贴近实盘的设置方案)
新手最容易踩坑:手续费和滑点设置为 0,回测收益虚高。
时间区间:尽量拆分两段,样本内训练 + 样本外验证。比如 2018–2023 用来调参,2024–至今不改动参数直接跑,检验策略是否过拟合。不要只拿一段上涨行情回测。
交易成本
佣金:设置你真实账户佣金水平,加上最低 5 元佣金限制
印花税:卖出单边征收,买入填 0
滑点:日线策略滑点可以设置小一点;分钟、Tick 高频策略滑点一定要调高,这是回测和实盘差距最大的地方
基准:一般选择沪深 300,用来对比策略能不能跑赢指数
仓位限制、最大下单比例:单只标的上限、总仓位上限,避免回测满仓梭哈,和实盘风控脱节
涨跌停、停牌过滤:代码里增加判断,回测时跳过无法成交的标的,不然会出现理论信号,但实际无法成交的假收益
四、回测结果怎么看,以及策略调整思路
不要只看收益率,优先看风险指标:
最大回撤:回撤过大,说明策略风控薄弱,实盘心态很难扛住,优先调整止损、仓位规则
夏普比率:衡量单位风险收益,数值越高,收益性价比越好
盈亏比、胜率:短线策略看重盈亏比,长线趋势策略可以接受偏低胜率
逐笔成交检查:打开交易清单,看盈利是不是集中在少数几笔行情上,如果收益全部来自一两波大行情,属于运气行情,稳定性很差
调整策略的正确顺序:
先改逻辑:入场、止损、止盈、过滤条件
再微调参数:均线周期、阈值、观察窗口
禁止反复在同一个历史区间不断试参数,很容易出现过拟合
过拟合典型表现:在回测区间曲线完美,换一段历史数据立刻大幅亏损。
开户找我优惠多多!选8888资金靓号!股票满足条件万0.854!ETF佣金万0.5!基金申购打一折!逆回购手续费百万分之一!10万门槛免费量化QMT+ptrade!更多优惠欢迎找我!
发布于10小时前 丽江
当前我在线
直接联系我