📊 研究报告 · 原创实证 · 第 6 篇

我把自己的铜策略定级为 C 级,然后停止优化

——一份研究是怎么在"看起来有效"的时候被自己拆掉的

阅读时间:约 14 分钟 | 标签:#自我降级 #反方复核 #显著性检验 #数据资格

类型:原创实证研究 | 数据区间:2010 年 1 月 – 2026 年 8 月(16.6 年) 系列:私家智囊·研究 第 6 篇 | 成稿:2026 年 9 月


⚠️ 阅读须知(请先读完这一段)

  1. 本文不是投资建议,也不构成对任何商品或证券的评价。 本文讲的是一个研究过程的收口,不涉及任何可照搬的操作规则。
  2. 本文所有数字都是历史回测结果,不是收益预测,也不表示未来会发生同样的结果。
  3. 本文的结论主要是"否定"的。 它证明的对象大多不成立;这类结论不能反过来推断"什么一定能成"。
  4. 本文对研究样本采用匿名化处理,不列出具体标的名称——研究对象是机制,不是某几只证券。
  5. 本文的方法与数据来源见文末,欢迎复核。

引子:一个漂亮的提案,和一个不好看的结局

研究的起点是一个看起来很有说服力的方案:"商品趋势 + 低成本资源股"。

它由四个模块组成——商品价格趋势、企业成本排名、按波动率调整的仓位公式、跨品种分散。逻辑链完整,每个模块都能讲出道理。

九个阶段以后,它的结局是:

  • 四个模块里,三个被砍掉;
  • 保留下来的那一个,被自己的独立复核打了下来;
  • 最终定级:C 级候选;
  • 然后我停止优化它。

这篇文章讲的不是"我发现了什么",而是这一路上,每一次"看起来成立"是怎么被拆掉的。

我认为这比结论更有用。


一、先说结论

  1. 最有说服力的那个模块,往往是最不可回测的那个。 砍掉它,模型才从"故事"变成"可证伪的假设"。
  2. "能少亏"和"能多赚"是两件事。 一个把最坏情况砍掉三成的改动,同时没能提高平均收益——这在数学上完全可以并存。
  3. 表面显著的结论,可能是别的东西的影子。 不控制住其他变量,你会以为自己找到了一条规律。
  4. 宁可作废一个统计工具,也不要凑数。 我的一个检验工具实现有缺陷,处理方式是作废它,而不是将就着用。
  5. 要能自己打自己,而且降级之后要停下来。 独立复核发现了我漏做的一项检验,补做后结果不利,项目从此降级;而接下来最重要的动作,是不再继续调参数。

二、第一步:砍掉它最有说服力的部分

这个方案里最诱人的模块是"企业成本排名"——在行业里挑出成本最低的那一批公司,理由是:成本低的企业在商品价格下跌时更抗跌。

听起来无懈可击。但审计它的过程是这样的:

要检验的东西 实际状况 裁定
企业成本数据 口径不统一(不同来源、不同定义) 无法比较
数据频率 只有季度级,且披露滞后 无法对齐
历史排名 用今天的排名回看历史 前视偏差
跨品种篮子 样本内可选标的不足 无法构建

四条全部不成立。 于是这个"最核心的收益来源"被整个砍掉。

这是整个研究的转折点。 砍掉它之后,剩下的部分虽然朴素,但有一个关键性质:它能被数据证伪。

一个不能被证伪的模型,无论讲得多好,都不是研究——它是故事。

同样被砍掉的还有仓位公式(含无法定义的自变量)和跨品种篮子(样本不足)。四个模块只活下来一个。


三、铜有效、黄金有害——为什么

活下来的模块很朴素:商品价格在长期均线之上时持有相关资源股,跌破时退出。

先用两个商品组做试验,结果一开始是矛盾的:

组 结果
铜 5/6 个观察终点改善,最坏回撤从 −71% 降到 −44%
黄金 6/6 个终点全部变差,长期收益从 8.9% 掉到 4.0%

同一个规则,一个有效、一个有害。如果只看铜的结果,我会以为找到了一个通用工具。

为什么差异这么大?

我先怀疑是"联动性"不同——但相关性测出来两组几乎一样(0.52 vs 0.52),假设被推翻。

真正的答案在分区间拆解里:

市场状态 黄金组:持有 黄金组:加规则 铜组:持有 铜组:加规则
商品上涨期 +28.6% +22.4% +51.5% +43.6%
商品下跌期 −18.1% −12.1% −9.3% −6.7%
商品震荡期 +7.2% −9.2% −4.3% +8.1%

关键在最后一行。黄金有独立的驱动因素(避险、货币属性、实际利率),金价横盘时黄金股仍可能自己涨——这时趋势信号一刀切地退出,等于把这段独立收益错杀了。铜是纯工业品,没有这层属性,价格趋势对股票趋势的指引成立。

教训不在"哪个商品行",而在"怎么发现的":如果只看总收益,两个组都能讲出故事。是分区间拆解把机制摆到了桌面上。


四、"能少亏"和"能多赚",是两件事

铜组的数字继续变好:最坏回撤从 −72.0% 压到 −44.6%,风险调整后的性价比指标从 0.116 升到 0.220。

看起来是个胜利。但我做了一件看起来多余的事:单独检验"它能不能多赚"。

结果:

检验对象 结果
最坏回撤改善 ✅ 大幅改善
平均收益提升 ❌ 统计上无法与"没有提升"区分(p = 0.594)
日均超额收益 −0.0058%(负的)

"少亏"改善了,"多赚"没有。 这两个结论同时成立,一点也不矛盾——把最坏的那一段砍掉,会让风险指标明显变好,但不改变平均水平。

这个区分极其重要,因为绝大多数人对这类工具的第一句描述会是"它更赚钱"。而数据说的是"它更不容易亏得那么惨"。

从这一刻起,这份研究对它的称呼就固定了:它是一个风控器,不是一个收益工具。


五、宁可作废一个统计工具,也不凑数

走到统计检验这一关,我用了一个业界常用的"防自欺"指标——它专门用来惩罚"反复试参数试出来的好看结果"。但是我自己的实现有缺陷:内部用了循环计算,还有一个参数是占位值。

通常的处理方式是:先放着,反正结论已经出来了,不影响主结论。

这份研究选择了另一条路:把这个工具的结论整个作废,并且写明"作废,不凑数"。 最终报告里,这一项被列进"失败实验与负结果资产"表里,和那些真正失败的假设放在一起。

理由很简单:一个自己都不相信的工具,给出的"通过"没有意义。留着它,等于在结论里掺了一份自己知道有问题的证据。

我把这条当成研究成熟度的一个标志:能作废自己的工具,比能通过自己的检查更难。


六、然后,独立复核把我自己的结论打了下来

走到收口阶段,我把整个研究交给独立的一方复核——不是重跑一遍,是让对方专门找我的漏洞。

它找到了一件我漏掉的事:

有一个"证明它有效"的检验,我一直没做。

补做之后,结果不利。最坏回撤的改善点估计仍然好看(−72.0% → −44.6%),但它的置信区间是 [−0.22, +0.45],包含 0;检验值 p = 0.21,远达不到预设标准。

翻译成一句话:这个改善,在统计上无法排除是运气。

于是有了选择:

  • 不提这件事,维持原等级;
  • 或者,诚实降级。

这份研究选择了后者。 那个风控器从较高等级降为 C 级候选,并在报告开头写了审计警示。

这次降级不是体系的失败,而是体系成功的证明——因为那道"让一个不认同它的人来挑错"的关卡,在第一次完整实战中,就抓到了撰写方自己看不见的问题。

如果反方复核什么都没发现,那才该担心。


七、降级之后,最重要的一步是停下来

到这里,一个很自然的想法是:"既然方向对了,那就继续优化——换换均线长度、加个辅助指标、引入库存数据、做做期限结构……"

这份研究没有这么做。原因写在结论里:

继续优化,只会把这个有用的风控器,重新变回一个不可证伪的模型。

具体来说,那些"再加一个条件"的动作,会带来三个后果:

  1. 每加一个可调项,就多一分过拟合的空间;
  2. 调完之后,那条"能少亏、不能多赚"的清晰边界会重新变模糊;
  3. 最后得到的,会是一个"什么情况下都能解释"的东西——也就是回到起点那个漂亮但不可证伪的提案。

于是它在结论里明确写了后续哪些事必须重新立项,而不是就地继续:

  • 任何均线参数的重优化 → 另立编号,重新走一遍全部关卡;
  • 任何新商品接入 → 先过数据资格审计;
  • 成本类因子重开 → 必须先解决"口径统一 + 历史可得"两个前置。

"停止"在这里不是放弃,是保护已得结论不被稀释。


八、负结果是护栏,不是损失

这份研究最后归档了一张"失败清单"。我认为它比成功结论更有价值:

失败的东西 死因 留下的护栏
成本排名因子 口径不统一、前视偏差 不可回测的因子不是因子
黄金组应用同一规则 独立驱动因素被错杀 有独立驱动因素的标的不适用
"它也能多赚" 统计检验否决 "少亏"不等于"多赚"
向其他品种推广 数据资格不足 数据资格是门槛,不是障碍
一个统计工具 自身实现有缺陷 作废不凑数

还有一条纪律,我特别喜欢,因为它防止了"用沉默冒充结论":

"无数据" ≠ "无效应"。 检验不了的,标注"无法检验";只有真的被数据否掉的,才写"证伪"。两者不能混用。


九、这份研究给自己写的"禁止表述清单"

收口时,它做了一件我此前没见过的事:列出自己"不许怎么说"。

禁止表述:不许把这项研究说成"能带来超额收益""能增强收益"的策略。

意思是:无论谁引用这项研究,都不许把它描述成"能多赚钱"的东西。 它只被允许说成"一个候选的风险控制思路,用来降低最坏情况的幅度"。

一份研究不光规定"能说什么",还规定"不许说什么"。 我觉得这条值得单独拿出来——因为绝大多数误用,不是发生在原始报告里,而是发生在它被转述的时候。


十、这条研究的边界(诚实清单)

  1. 主要结论是描述性的,未通过"优于运气"的检验(p = 0.21);且统计功效受样本长度限制,结论必须标注这一点。
  2. 它只在一种商品上成立,适用范围限于与该商品相关的一组标的,不能推广到其他资源类品种——该商品有较长的完整价格序列,这是稀缺条件,不是普遍条件。
  3. 改善的是风险特征(最坏回撤、风险调整性价比),不是平均收益。
  4. 它不进入实盘策略库,这是研究结论本身写明的使用边界。
  5. 数据有前视与幸存者偏差的核查记录,其中一项(股票趋势信号)因口径冲突被降级处理、未采信。

金句墙

一个不能被证伪的模型,无论讲得多好,都不是研究——它是故事。

最有说服力的那个模块,往往是最不可回测的那个。

"少亏"和"多赚"是两件事,它们完全可以在同一份数据里同时成立。

如果反方复核什么都没发现,那才该担心。

继续优化,只会把这个有用的风控器,重新变回一个不可证伪的模型。

一个自己都不相信的工具,给出的"通过"没有意义。

"无数据"不等于"无效应"。

停在这里不是放弃,是保护已得的结论不被稀释。


行动清单:当你手上有个"看起来有效"的结果

  1. 先找那个"最有说服力的部分",然后问:它到底能不能被数据检验?不能,就先拿掉。
  2. 拆区间。 把总结果按不同市场状态分开看——机制往往藏在某一段里,不在总数里。
  3. 单独检验"多赚"。 如果只改善了"少亏",就照着这个事实说话,别顺势说成"更赚钱"。
  4. 给结论配一个反方。 找不认同的人专门挑错,并要求他给出"你漏做了什么"。
  5. 写下"不许怎么说",以及"接下来不做什么"。 明确列出这份结论不允许被描述成什么;并写清下一步不做什么、为什么——防止自己在下一个版本里把纪律磨掉。

数据来源与样本说明

★ 本文所有案例与测算均为作者基于公开数据的独立整理(原创),非引用第三方研究成果。

项目 说明
数据来源 公开商品期货主力连续价格序列 + 公开股票行情与分红数据(通过公开数据接口获取)
数据区间 2010 年 1 月 – 2026 年 8 月(16.6 年);部分基础序列可回溯至 2005 年
标的组构成 以单一工业金属为价格基准的一组上游资源类标的;试验对照组为另一类具有独立驱动因素的资源标的
样本处理 已修正幸存者偏差(补齐借壳、更名与退市样本);信号与收益采用不同价格口径,分轨处理
成本假设 佣金双边 + 卖出印花税 + 每边滑点;另计再平衡成本
信号执行 T 日收盘确认 → T+1 执行(禁止当日收盘成交)
已知局限 结论为描述性证据;统计功效受样本长度限制;仅单一品种成立,不可推广

关于可复核性:本文不列出样本名称(理由见开头「阅读须知」)。但上面已给出样本类别、价格基准类型、数据区间与口径处理方式——读者可据此自行构造同类样本,用同样的口径复跑。能复核的是方法与过程,不是几个名字。

本文研究对象为风险控制机制,不对任何商品或证券作出评价、推荐或投资建议。


免责声明

本文为原创研究分享,所载内容与数据均来自公开渠道,仅供学习与方法探讨之用。

本文不构成任何投资建议、要约或承诺,不指向任何具体投资标的。本文对研究样本采用匿名化处理,不列出具体标的名称,亦不构成个股诊断或评价。

本文所列百分比与统计量均为特定样本与特定区间内的历史回测结果,多数结论为"未通过显著性检验"的描述性证据,不代表未来收益,也不构成任何形式的收益预测或承诺。

本文涉及的商品相关策略包含风险控制讨论,不代表作者推荐任何人参与相关交易。投资有风险,决策需谨慎。请根据自身实际情况独立判断,并自行承担相应后果。


本文属「私家智囊·研究」系列。同系列已发布:开栏篇《从企业价值到资本配置》,第 2 篇《"跌了这么多,总该抄底了吧"》,第 3 篇《"涨得多的,以后还会涨"》,第 4 篇《怎么杀死一个看起来很赚的策略》,第 5 篇《先写死标准,再跑数据》。

← 返回研究栏目