从第一篇到第六篇,「量化审计」已经走过了比最初预想更广的研究范围。

起点是一条在社交平台上流传的比特币均线策略。81 条 EMA 全部跑赢比特币,这种说法足够吸引眼球,也足够令人怀疑。随后,我们陆续接触到高 Sharpe 的 VWAP 策略、开源回测项目、标普 500 的经典均线、跨境 ETF 动量轮动,以及一项声称穿越两百年的趋势跟踪研究。

研究对象不断变化,我们关心的问题也逐渐深入。

最初,我们想知道一条漂亮的收益曲线能否复现。后来开始检查指标口径、交易记账、执行时间、策略版本,直到第六篇直接对照学术论文与现代代码实现。

六篇结束后,这个系列已经有了比较清楚的定位:审查量化主张的证据是否充分,以及公开结论究竟能够成立到什么程度。

这次回顾,主要整理第一阶段留下的判断、经验与问题。

一、六篇文章,六种不同的审计问题

001:夸张收益,未必就是假的

第一篇审计的是比特币 81 条 EMA 策略。

原作者声称,在指定历史区间内,81 条不同周期的均线策略全部跑赢比特币买入持有。

这样的结果很容易让人首先怀疑数据或回测方式。但我们按原作者条件重建测试后,确认这组历史结果可以复现。

进一步改变观察窗口,结论开始发生变化。81 条均线全部跑赢的现象明显依赖原始测试区间;在部分较近的历史窗口里,买入持有反而表现更好。

这给系列建立了第一个重要判断标准:夸张的数字可能真实,但数字真实并不意味着由它延伸出来的解释全部成立。

001 成功复现了历史结果,也明确了结果的适用边界。

002:漂亮指标,需要能够追溯

第二篇转向 BTC VWAP 回归策略。

相关材料公布了很高的 Sharpe、年化收益和很低的最大回撤,表面上是一套颇有吸引力的回测结果。

但对照不同时间发布的材料,我们发现,同一策略的指标发生明显变化,公开资料又没有提供足够清楚的参数、测试区间和版本记录。部分统计字段之间还存在难以解释的逻辑矛盾。

这些问题不足以证明原始回测必然错误,却足以阻止外部读者完成独立验证。

002 因此没有给策略判定真假,而是停在证据能够支持的位置:公开资料目前不足以验证这组回测表现。

这类问题在量化内容中相当普遍。读者能够看到结果,却无法确认结果究竟如何产生。

003:公开代码,也可能无法支持公开绩效

第三篇开始深入策略实现。

一个开源 BTC 趋势回测项目公开了大量参数组合、交易记录和绩效统计,报告中的收益与风险指标相当漂亮。

代码检查首先发现了分批退出记账与绩效计算的问题。后续复核又确认,程序使用下一日第一根四小时 K 线的收盘信息判断能否入场,却按同一根 K 线的开盘价成交,存在明确的前视偏差。

分批退出后的保证金返还和最终交易盈亏汇总,同样存在影响账户计算或交易统计的实现缺陷。

这些发现直接削弱了原始绩效指标的可信度。不过,我们尚未完成修正代码后的全量重跑,无法确认各项错误对最终收益的具体影响方向和幅度。

003 让我们看到,代码公开只是核验的起点。交易时间、账户记账和统计指标必须能够彼此对应。

它也成为第一阶段需要继续保留技术修订记录的一篇。

004:经典策略的价值,可能比传说朴素

第四篇研究标普 500 的 200 日均线。

这是一个长期存在于投资讨论中的经典规则。围绕它的争议并不新鲜:均线究竟能够创造超额收益,还是仅仅提供某种风险控制?

独立测试得到的结果比较清楚。

在所研究的历史区间内,200 日均线策略牺牲了一部分牛市收益,但降低了深度回撤。与相邻周期均线比较,也没有发现 200 日这个精确参数拥有明显而稳定的独特优势。

因此,我们接受它在历史样本中的风险控制价值,同时保留对参数特殊性和未来有效性的怀疑。

004 的贡献在于把经典策略的实际作用从长期形成的叙事中分离出来。

一项策略可以具有使用价值,即使它并没有实现人们赋予它的全部功能。

005:回测与模拟盘,可能已经不是同一套策略

第五篇研究跨境 ETF 动量轮动。

原项目报告了相当可观的累计收益和 Sharpe。代码检查发现,回测风控会使用当日最高价、最低价和收盘数据判断风险,却按当日开盘价执行卖出,时间顺序存在问题。

但随后出现了一个反常识结果。

在独立行情数据和独立实现的探索性实验中,将风控执行调整到因果正确的时间顺序后,策略表现反而有所改善。

这个结果提醒我们:发现未来函数,并不能自动判定它一定抬高了收益。

不过,该实验没有使用原作者完整的数据与执行环境,也没有完成逐笔交易对齐。因此,它只能说明这种改善具有可能性,不能当作原项目修正后绩效的精确复现。

进一步检查还发现,回测 B 模式与模拟盘 B 模式在止损规则、触发条件和调仓方式上并不一致。

这才是第五篇更明确的发现:历史回测所验证的策略,与当前模拟运行的策略之间存在实质差异。

即使两者使用相同的名称,也不能直接把历史 Sharpe 当成当前部署版本的已验证表现。

006:复现论文,需要忠实于论文

第六篇面对的是一项更加经典的研究:《Two Centuries of Trend Following》。

论文通过长期历史数据研究趋势跟踪效应,而 QuantConnect 的一个现代商品期货实现却给出了负 Sharpe,并据此讨论趋势信息可能衰减的问题。

两者表面上形成了鲜明冲突。

但检查公开代码后,我们发现,现代实现对原论文的核心波动率定义和仓位公式作出了实质改变。

其中,论文使用月度价格绝对变化的指数移动平均衡量风险;公开实现却将带符号的价格变化输入平滑计算。仓位表达式也与原论文存在差异。

于是,负 Sharpe 所能支持的结论需要重新限定。

它可以反映这个具体实现的历史表现,却不足以直接证明原论文所研究的趋势策略已经失效。

006 为第一阶段补上了一个重要审计维度:研究名称、论文引用与代码注释相同,并不保证实际运行的是同一个模型。

二、六篇之后,我们形成了哪些判断?

回顾这些案例,可以看到几个逐渐稳定下来的认识。

首先,审计需要保持结果开放

001 成功复现了夸张收益,004 承认了经典均线策略的历史风险控制价值,005 的探索性实验则显示,修正代码错误不必然降低绩效。

如果预先假定所有高收益都可疑,或者以发现错误作为文章成功的唯一标准,这些结果很容易被忽略。

研究需要批判能力,也需要承认反方证据的能力。

策略可能有效,可能部分有效,也可能根本无法根据现有材料判断。我们必须允许这些结果自然出现。

其次,复现有不同的证据层级

六篇中,有些结论来自独立历史数据计算,有些来自代码直接检查,有些只能停在公开材料的可验证性判断。

这些证据不能相互替代。

作者报告盈利,不代表我们已经复现盈利;一份源代码存在缺陷,也不能自动推算修正后的收益;独立数据上的控制实验,更不能直接替代原项目的完整交易记录。

第一阶段的重要收获,就是逐渐学会把这些边界说清楚。

一个结论能成立到哪里,就写到哪里。

最后,审计对象已经延伸到完整的策略证据链

最初,我们主要检查收益结果。到了后几篇,审计已经涉及公式、代码、账户计算、风险管理和模拟盘执行。

这说明量化策略的可信度无法单靠某一张收益曲线决定。

从作者描述到策略规则,从原始数据到回测代码,再到具体交易和绩效统计,任何关键环节出现问题,都可能削弱最终结论。

而一项历史策略即使通过了这些检查,仍然需要面对样本外表现和现实执行的进一步验证。

这是未来审计可以持续深入的方向,但没有必要让每一篇文章都承担完整的验证任务。

三、第一阶段,我们也发现了自己的不足

这次回顾并不只检查被审计的项目,也重新检查了我们自己的文章。

最典型的是 003。

最初的审计已经发现交易记账问题,但后来又确认了更直接的入场前视偏差。这说明即使一篇文章完成了,也不能把已有判断永久冻结。新证据足以改变原分析时,就需要重新审视。

005 则暴露了实验表达的问题。

独立数据控制实验具有判断价值,但它与原项目精确复现之间存在明确区别。文章可以保留“修正后反而改善”的意外发现,同时必须交代数据和实现的限制,避免让读者误以为原项目已经得到完整修正验证。

视觉表达也存在类似问题。此前部分封面出现了与策略不符的标的或不准确的公式。它们虽然来自图片制作过程,却可能让读者形成错误理解。

因此,第一阶段回顾以后,我们开始把封面、标题、摘要和图表一并纳入发布前的事实检查。

这些修订并不改变系列最初的目标,却使它的研究要求变得更加明确。

审计别人,也要允许自己的结论接受审计。

四、哪些原则值得保留?

完成六篇以后,很自然会产生制定更详细计划的想法:提前安排选题、规定更新频率、设计固定文章结构,让整个栏目看起来更加规范。

但我们认为,这样做存在明显风险。

001 到 006 的内容价值,恰恰来自研究过程中遇到的具体问题。有的材料适合复现,有的只需要核查指标口径,有的必须深入代码,还有的通过对照论文公式就能形成足够可靠的判断。

如果要求每篇都完成同样的测试、展示相同数量的指标,再安排一段固定的反转与总结,研究就容易变成形式重复。

因此,第一阶段之后,我们决定保留一套相对稳定的工作规则,同时继续开放选题。

选题由具体主张的判断价值决定。发现值得核验的问题就启动,没有足够证据或继续研究的边际价值太低,就暂停。

分析深度同样由问题决定。能够精确复现就精确复现;公开资料不足时,可以进行可验证性审计;代码已足以证明一项实现错误,也不必为了文章长度额外增加大量测试。

文章结构则根据研究过程自然形成,不规定必须有多少条证据、多少项风险或多少段解释。

最终沉淀下来的原则可以概括为:

固定研究标准,保持选题开放;坚持质量约束,不设置产量目标。

这也是《量化审计工作规则 v1.0》希望保留的核心。

五、下一阶段怎么走?

第一阶段已经证明,「量化审计」可以跨越不同资产市场和研究对象,形成具有独立判断价值的内容。

加密资产、股票 ETF、跨境轮动、商品期货、开源代码和学术论文,都可能成为审计对象。

但这并不意味着未来必须轮流覆盖这些领域。

我们没有必要提前制定 007、008 或更远的选题,也没有必要要求下一篇必须比上一篇更复杂、更惊人。

真正值得继续研究的,是那些能提出清楚主张、具有可核验证据,并且可能通过审计改变读者判断的材料。

如果它证明了一项策略确实可靠,我们应该承认。如果它暴露了无法消除的证据缺口,也应该如实停止。

今后的研究还会继续遇到错误和需要修订的判断。允许更新,才有可能让这个系列长期保持可信。

写在最后

六篇文章之后,我们对「量化审计」已经有了比最初清楚得多的理解。

量化世界从来不缺漂亮的回测曲线,也不缺看起来严谨的公式、参数和绩效指标。问题在于,这些内容究竟能够支持多强的结论。

有些惊人的结果可以复现,但离稳定优势仍有距离;有些策略确实具备价值,却没有宣传中那样神奇;有些代码错误足以推翻原有验证,也有些错误的影响必须经过重新计算才能确定。

我们希望做的,就是尽可能把这些区别说清楚。

第一阶段完成了六篇文章,也留下了一套经过实际案例检验的工作规则。它仍然需要在后续研究中不断完善,但已经足够支持下一阶段继续开展。

量化审计的价值,最终取决于我们能否让证据约束结论。

下一篇从哪里开始,等下一个值得审计的问题出现再决定。