- HMM 状态切换资产配置:让模型自己识别牛熊震荡
隐马尔可夫模型(HMM)号称能「让数据自己说话」、自动识别市场状态——但这个「自动」里藏着两个致命陷阱:look-ahead 污染的 Viterbi 全样本解码让准确率看起来很漂亮(80%+),一旦剥掉未来信息、换成因果 Filtering,准确率直接跌回随机水平(≈11%);而即便模型「猜对了」,状态切换的平均识别滞后高达 99.5 天,熊市开始时中位数滞后 217.5 天——等模型翻多,熊市已经走了大半年。本文用 5000 天受控仿真(真实状态序列已知)+ 纯 numpy 从零实现 Baum-Welch / Viterbi / Forward Filtering,实证揭露:HMM 在高信噪比仿真中仍无法可靠检测状态(准确率 11%),但基于估计状态的顺势配置仍跑出 Sharpe 1.04 vs B&H 0.74 的超额收益——这部分 alpha 来自状态持续性本身,而非状态预测;零状态安慰剂(HMM 喂给 i.i.d. 收益)跑出 Sharpe 119 的「虚假繁荣」,是所有 regime 研究最需要警惕的自欺;K=3 在本数据上最优,但 K=6 的 OOS Sharpe 更高,说明状态数选择本身就是一个过拟合维度(中阶→高阶)。
20 min Chinese - 状态切换凯利下注:让仓位在牛熊之间自动收放
凯利公式给出理论最优杠杆,但它假设赔率恒定——市场偏偏在牛熊两套参数间来回切。本文用纯 numpy 合成两状态市场(转移矩阵 P、牛市 μ=+0.09%/σ=0.9%、熊市 μ=-0.16%/σ=2.4%),先用 HMM 前向算法在线滤出熊市后验概率(识别准确率 95%),再把凯利分数按后验期望在牛熊之间加权收放。回测对决:固定半凯利与买入持有几乎重叠(总收益 25%、Sharpe 0.24、最大回撤 -64%),而状态切换凯利总收益 77%、Sharpe 0.52、最大回撤压到 -32%——收益翻三倍、回撤砍半,核心不是预测方向而是在熊市把杠杆主动收回甚至反手。全文诚实拆穿:凯利分数对参数估计误差极度敏感(牛市理论 f*=11 必须靠半凯利+CAP 硬压)、在线滤波天然滞后(状态切换后要几天才反应,切点附近必吃亏)、状态数与转移矩阵是先验强假设、样本外真实市场没有干净的两状态结构四类陷阱(中高阶)。
15 min Chinese - 平滑转移自回归 STAR:用连续过渡函数给 regime 加一条软边界
TAR 的硬门限意味着 y 从 −0.0001 变到 +0.0001 时模型系数瞬间跳变——市场哪有这么听话的开关。STAR 用逻辑过渡函数 G(γ,c) 把两套 AR 系数连续混合:γ 大是硬切换(退化成 TAR),γ 小是渐变,让数据自己决定边界的软硬。纯 numpy 实现 LSTAR 网格估计(γ×c 双重网格+内层 OLS):合成 LSTAR 数据上估出 γ̂=2.5(软边界),RSS 比线性 AR 低 4.4%,比硬 TAR 再低 0.015%。真正的红利在仓位端:G 函数天然输出 0~1 连续状态权重,软仓位择时样本外 Sharpe 4.95 vs 硬 0/1 仓位 4.19,最大回撤 −5.2% vs −10.0%,平均仓位仅 53%。诚实翻车:γ 与 c 联合估计病态(γ 大时似然面平坦),本实验训练集就把 γ=2.5 估成了 6;γ 不可识别时 Luukkonen LM 检验才是正解;软仓位的换手成本被本文忽略。拆穿 STAR 一定优于 TAR/γ 可以精确估计/软边界=模糊无用等陷阱(中阶)。
11 min Chinese - 门限自回归 TAR 非线性建模:用状态依赖的回归捕捉市场不对称反应
线性 AR 假设涨跌反应对称——但市场明显不是:下跌后反转快、上涨后延续慢。TAR/SETAR 用一个门限把状态空间切成两段,每段各配一套 AR 系数,让『昨天涨还是跌』决定今天用哪个模型。纯 numpy 实现网格搜索门限估计:合成 SETAR 数据上,下状态斜率 −0.20(均值回归)、上状态 +0.36(动量延续),线性 AR 只能给出一条『平均直线』全部拟丢,SETAR 把 RSS 压低 3.4%。样本外择时回测:TAR 择时 Sharpe 4.69 vs 线性 AR 4.19 vs 买入持有 4.46,最大回撤从 −7.6% 收窄到 −6.1%,仓位暴露仅 87.8%。诚实翻车:门限估计的抽样误差不小(真值 0 估出 −0.0034);Hansen 检验下门限参数不可识别导致标准推断失效;两段样本量不平衡时小状态系数噪声大。拆穿门限=拐点万能/RSS 降幅小=无用/TAR 一定赢线性等陷阱(中阶)。
11 min Chinese
返回