1. 课程导入
大多数交易者的困境并不是“没有策略”,而是“用错了策略”。趋势跟踪在震荡市里被反复止损,均值回归在单边行情中不断逆势加仓,网格策略遇到趋势突破后仓位失控——这些亏损的共同根源,是策略与市场状态不匹配。本课程要解决的核心问题只有一个:如何用可量化、可复现的方法识别市场当前处于什么状态,并据此在策略之间进行切换。
隐马尔可夫模型(Hidden Markov Model,HMM)正是为此类问题设计的统计工具。它假设市场存在若干不可直接观测的“隐藏状态”(如趋势、震荡、高波动危机),而我们能观察到的只有收益率、波动率、成交量等“观测序列”。HMM 通过观测序列反推隐藏状态的概率分布,从而给出一个客观、连续、可回测的市场状态判断。
学习目标:三层能力递进
本课程的学习目标分为三个层次,层层递进,最终落到可执行的交易系统上。
- 原理层:理解 HMM 的三大要素——初始状态概率、状态转移矩阵、发射概率,以及前向-后向算法、Baum-Welch 参数估计、Viterbi 状态解码的数学含义与适用边界。
- 方法层:掌握从特征工程(收益率、已实现波动率、换手率、量价背离)到模型训练、状态数选择(AIC/BIC/似然)、状态标签语义化的完整流程。
- 实战层:能够把 HMM 输出的状态概率映射为策略权重,构建“趋势策略 + 均值回归策略 + 防御策略”的切换规则,并完成回测、归因与风控。
核心价值:HMM 不是预测涨跌的“水晶球”,而是给策略切换提供一个概率化的决策依据。它把“现在该不该做趋势”这种主观判断,转化为“当前处于趋势状态的概率是 0.78”这样的可计算输入,从而让策略切换有据可依、可回测、可迭代。
整体课程框架:六模块三十章
课程按“认知—建模—识别—切换—风控—复盘”的主线展开,共三十章,形成一条完整的实战路线。
| 模块 | 核心内容 | 产出物 |
|---|---|---|
| 模块一:认知与导入 | 市场状态的定义、HMM 适用性、课程路线图 | 状态识别问题清单 |
| 模块二:HMM 原理 | 马尔可夫链、转移矩阵、发射分布、三大算法 | 原理推导笔记 |
| 模块三:特征与建模 | 特征工程、状态数选择、参数估计、状态语义标注 | 可训练的状态识别模型 |
| 模块四:策略切换 | 状态到策略的映射、权重分配、切换阈值与滞后处理 | 策略切换规则表 |
| 模块五:回测与风控 | 向量化回测、交易成本、状态误判的容错设计 | 回测报告与风控参数 |
| 模块六:复盘与迭代 | 归因分析、常见误区、模型再训练节奏 | 迭代检查清单 |
核心原理速览:状态不可见,但可推断
HMM 的基本假设是:市场在每个时刻处于某个隐藏状态 S_t,状态之间按转移矩阵 A 演化,而每个状态会以一定的概率分布“发射”出我们看到的观测值 O_t。用公式表达就是:
P(S_t | S_{t-1}) = A # 状态转移
P(O_t | S_t) = B # 发射概率
π = 初始状态分布
观测序列 O = [o_1, o_2, ..., o_T]
目标:推断 P(S_t | O),即每个时刻的状态后验概率
训练完成后,模型会输出每个时刻属于各状态的概率。例如某日输出:趋势状态 0.72、震荡状态 0.21、危机状态 0.07。策略切换模块据此决定仓位与策略权重,而不是等行情走完再“事后归类”。
实战场景:一次典型的状态切换
假设我们用沪深300指数日频数据训练了一个三状态 HMM。某段时间模型输出如下:
日期 趋势概率 震荡概率 危机概率 识别状态
2024-03-01 0.81 0.15 0.04 趋势
2024-03-15 0.42 0.51 0.07 震荡
2024-04-02 0.18 0.29 0.53 危机
2024-04-18 0.35 0.58 0.07 震荡
策略切换模块据此执行:3月1日趋势策略权重提升至 0.8;3月15日切换为均值回归为主;4月2日危机状态触发降仓与防御策略;4月18日重新回到震荡模式。整个过程不需要主观判断“现在是不是牛市”,而是由状态概率驱动。
提示:状态概率是连续值,切换时建议设置“确认阈值 + 最短持有期”,例如趋势概率连续两日大于 0.7 才切换,避免状态概率在 0.5 附近反复跳动导致频繁交易。
常见误区与复盘要点
初学者在使用 HMM 做状态识别时,最容易踩以下四个坑:
- 把状态数当成越多越好。状态数过多会导致过拟合,状态语义难以解释。一般从 2~4 个状态开始,用 AIC/BIC 和样本外似然共同判断。
- 用全样本训练再回测。这会造成未来函数。正确做法是滚动窗口训练,每次只用历史数据估计参数,再对下一段做状态推断。
- 忽略状态标签的语义漂移。同一编号的状态在不同训练窗口可能含义不同,必须每次重新做状态语义标注,不能硬编码“状态0就是趋势”。
- 切换过于频繁。状态概率本身有噪声,直接按最大概率切换会产生大量无效交易。需要加入平滑、滞后和交易成本约束。
风险提醒:HMM 假设状态转移具有马尔可夫性,且发射分布形式固定。真实市场存在结构突变和厚尾特征,模型会失效。因此 HMM 只能作为策略切换的辅助决策输入,不能替代风控与仓位管理。
接下来的章节将从 HMM 的数学原理讲起,逐步搭建特征工程、模型训练、状态识别、策略切换与回测复盘的完整链路。你最终得到的不是一段孤立的代码,而是一套可以持续迭代的市场状态识别与策略切换系统。