最好的策略是无聊的 · the best strategy is boring
复杂策略回测好看,但有三个回测里看不到、实盘里致命的代价:
参数越多,越容易拟合历史噪声。复杂策略 20 个参数,简单策略 2 个——前者过拟合概率高一个量级。
复杂策略通常高换手,年换手 200 次 vs 简单 20 次。每次 0.1% 成本,年差 18%。
复杂策略要持续调参、监控、修 bug。简单策略"设置好就忘"。维护成本是隐性人力成本。
复杂策略假设多,假设一旦失效(如相关性飙升)就崩。简单策略假设少,反而抗造。
所以实盘里,复杂策略回测夏普 3.0 常常掉到 1.0 以下,简单策略 1.5 还能保持 1.2。回测夏普会骗人,实盘夏普不会——能稳定输出的才是真本事。
下面模拟策略复杂度(参数数量、换手率)和夏普的关系。拖动复杂度,看回测夏普怎么随复杂度虚高、实盘夏普怎么先涨后崩。找到那个"实盘夏普最高"的甜点——通常在简单到中等之间。
"无聊"不是"差",是"简单到让你觉得没意思"。无聊策略有几个特征:
反面例子:过度工程。为了把回测夏普从 1.5 提到 3.0,加 5 个过滤器、3 个动态仓位、2 个市场状态判断——回测好看,实盘每个组件都可能失效。奥卡姆剃刀:能用简单解释的,别用复杂。策略也一样。