第74章 回测框架(2/2)
策略A:简单的双均线(10日/30日)交叉策略。
策略B:他之前开发的MACD+RSI结合策略。
策略C:最新的情绪指标增强模型。
初始资金都设为10万元,交易规则完全一致。
点击运行。
屏幕上代码滚动,进度条缓慢推进。林晨起身倒了杯水,站在窗前看着科技园里穿梭的人群。那些穿着格子衫的程序员,那些行色匆匆的白领,他们中有多少人也在寻找出路?
二十分钟后,运行完成。
浏览器自动弹出回测报告页面。林晨坐回椅子上,屏住呼吸看向屏幕。
资金曲线对比图上,三条线从同一起点出发,四年后走向截然不同:
策略A(双均线)的曲线在2021年之前缓慢上升,之后开始震荡,最终净值12.8万,年化收益率约6.4%。
策略B(MACD+RSI)表现好些,净值达到18.2万,年化收益率16.1%。
策略C(情绪增强模型)的曲线最漂亮——前期平稳上升,2022年市场大跌时回撤明显小于前两个策略,2023年快速修复并创新高,最终净值24.7万,年化收益率25.3%。
“漂亮”。林晨忍不住出声。
更关键的是风险指标。策略C的夏普比率2.8,最大回撤?18.7%;而策略B的夏普比率只有1.9,最大回撤?32.4%。策略A就更差了,夏普比率0.8,最大回撤?41.2%。
月度收益热力图上,策略C的绿色(正收益)月份明显多于红色。交易明细显示,策略C四年只交易了47次,平均持仓周期21天;策略B交易了112次,策略A更是高达189次。
“频率越低,质量越高”。林晨记下这个观察。
但真正让他警醒的是另一个发现。
他把回测时间缩短到最近一年(2023年),重新运行。
结果变了。
策略C的年化收益率从25.3%下降到19.8%,策略B从16.1%降到12.5%,策略A直接变成负收益。
“市场风格变了。”林晨盯着屏幕,“2020—2022年的逻辑,到2023年不完全适用。”
这就是回测的陷阱——过去表现好,不代表未来持续好。但他的框架至少能帮他看清这个陷阱,而不是美化它。
林晨又做了几个测试:更改手续费率、调整滑点设置、加入冲击成本模拟……每次更改,收益率都会下降几个百分点。
“实盘收益至少要比回测低20%。”他得出一个经验法则,“那些宣称回测年化50%、实盘也能做到的,要么是神仙,要么是骗子。”
傍晚六点,苏婉敲门叫他吃饭。
餐桌上,林晨难得地主动谈起技术细节:“我今天把回测框架写完了”。
“测试了吗”?
“测了。我的情绪模型策略,四年回测年化25%”。
苏婉眼睛一亮:“那很好啊”。
“但那是回测”。林晨夹了块排骨,“实盘能到20%就谢天谢地了。而且市场在变,策略得持续优化”。
“你已经比99%的人专业了”。苏婉认真地说,“那些凭感觉炒股的人,连回测是什么都不知道”。
林晨笑了笑,心里却清楚:专业只是门槛。在这个市场上,专业的人很多,能持续盈利的很少。
晚饭后,他回到书房,没有继续编码,而是打开了一个空白文档。
文档标题:《回测与实盘的差距分析》。
他开始系统地列出所有可能导致差距的因素:
未来函数(回测中无意使用了未来数据)
过度拟合(策略过于契合历史数据,失去泛化能力)
交易成本低估
流动性假设过于乐观
市场结构变化
黑天鹅事件
心理因素(实盘时会恐惧、贪婪、犹豫)
每写一条,他就思考如何在框架中防范或标记。
写到第十条时,窗外已是深夜。科技园的灯光依然璀璨,但林晨书房的台灯,是这片璀璨中一个安静的光点。
他保存文档,关掉电脑,走到阳台。
晚风带着鹏城湾的潮湿气息扑面而来。远处,深圳湾大桥的灯光连成一条金色的线,横跨在黑暗的海面上。
林晨想起这几个月走过的路:从被裁员时的茫然,到自学AI的挣扎,再到开发投资系统的专注。每一步都踩在现实的荆棘上,但每一步都让他更接近真相。
回测框架完成了,但这只是个开始。
真正的挑战,永远是下一个交易日、下一个决策、下一个未知。
他深吸一口气,夜风灌满胸腔。
明天,该用这个框架测试更多策略了。然后,选择一个,投入实盘。
那将是代码与现实的第一次正面交锋。