Skip to content

为什么不同市场状态,需要不同的历史统计?

上一篇文章讨论了如何以昨日收盘价为起点,通过当日最高价和最低价构造历史波动样本,并计算目标价格的历史触达比例。

假设统计结果显示,某只 ETF 向上 0.3% 的历史触达比例是 70%。

看到这个数字后,一个新的问题很快出现:

如果当前市场正在上涨、下跌或震荡,这 70% 仍然是合适的参考吗?

整体统计把不同环境中的交易日放在了一起。但价格在上涨趋势和下跌趋势中,可能并不服从相同的历史分布。

因此,这次实验需要从“过去通常发生什么”继续向前一步:

在什么市场状态下,这件事过去更容易发生?

整体统计隐藏了什么?

整体触达比例的计算并没有错:

text
整体触达比例
= 触达目标的样本数
÷ 全部有效样本数

问题在于,“全部有效样本”可能同时包含多种环境:

text
全部历史样本
    ├── 上涨状态
    ├── 震荡状态
    └── 下跌状态

假设一组演示数据如下:

text
向上 0.3% 的历史触达比例

上涨状态:85%
震荡状态:70%
下跌状态:40%

全部样本:70%

70% 准确描述了全部样本,却没有展示状态之间的差异。如果研究的是下跌状态,直接使用 70% 可能高估这个向上目标过去的触达频率;如果研究的是上涨状态,它又可能低估。

这并不意味着整体统计没有价值。它仍然可以作为观察全局的起点。只是当结果随着环境变化时,还需要把问题限定得更具体。

什么是市场状态?

市场状态,也常被称为 Market Regime,是对一段市场环境的分类。

它不是“明天一定上涨或下跌”的预测答案,而是尝试用可以计算的条件描述当前环境。例如:

  • 趋势状态:阶段上涨、阶段下跌或区间震荡;
  • 波动状态:高波动或低波动;
  • 流动性状态:成交活跃或成交清淡;
  • 市场范围:整体市场偏强、偏弱或分化。

不同研究可以采用不同定义。趋势既可以用过去一段时间的涨跌幅描述,也可以用均线方向或价格结构描述;波动既可以用历史波动率,也可以用真实波幅等指标描述。

关键不在于找到唯一正确的分类,而在于把定义写清楚,让同一份数据能够得到相同的状态标签。

状态明确以后,就可以把整体统计改写成条件统计。

条件统计怎样计算?

整体统计回答:

在全部历史样本中,目标价格有多少比例曾经触达?

条件统计则回答:

在满足某种市场状态的历史样本中,目标价格有多少比例曾经触达?

假设 1000 个有效样本中,有 300 个被划分为上涨状态,其中 255 个样本向上触达了 0.3%。那么:

text
上涨状态下的触达比例
= 255 ÷ 300
= 85%

同样的方法可以分别计算震荡和下跌状态:

text
某状态下的目标触达比例
= 该状态中触达目标的样本数
÷ 该状态的全部有效样本数

研究由此从一个无条件问题:

text
历史上,向上 0.3% 出现得有多频繁?

变成一个带有明确条件的问题:

text
历史处于上涨状态时,向上 0.3% 出现得有多频繁?

条件改变了,参与统计的样本也随之改变。这就是不同市场状态可能需要分别统计的原因。

为什么做 T 更需要观察市场状态?

做 T 研究通常关心较短时间内的价格波动。同样是距离昨日收盘价 0.3% 的目标,在不同状态下可能面对不同环境:

  • 上涨状态中,向上目标可能更容易触达,向下目标可能更难触达;
  • 下跌状态中,情况可能相反;
  • 高波动状态中,上下两个方向都可能走得更远;
  • 低波动状态中,较远目标的触达比例可能同时下降。

因此,只观察一个向上目标还不够。更完整的比较应该同时检查:

  • 向上和向下触达比例;
  • 触达幅度的完整分布;
  • 极端样本和反向风险;
  • 交易成本与实际成交条件。

市场状态分析不是为了挑出一个最好看的概率,而是帮助我们理解:同一个目标距离,在不同环境中可能对应怎样的机会与风险。

不过,在拆分样本之前,还有一个很容易忽略的问题:状态是什么时候确定的?

状态为什么必须在结果发生前确定?

假设我们要研究“上涨状态下,第二天向上 0.3% 的触达比例”。上涨状态只能使用第二天开始以前已经知道的数据定义。

例如,可以使用截至昨日收盘时的过去 20 日涨跌幅或均线方向。不能看到第二天已经大涨以后,再把这一天归入上涨状态。

研究顺序应该是:

text
使用昨日及以前的数据判断市场状态

观察今日最高价和最低价

计算今日是否触达目标

如果状态定义使用了结果当天尚未发生的数据,就把未来信息带进了历史实验。此时统计结果可能很好看,却无法在真实时间中复现。

所以,一项可验证的状态统计至少需要明确:

  • 状态使用哪些数据;
  • 在什么时间点计算状态;
  • 状态何时生效;
  • 随后的结果观察多长时间。

时间顺序固定以后,才能继续讨论怎样划分状态。

状态划分得越细越好吗?

不一定。

如果只分上涨、震荡和下跌,分类可能过于粗略,不同波动环境仍然混在一起。但如果不断增加条件:

text
上涨趋势
+ 成交量增加
+ CCI 低于 -100
+ 波动率下降
+ 某条均线向上

最后可能只剩下很少样本。

这形成了一项需要平衡的取舍:

text
状态过少

不同环境仍然混合
text
状态过多

样本数量下降

结果更容易受到偶然行情影响

如果测试了大量指标和阈值,再挑出历史结果最好的一组,还可能产生过拟合:分类看似精确,实际只是贴合了已经看过的数据。

因此,状态分类至少应该满足几个条件:

  • 定义明确,能够重复计算;
  • 使用的信息在当时已经可得;
  • 每种状态保留足够的有效样本;
  • 分类与研究问题存在可以解释的关系;
  • 参数小幅变化时,结果不会完全反转。

分类只是提出了一项新的假设。不同状态下出现差异,还不等于差异已经可靠。

怎样判断状态拆分是否真的有意义?

假设上涨状态的触达比例是 85%,下跌状态是 40%。两个数字相差很大,但在采用它们之前,还需要继续检查:

  • 每种状态分别有多少样本;
  • 样本是否集中在少数年份或单轮行情;
  • 状态定义稍作调整后,差异是否仍然存在;
  • 不同品种是否呈现可以解释的相似结果;
  • 未参与规则设计的新样本中,差异是否继续出现。

如果上涨状态只有 10 个样本,其中 8 个触达目标,80% 的结果仍然可能非常不稳定。新增一两个样本,就可能让比例明显变化。

还要注意,市场状态通常不会整齐切换。趋势可能逐渐形成,也可能快速反转;同一天可能同时具备上涨趋势和高波动特征。分类边界附近的样本,往往最难判断。

因此,更准确的阶段性结论不是:

市场可以被准确分成几类,每一类都有固定概率。

而是:

在明确的分类规则下,不同状态的历史样本是否呈现出值得继续验证的分布差异。

当前结论

整体历史统计把所有环境放在一起,适合回答:

过去全部样本中,某个结果出现得有多频繁?

市场状态分析则进一步追问:

在某种明确状态下,这个结果过去出现得有多频繁?

研究路径可以整理为:

text
构造全部历史样本

定义可以实时判断的市场状态

按状态拆分样本

比较触达比例与完整分布

检查样本量、稳定性与样本外结果

对于做 T 研究,真正需要关注的不只是“过去向上 0.3% 的比例是多少”,而是:

在明确的市场状态和统计口径下,向上与向下目标的历史分布发生了怎样的变化?

这种拆分不能消除未来的不确定性,也不会自动产生交易规则。它只是让参与比较的历史样本,更接近正在研究的具体问题。

到这里,新的问题随之出现:

趋势、波动和流动性都可以用不同方法定义,怎样判断一种市场状态划分是否足够稳定、值得用于后续实验?

下一篇:

《如何判断一个市场状态是否值得使用?》