Appearance
一个交易信号,什么样的统计结果才值得相信?
上一篇文章讨论了为什么历史数据不能直接给出交易答案。
当我们把一个交易想法写成明确的条件,并得到胜率、平均收益和最大回撤等统计结果后,新的问题随之出现:
看到什么样的结果,才能认为这个信号值得继续研究?
假设某个信号在历史样本中的上涨比例是 70%。这个数字看起来不错,但我们还不知道:
- 70% 来自 10 个样本,还是 1000 个样本;
- 同期市场本身的上涨比例是多少;
- 盈利能否覆盖亏损和交易成本;
- 结果是否依赖少数几次极端行情;
- 换一段没有参与参数调整的数据后,优势是否仍然存在。
因此,本文所说的“值得相信”,不是证明一个信号未来一定有效,而是:
现有统计证据足以支持我们继续验证,而不是仅凭一个好看的数字下结论。
要判断证据是否充分,可以从下面几个问题依次检查。
统计口径是否清楚?
看到“胜率 70%”时,最先需要确认的不是高不高,而是这个数字如何计算出来。
例如,“上涨”可能分别指:
- 信号出现后的下一个交易日收盘价上涨;
- 未来 5 个交易日内最高价触及目标价;
- 买入并持有 5 个交易日后获得正收益;
- 扣除交易成本后仍然盈利。
它们使用相同的历史行情,却回答了不同的问题。
一项可以复现的统计,至少需要说明:
- 研究的品种和时间范围;
- 信号触发条件;
- 买入、卖出和持有规则;
- 盈利与亏损的定义;
- 复权、停牌和异常数据的处理方式;
- 手续费、滑点等成本口径。
如果这些条件没有固定,研究者很容易在看到结果以后再调整定义,直到得到一个满意的数字。此时看似精确的胜率,可能只是反复筛选后的结果。
口径明确以后,才能继续讨论样本是否足以支撑这个结果。
样本数量够不够?
假设有两个交易信号:
text
信号 A
测试次数:10 次
盈利次数:8 次
历史胜率:80%
信号 B
测试次数:1000 次
盈利次数:650 次
历史胜率:65%只看胜率,信号 A 更高。但 10 次交易中的一次结果,就能让胜率变化 10 个百分点;在 1000 次交易中,一次结果只会让胜率变化 0.1 个百分点。
这说明样本较少时,统计结果更容易受到偶然事件影响。
不过,样本数量也不能只看表面上的次数。假设一个信号连续 20 天触发,而这 20 次结果都来自同一轮上涨行情,它们就不一定能提供 20 份相互独立的证据。使用重叠持有周期时,也可能重复计算同一段价格变化。
因此,比“样本越多越好”更准确的检查方式是:
- 样本数量是否足以观察常见结果和异常结果;
- 样本是否过度集中在少数时间段;
- 多个样本是否重复反映同一轮行情;
- 统计结果在增加新样本后是否剧烈变化。
样本能够减少偶然性的影响,却仍然不能单独证明信号有优势。接下来还要问:这个结果比什么更好?
信号是否优于合理的比较基准?
假设某个信号出现后,第二天上涨的历史比例是 70%。如果同一时期该品种任意一天买入后,第二天上涨的比例也是 70%,那么这个信号可能没有提供额外信息。
因此,统计结果需要与合理的基准比较。例如:
- 不使用信号时的同期结果;
- 随机选择交易日的结果;
- 简单持有策略的结果;
- 承担相近风险的其他规则。
比较时还要尽量保持品种、时间范围、持有周期和成本口径一致。否则,差异可能来自比较条件,而不是信号本身。
基准解决的是“这个信号是否带来额外信息”的问题。但即使信号的胜率高于基准,也不代表最终能够获得正收益。
胜率和盈亏幅度能否形成正向期望?
假设一个策略共交易 100 次:
text
70 次盈利,每次平均盈利 1 元
30 次亏损,每次平均亏损 3 元暂不考虑交易成本:
text
总盈利 = 70 × 1 = 70 元
总亏损 = 30 × 3 = 90 元
合计结果 = 70 - 90 = -20 元虽然历史胜率达到 70%,最终结果仍然为负。
为了把胜率和盈亏幅度放在一起,可以计算每笔交易的期望收益:
text
期望收益
= 胜率 × 平均盈利
− 亏损率 × 平均亏损
− 平均交易成本例如:
text
胜率:60%
平均盈利:2%
亏损率:40%
平均亏损:1%
平均交易成本:0.1%
期望收益
= 60% × 2% − 40% × 1% − 0.1%
= 0.7%在这组历史样本和假设条件下,平均每次交易的期望收益为 0.7%。这可以作为继续验证的依据,但不能直接理解为下一次交易会获得 0.7% 的收益。
对于做 T 来说,成本尤其重要。单次目标价差通常较小,手续费、滑点以及无法按预期价格成交,都可能让回测中的微弱优势消失。
期望收益把胜率、盈亏幅度和成本放到了一起,但平均值仍然可能隐藏重要信息。
收益是否依赖少数极端样本?
假设一个策略前 99 次交易合计亏损 5%,第 100 次盈利 10%。从平均结果看,整个策略仍然盈利,但大部分交易并没有表现出优势。
因此,除了平均收益,还需要观察收益分布:
- 收益的中位数是多少;
- 大多数结果集中在哪个区间;
- 最好和最差的单次结果是多少;
- 去掉少数极端样本后,结论是否明显改变;
- 盈利是否主要来自某一年或某一轮行情。
如果一个信号的正收益完全依赖少数难以重复的极端行情,那么它的平均收益可能不够稳定。
但收益分布只告诉我们单次结果如何分散。真实交易还要面对结果出现的顺序,而顺序会直接影响资金曲线和执行压力。
风险是否处于可以承受的范围?
两个策略可能拥有相同的总收益,却经历完全不同的过程。
其中一个策略的收益较平稳,另一个策略可能先出现长时间连续亏损,再依靠一次大幅盈利恢复。如果只看最终收益,这种差异会被忽略。
因此,还需要检查:
- 最大回撤;
- 最大单次亏损;
- 最长连续亏损次数;
- 回撤持续时间;
- 恢复到前期高点所需的时间;
- 不同仓位下可能承受的资金波动。
这些指标不能单独判断信号是否有效,却能帮助我们判断:即使历史优势能够延续,执行者是否有能力承受中间的风险。
到这里,我们检查的仍然是同一组历史样本。一个更严格的问题是:换一段时间,结果是否还成立?
结果在不同阶段是否稳定?
一个信号可能只在上涨、下跌或高波动阶段有效。分阶段检查的目的,不是要求它在所有环境中都盈利,而是了解它的适用条件和失效边界。
可以分别观察:
- 不同年份的表现;
- 上涨、下跌和震荡阶段的表现;
- 高波动与低波动阶段的表现;
- 参数小幅变化后的表现;
- 不同但具有相近特征的品种表现。
如果参数只改变一点,结果就从明显盈利变成明显亏损,原来的“最佳参数”可能只是碰巧贴合历史数据。
相对稳定也不意味着每个阶段的收益都相同。更值得关注的是:
- 优势是否只来自一个孤立阶段;
- 结果变化是否能够用市场条件解释;
- 信号失效时是否有可以识别的共同特征。
即使分阶段结果较稳定,如果所有数据都参与过参数调整,仍然可能存在过拟合。此时需要让信号面对它没有“见过”的数据。
样本外和实际交易结果如何?
一种常见做法是把历史数据分成两部分:
text
样本内数据:用于提出假设和调整规则
样本外数据:用于检查规则在新数据中的表现如果根据样本外结果继续反复修改规则,这部分数据实际上也会逐渐变成样本内数据。因此,样本外验证的关键不是简单切分时间,而是避免一边看答案,一边改条件。
通过初步样本外检查后,还可以使用小仓位或模拟交易继续观察:
- 信号能否及时计算;
- 预期价格能否实际成交;
- 滑点和费用是否符合假设;
- 实际结果是否落在历史分布的合理范围内;
- 执行规则是否清楚到可以重复。
回测验证的是历史条件下的计算结果,实际观察则会暴露数据延迟、成交限制和执行偏差。两者相互补充,但都不能保证未来结果。
怎样综合判断一个信号是否值得继续研究?
没有一个胜率或样本数量阈值,能够单独回答这个问题。更合适的做法是检查多项证据是否相互支持:
- 统计条件清楚,并且能够复现;
- 样本数量与覆盖范围足以降低偶然性的影响;
- 与合理基准相比,信号提供了额外优势;
- 扣除交易成本后,期望收益仍然为正;
- 收益不完全依赖少数极端样本;
- 回撤和连续亏损处于可以承受的范围;
- 不同阶段的表现能够解释,适用边界相对清楚;
- 样本外和实际观察没有让原有优势明显消失。
如果只有其中一个数字表现突出,更适合把它当作线索,而不是结论。只有多项检查指向相近的结果,一个交易想法才有理由进入下一轮验证。
整个过程可以整理为:
text
提出交易假设
↓
固定统计口径
↓
检查样本与比较基准
↓
计算收益、成本与风险
↓
分析分布和阶段稳定性
↓
进行样本外与实际观察
↓
根据新结果继续验证或放弃假设当前结论
一个交易信号是否值得相信,不能只看一次成功、高胜率或某一年的高收益。
真正需要寻找的是一组相互支持的证据:样本足够且不过度重复,结果优于合理基准,扣除成本后仍有正向期望,风险可以承受,并且优势没有在分阶段和样本外检查中迅速消失。
即使满足这些条件,当前结论仍然只是:
这个信号在已有证据下值得继续验证。
它不是对未来收益的保证。
下一步还可以继续追问:
如果一个信号来自技术指标,为什么不能直接使用指标默认参数,而要重新进行历史验证?