凌晨的城市像一条安静的河。一世把窗开到只留一条缝,凉意贴着皮肤滑过。他没有开交易软件,而是打开了一个空白表格。张三说:“今天不上战场,去修兵法。我们做你人生里第一份可复现的回测报告。”
“回测不就看过去的线嘛?”一世挠头。
“很多人以为回测是证实自己是神,我告诉你,回测是承认自己是人。”张三在白板写下三个大字:真——简——稳。
一、真:数据要真,规则要真
“真数据:”
避免幸存者偏差:你研究的标的是现在还活着的,还是把死掉的都删了?把退市\/下线\/改名的样本也纳入。
避免前视偏差:不能用当时看不到的信息,比如“后来证实的牛市起点”。回测时,每根K线只拥有它当下的历史。
交易成本:滑点、手续费、资金费率(若用合约做参考)全部入账,否则收益只是童话。
“真规则:”
你的入场、止损、加仓、止盈、弃做条件必须提前写死;
不根据结果回填逻辑,不做“看涨了就说是趋势策略,看跌了就说是回撤策略”的后见之明。
二、简:变量越少,越可复制
张三丢给一世一个极简框架:“突破回踩·现货·R=1%”,只允许四个参数:
突破判定:过去N根均线\/高点上破并放量(量>近m根均量x系数);
回踩确认:回踩至突破带,收盘不破且缩量;
止损:逻辑失败位?缓冲(AtRx系数0.8–1.2);
止盈:目标位兑现一半(前高\/密集成交区),余下采用“近三根低点”追踪。
“其余一律不许动。”张三说,“把复杂留给未来,把一致性交给现在。”
三、稳:指标不为迷人而生,为活下去而生
“很多人只盯年化、总收益,忽略回撤与卡玛比\/索提诺。普通交易员要的不是‘有时很英雄’,而是大部分时候不死。”
张三划出四个核心指标:
最大回撤(mdd):从峰值到谷值的最大跌幅;
盈亏比与胜率:二者组合决定期望;
卡玛比:年化收益\/最大回撤(越高越好,>1开始像样);
连续亏损笔数:心理承受上限(你能扛几次?1R?)。
四、样本:少于100笔,一切谈不上稳定
“你现在有不到40笔交易记录,”张三说,“我们要把纸上回测补到100笔。”
“能不能只看牛市数据?”一世试探。
“不许。熊牛震荡都要有。策略是用来走一年的,不是只走一个月。”张三打开数据集,拉出过去三年的区间:牛、熊、震荡各占约三分之一。
五、流程:把“神秘策略”拆成5步
数据准备:四所同步K线(以执行所为准),去除明显坏数据;
信号生成:按“突破判定+回踩确认”生成仅多头信号(现货版);
执行仿真:分批40\/30\/30,止损逻辑位?缓冲;
退出规则:目标位兑现+追踪止损,二选一或组合;
费用与滑点:每笔入账,波动期适当增加滑点假设。
“一世,你来按这个跑三十笔试算。”
他照做,发现牛市段胜率超过55%,盈亏比约2.3R;震荡段胜率降至42%,盈亏比1.6R;熊市段胜率38%,但盈亏比依旧>1.5R,整体仍有正期望。
“关键在于你不做反趋势的硬碰硬,而是在熊市段更严格过滤。”张三点评。
六、坏消息:漂亮的收益,被两处“坑”吃掉
一世把初算结果套入费用,发现两处地方把收益拉低:
假突破密集时段,重复触发导致小亏频繁;
高波动窗口,滑点上升,盈亏比被压扁。
“这不是失败,这是回测给你的礼物。”张三让他设计两道阈值:
形态复测阈值:最近K小时内假突破≥x次→本时段弃做;
波动阈值:AtR\/价差超过历史分位数Y%→降仓或跳过。
再次跑表,mdd从?12R降至?8R,卡玛比提升近一倍。
七、心理样本:最难的是穿过“连续亏损”的黑隧道
“回测告诉你,最长连续亏损可能是7次?1R。”张三说,“你要写一张心理Sop:
连亏≥3R:当日强制停机;
连亏≥5R:休市两天,只复盘;
连亏=7R:回读Sop与样本,降回最初参数,从小仓重启。”
“一世,你能扛7次吗?”
“不会舒服,但至少早知道。”他笑了笑,“比‘以为自己不会错’诚实。”
八、把回测写成“人话”
《回测摘要·V1》:
适用市场:趋势与弱震荡;
禁做时段:假突破密集\/高波动窗口\/重大数据前后;
参数:N=20、m=20、放量系数=1.3、AtR缓冲=0.8;
风控:R=1%,分批40\/30\/30,止损逻辑位?缓冲;
退出:目标位先锁,余下追踪;
期望:胜率约46%–52%,盈亏比1.8–2.4R,年化(纸测)≈__;
mdd:?8R(优化后);
连续亏损:最大7;
卡玛比:≈__;
注意:回测≠承诺,实盘用半仓参数起步,逐步验证。
爽点不在收益曲线,而在你第一次把“我感觉不错的策略”变成“我知道它何时不做”。
张三最后写下:
“回测是一面镜子,不是化妆台。”
一世关上电脑,心里很稳。他知道自己不是神,但他可重复。
章末·课后小抄
真\/简\/稳:真数据真规则;变量越少越可复制;指标重回撤与连续亏损。
100笔样本:牛\/熊\/震荡都要有;少于100笔不谈稳定。
两道阈值:假突破密集→弃做;高波动→降仓\/跳过。
心理Sop:连亏3R停机、5R休市、7R重启。
可执行表·回测到实盘迁移卡
数据区间:–(牛\/熊\/震荡各占__%)
参数:N__ m__ 放量系数__ AtR系数__
费用假设:手续费__ 滑点__ 资金费率__(参考)
阈值:假突破≥__次\/h弃做□;AtR\/价差分位≥%降仓□
期望:胜率__% 盈亏比__R 年化__ mdd__R 卡玛比__ 连亏max__
实盘迁移:首月半仓□ R=1%□ 日内≤2笔□
复盘更新:参数__;Sop修订点__