p 值

p 值(p-value)是在原假设成立的前提下,观测到「至少和实测结果一样极端」的结果的概率。在策略检验里,原假设通常是「这条规则没有优势」,而 p 值来自在已记录交易上执行的置换或自助法流程。

Senzoukria · 术语表 · 更新于 2026 年 9 月


这个数字的含义

先定下一个原假设,比如「这套策略的交易,和同分布的随机抽样区分不开」。在真实交易上算一个统计量:净结果、每笔夏普、每笔期望。然后确定:如果原假设为真,这个统计量有多大比例的情况下会达到至少这么大。这个频率就是 p 值。

在置换检验里,这个频率是直接数出来的:把数据重排很多次,每次重算统计量,再数出有多少次重排达到或超过了真实结果。整个过程不需要任何关于分布的公式——对于极少服从正态的交易结果来说,这一点很重要。

它不是什么

  • 它不是「原假设为真」的概率。那需要给原假设一个先验,而这项检验并不使用先验。
  • 它不是「这套策略会继续奏效」的概率。它描述的是样本,不是未来。
  • 它不是效应大小的度量。一个极小的优势配上一个巨大的样本,也能产出很小的 p 值;而十笔交易上的一个巨大优势却做不到。
  • 它没有针对挑选做修正。从一大堆配置里挑出最好的那个,它的 p 值就是偏乐观的;紧缩夏普比率和 PBO 才处理这件事。

在 Senzoukria 里

桌面端回测面板会在它的「通过 / 不通过」闯关清单里显示一个 p 值,由置换检验阶段计算得出。对应的那条标准写作「置换检验:优势与偶然区分得开」。p 值和 PSR、DSR、PBO 以及试过的配置数量并排放置,读的人一眼就能看出这个样本是否同时扛住了选择性修正。

「回放」绩效面板并不报告 p 值;当样本太小时,它会加一句注记:这些比率被显示出来,是因为它们算得准确,而不是因为它们有统计意义。显著性检验是回测面板的职能。

常见错误

  • 停在某个固定阈值上。约定俗成的临界值只是一个约定,而一次假阳性的代价是在实盘账户上付的,不是在论文里付的。
  • 在同一批数据上反复检验,只留下最小的那个 p 值。每一次检验都是一次试验。
  • 报告 p 值时,不给出产生它的统计量和样本量。
  • 把一个很大的 p 值读成「不存在优势」的证明。它只说明这批样本没能显示出优势。

其他语言版本

常见问题

p 值很小,就足以把一套策略拿去实盘吗?
不够。它说明的是:在那批样本、那套假设之下,按「无优势」这个假设来看,观测到的结果很罕见。它没有考虑未被建模的成本、试过多少组配置、相对账户规则的回撤,也没有考虑市场状态切换。桌面端的闯关清单正因如此,只把它列为若干条标准之一。
为什么我重跑一次闯关,p 值就变了?
置换阶段抽取的是随机重排,所以同一批数据跑两次,计数会略有不同。置换次数越多,这种波动越小。如果两次运行之间 p 值跨过了某条决策边界,那是样本在告诉你:这个结果处在临界地带。

继续阅读