Skip to content

为什么技术指标需要历史验证?

上一篇文章讨论了一个交易信号需要经过哪些统计检查,才值得继续研究。

但当信号来自均线、MACD、CCI、KDJ 或 RSI 等常见技术指标时,一个新的疑问很容易出现:

这些指标已经被使用了很多年,行情软件也会直接显示,为什么还要自己做历史验证?

指标被广泛使用,只能说明它提供了一种常见的观察方法,不能证明某个具体用法能够带来收益。

更准确地说:

技术指标可以描述市场状态,但不能替我们完成从市场状态到交易结论的推导。

要理解这一区别,需要先看清技术指标究竟是什么。

技术指标提供了什么信息?

行情最基础的数据通常包括:

  • 开盘价;
  • 最高价;
  • 最低价;
  • 收盘价;
  • 成交量。

技术指标是在这些已有数据上进行数学加工。例如,均线计算一段时间内的平均价格,MACD 比较不同周期指数移动平均线之间的变化,CCI 则衡量当前价格相对一段时间平均水平的偏离程度。

计算以后,原始行情被转换成了更方便观察的数值或图形:

text
历史价格与成交数据

    指标公式

均线、MACD、CCI 等指标值

对市场状态的一种描述

因此,指标可以帮助我们回答:

按照这套计算方法,当前行情处于什么状态?

但它不能自动回答:

此时买入,未来获得正收益的概率是多少?

前者是数学计算,后者是需要用样本验证的统计问题。

指标为什么不等于交易信号?

假设某个品种的 CCI 低于 -100。我们可以确认指标满足了这个条件,却还不能据此完成一笔交易。

因为“CCI 低于 -100”没有说明:

  • 使用日线、小时线,还是其他周期;
  • 在信号出现时买入,还是下一个交易日买入;
  • 按开盘价、收盘价,还是实际可成交价格买入;
  • 持有几个交易日;
  • 在什么条件下卖出;
  • 是否计算手续费、滑点和无法成交的情况。

只要其中一个条件不同,最终统计的就可能是另一套交易方法。

例如,同样以“日线 CCI 低于 -100”为条件:

text
规则 A:次日开盘买入,持有 1 个交易日后卖出

规则 B:次日开盘买入,盈利 2% 或亏损 1% 时卖出

两套规则使用同一个指标,却可能拥有不同的样本数量、胜率、平均收益和最大回撤。

因此,真正需要验证的不是孤立的指标名称,而是:

包含指标条件、买入方式、卖出方式和成本假设的完整交易规则。

规则明确以后,新的问题才有可能被历史数据回答:这套规则过去表现如何?

为什么不能只看几次成功经验?

看到一次指标金叉后上涨,或者一次指标超卖后反弹,很容易让人觉得指标有效。

但单次结果只能说明:

这一次,指标状态与后续行情恰好同时出现。

它无法说明类似条件出现 100 次时,大多数结果如何,也无法排除当时的市场上涨本身就是主要原因。

要判断某个指标条件是否提供了额外信息,至少需要统计:

  • 一共出现了多少个有效样本;
  • 盈利与亏损各有多少次;
  • 平均收益和收益分布如何;
  • 最大亏损与最大回撤如何;
  • 扣除交易成本后是否仍有优势;
  • 与随机买入、同期持有等基准相比是否更好。

假设某个指标信号出现后,第二天上涨的历史比例是 60%。如果同一时期任意一天买入后上涨的比例同样是 60%,那么这个指标可能没有提供额外优势。

所以,历史验证不能只问“信号后有没有上涨”,还要继续问:

与不使用这个信号相比,结果是否真的有所改善?

同一个指标为什么会得到不同结果?

即使两位研究者都在验证 CCI,也可能得到完全不同的结论。

差异可能来自:

  • 研究的品种不同;
  • 使用的时间周期不同;
  • 选择的历史区间不同;
  • 指标参数和数据处理方式不同;
  • 买入、卖出与持有规则不同;
  • 交易成本和成交假设不同。

例如,一个反映短期偏离的条件,可能在震荡阶段频繁出现并产生反弹,却在持续下跌阶段不断触发。把两个阶段混在一起统计,得到的是整体平均结果;分开观察,才能看见它可能适用和失效的环境。

这并不说明其中一项研究一定错误,而是说明:

指标是否有效,不能脱离具体的品种、周期、规则和市场环境讨论。

也正因为实验条件会影响结论,行情软件提供的默认参数只能作为起点。

默认参数为什么不能直接照搬?

很多技术指标都有常用参数。例如,MACD 常见参数是 12、26、9,KDJ 常见参数是 9、3、3。软件提供这些参数,能够让用户直接计算和观察指标。

但默认参数并不是已经被证明适合所有品种和周期的市场规律。

同一组参数放在不同场景中,代表的实际时间尺度可能完全不同:

  • 日线上的 12 个周期对应 12 个交易日;
  • 60 分钟线上的 12 个周期对应 12 根小时 K 线;
  • 高频波动品种与低波动品种对同一阈值的反应也可能不同。

因此,默认参数更适合被理解为:

一个统一、方便复现的研究起点。

如果调整参数后结果变好,也不能立即认为找到了“最佳参数”。反复尝试大量参数,再挑选历史表现最好的一组,很容易让规则只适应已经看过的数据。

参数越是经过反复筛选,越需要使用未参与调整的数据继续检查。

怎样完成一次基本的指标验证?

一次基本验证,可以从把模糊想法改写成明确问题开始。

例如,不再笼统地说:

CCI 低时可以买入。

而是提出一个可以复现的假设:

当某 ETF 的日线 CCI(14)低于 -100 时,在下一个交易日开盘买入,持有 5 个交易日后卖出。扣除交易成本后,历史收益是否优于同期随机买入?

这项假设明确了:

  • 研究品种;
  • 数据周期;
  • 指标参数和触发条件;
  • 买入价格;
  • 持有时间与卖出规则;
  • 交易成本;
  • 比较基准。

接下来才能按相同口径统计:

  • 样本数量;
  • 胜率;
  • 平均收益与收益分布;
  • 最大单次亏损与最大回撤;
  • 不同市场阶段的表现;
  • 参数小幅变化后的稳定性;
  • 样本外数据中的结果。

整个过程可以整理为:

text
观察指标现象

提出交易假设

固定指标与交易规则

获取历史样本

统计收益、成本与风险

与合理基准比较

进行分阶段和样本外验证

根据新结果继续观察、修改或放弃假设

这里需要注意,历史验证能够检验一项假设在过去的表现,却不能证明未来一定重复同样的结果。它的价值在于排除一部分经不起数据检查的想法,并帮助我们看清一项规则的适用条件和风险边界。

技术指标真正的作用是什么?

经过前面的区分,技术指标的位置会更清楚。

它不是一个直接预测未来的答案,而是一个帮助我们整理数据、描述状态和提出假设的工具。

例如,看到 CCI 处于低位时,更合适的研究问题不是:

明天是不是一定会上涨?

而是:

在明确的品种、周期和交易规则下,历史上出现这种状态后,结果是否优于合理基准?这种差异在新样本中能否继续观察到?

这样的提问不会消除交易中的不确定性,却能把“感觉可能有效”改写成一项可以记录、比较、复现,也可以被数据否定的实验。

当前结论

技术指标是对历史价格和成交数据的数学加工。它可以描述市场状态,却不能单独证明某个买卖方法具有收益优势。

真正需要历史验证的是一套完整规则:

  • 指标条件是否清楚;
  • 买入和卖出方式是否明确;
  • 样本是否足够且不过度集中;
  • 结果是否优于合理基准;
  • 扣除成本后是否仍有正向期望;
  • 风险是否可以承受;
  • 优势能否通过分阶段和样本外检查。

即使这些检查得到较好的结果,当前能够得出的结论也只是:

这套规则在已有历史证据下值得继续观察和验证。

它不是对下一次交易或未来收益的保证。

到这里,我们已经知道技术指标为什么不能直接变成交易答案。接下来还可以继续追问:

面对大量历史数据,应该怎样从中寻找值得验证的交易机会?

下一篇

《如何利用历史数据寻找交易机会?》