回测 Backtesting
如果说投资策略是一辆赛车,那么 回测(Backtesting) 就是在它真正驶上赛道之前的风洞测试和模拟跑圈。在量化交易的世界里,没有任何一个策略可以在未经回测的情况下直接实盘——那是对资本极不负责任的赌博。
回测的核心逻辑是:如果一个策略的逻辑是成立的,那么它在过去的市场环境中也应该能赚到钱。 虽然过去不代表未来,但过去是我们在面对未知未来时,唯一可以参考的坐标系。
01穿越时空的实验
回测本质上是一场穿越时空的思想实验。我们将编写好的交易规则放入历史的时间轴中,假设自己在 5 年前、10 年前就开始运行这个策略:
- 2008 年金融危机时,它会爆仓吗?
- 2015 年 A 股熔断时,它能逃顶吗?
- 2020 年疫情熔断时,它能抄底吗?
通过回测,我们可以得到一系列关键指标: 夏普比率(Sharpe Ratio)、最大回撤(Max Drawdown)、胜率(Win Rate) 等。这些指标构成了策略的“体检报告”。
02这个世界最大的谎言:过拟合
回测中最可怕的陷阱叫做 “过拟合”(Overfitting)。 很多新手会不断调整参数,直到曲线变得完美无缺。比如:“当均线是 13.5 日时买入,RSI 指标是 28 时卖出……”。你看,这样改完后,过去 3 年的收益率高达 500%!
但这毫无意义。这就像是你在看过昨天的彩票开奖号码后,宣称自己发明了一套必中的选号算法。你只是“记住”了历史,而不是“发现”了规律。
真正的回测需要严格区分 样本内(In-Sample) 和 样本外(Out-of-Sample) 数据。我们在前半段数据上训练策略,在后半段完全没见过的数据上测试它。如果两者表现一致,我们才说这个策略可能具有鲁棒性。
03滑点与冲击成本
另外一个让回测失真的因素是忽略了交易摩擦。 在 Excel 表格里,你总能以收盘价精准成交。但在真实市场中:
- 滑点(Slippage):你想买如 100 块,实际可能成交在 100.2 块。
- 冲击成本:当你的资金量大到一定程度,你的一笔买单本身就会把价格推高。
专业的量化回测引擎(如 Toloris 的回测系统)会模拟这些微观层面的摩擦,给你一个打过折扣的、但更接近真实的收益率。
结语
回测不是为了证明策略有多赚钱,而是为了证明策略在什么情况下会亏钱。 当你清楚地知道策略的死穴在哪里(是震荡市磨损?还是单边暴跌?),你才能在未来的风暴中握紧方向盘。回测不能预测未来,但它能赐予我在不确定性中获胜的信心。
"历史不会简单重复,但总是押着相同的韵脚。"
展开
- 1历史数据的模拟验证
- 2样本内与样本外测试
- 3避免“过拟合”陷阱