如何验证回测
漂亮的资金曲线什么也证明不了:只要一直试组合,总能试出一条来。业余回测和专业回测的分别不在结果,而在于为了不自欺做了什么。本模块就是这后半部分的六件工具,以及站内已经实现它们的三个页面。
TradingCalculator.Pro 团队 · 更新于 · 关于我们
开始 7 天免费试用 →你将学到
制造虚假优势的四种偏差
前视偏差:用当时还不存在的信息——拿收盘价去决定盘中的操作。幸存者偏差:只在还在挂牌的标的上测试,忽略那些已经退市的。数据窥探:试一千种组合,留下最好的那个——它之所以最好只是运气。过拟合:不断加规则,直到历史被完美拟合,噪声也一并拟合进去。四种都能产出漂亮的结果,没有一种能在市场上活下来。
样本内与样本外
留出一段历史——比如最后 30 %——参数搜索绝不碰它。等最好的规则集选定之后,在那段上只评估一次。如果你看过那段又回去调参,它就不再是样本外了:它已经变成训练的一部分。只在样本内成立的结果,是对过去的描述,不是预测。
前向滚动:真要交易会是什么样
用一整段历史拟合出来的一套参数,用到了未来的信息:一月的你并不知道十二月哪条均线会有效。前向滚动按窗口重新优化——在第一段上训练,在下一段上交易,然后往前推——这才是实盘会发生的样子。要看的数字是效率:训练期的优势有多少能在向前应用时留下来。低于 0.5 就是曲线拟合的典型特征。
对交易顺序做蒙特卡洛
你的回测只给了你一种交易顺序,而你看到的回撤取决于它们出现的次序。把同样这批交易随机重排上千次,就得到这套系统本可能产生的回撤分布。要看第 95 百分位,而不是平均值:它回答的是「我必须准备好扛住多少?」。它几乎总是比你实际经历的那一条路径糟得多。
需要多少笔交易
少于 30 笔什么也说明不了。一百笔是做决定的下限,两百笔有说服力,五百笔才算强显著。还有一个几乎没人打的折扣:相关的交易——同一段趋势、同一天、同一个板块里的好几笔——比独立样本的分量小。三百笔高度相关的交易,信息量还不如八十笔互不相关的。样本小的时候,估计胜率上五个百分点的误差,可能让算出来的凯利比例翻三倍。
按你找了多久打折
在完全随机的数据上试四十七种组合,最好的那一个也会显得不错。那是算术,不是本事。折减夏普计算的是:在一个完全没有优势的系统上,同样规模的搜索单靠运气能得到多少;然后要求你的结果超过它。这就是「我的回测赚了 40 %」和「我的回测赚了 40 %,而这比运气能给的更多」之间的分别。测试组合少于二十个时,这个修正本身就不精确:在那里通过只是迹象,不是证明。
为什么被公开的优势会失效
最干净的例子是「FOMC 会前漂移」:2015 年的一项研究记录到,美股相当一部分的风险溢价,是在美联储公告前的二十四小时内赚到的。后来把样本延长的研究发现,2015 年之后它基本消失了。并不是原来的发现是假的:是公开这件事把它套利掉了。所以历史上的优势从不保证未来的优势,也因此值得盯着你正在用的那一个——交易日志的分析会算出你系统最近的下滑是否超出运气能解释的范围。