Appearance
为什么不同市场状态,需要不同的历史统计?
上一篇文章讨论了如何以昨日收盘价为起点,通过当日最高价和最低价构造历史波动样本,并计算目标价格的历史触达比例。
假设统计结果显示,某只 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% 的比例是多少”,而是:
在明确的市场状态和统计口径下,向上与向下目标的历史分布发生了怎样的变化?
这种拆分不能消除未来的不确定性,也不会自动产生交易规则。它只是让参与比较的历史样本,更接近正在研究的具体问题。
到这里,新的问题随之出现:
趋势、波动和流动性都可以用不同方法定义,怎样判断一种市场状态划分是否足够稳定、值得用于后续实验?
下一篇:
《如何判断一个市场状态是否值得使用?》