研究框架

多模型特征工程框架

状态 · 波动率 · 滤波 · 频域 · 记忆性 · 分解

六个量化模型,各自为预测引擎提供一组互补的特征。深度学习建立在这些统计方法之上。

前提

在第一个 token 之前

预测引擎只看价格。这样做可行,是因为它拿到的价格已经过加工。第一根 K 线被编码之前,六个量化模型已经在同一条数据上跑过一遍:滤掉噪声,分解序列,推断当前状态,估计未来波动率。引擎拿到的是一张带着背景信息的图表。

六个模型都来自公开的量化文献,每个都附有出处,各自回答一个问题,基础模型就省去了每次请求都重新学一遍。

原始 OHLCV六组特征编码预测

模型

六个模型,六组特征

每个模型都有公开出处、引文和公式。每条最后一行,写的是这组特征在引擎里起什么作用。

01

HMM Regime

状态 · 隐马尔可夫模型

概率状态空间模型,从可观测的价格走势推断隐藏的市场状态(多头 / 空头 / 震荡)。下游每次预测都以当前状态为条件,忽略状态的预测从一开始就设定错了。

P(sₜ | x₁:ₜ) ∝ P(xₜ | sₜ) · Σ P(sₜ | sₜ₋₁) · P(sₜ₋₁ | x₁:ₜ₋₁)

Rabiner (1989) · Hamilton (1989)

提供状态标签,决定引擎用哪个输出分支处理请求。

02

HAR-RV

波动率 · 异质自回归已实现波动率

长记忆的波动率预测模型,把已实现方差按日、周、月三个尺度聚合。今天的波动率受多个时间尺度影响,这一点单靠 GARCH 会漏掉。

RVₜ₊₁ = β₀ + β_d·RVₜ⁽ᵈ⁾ + β_w·RVₜ⁽ʷ⁾ + β_m·RVₜ⁽ᵐ⁾ + εₜ₊₁

Corsi (2009)

校准引擎的置信区间,预测区间随波动率预测变宽或收窄。

03

Kalman Filter

滤波 · 递归状态空间估计器

最优递归滤波器,把带噪声的观测和底层状态的动力学模型结合起来。它从原始报价中提取出隐藏的合理价格,引擎看到的是去噪后的信号。

x̂ₜ|ₜ = x̂ₜ|ₜ₋₁ + Kₜ(yₜ − Hₜ x̂ₜ|ₜ₋₁)

Kalman (1960)

在编码之前,把 OHLCV 数据流预处理成降噪后的状态向量。

04

ATFNet

频域 · 自适应时频网络

神经网络架构,用共享的自适应主干同时在时域和频域学习特征。它捕捉周期性结构,比如日内季节性和时段效应,纯时域模型会系统性地漏掉这类结构。

h = Adaptive[ Encoder_t(x) ⊕ Encoder_f(F{x}) ]

Liu et al. (2024)

提供带频域信息的特征嵌入,拼接到 token 序列上。

05

Hurst Exponent

记忆性 · R/S 长记忆统计量

由价格序列的重标极差统计量估计出的标度指数。H = 0.5 是随机游走,H > 0.5 表示趋势延续,H < 0.5 表示均值回归。它告诉引擎该用哪种预测先验。

E[R(n)/S(n)] ∼ n^H, H = lim (log E[R/S]) / (log n)

Hurst (1951) · Mandelbrot & Wallis (1969)

在引擎的趋势跟随和均值回归两类输出分支之间做选择。

06

VMD

分解 · 变分模态分解

非递归的信号分解方法,把价格序列拆成若干个各有中心频率的带限分量。每个分量单独建模,再重新合并。

min { Σₖ ‖∂ₜ[(δ + j/(πt)) ∗ uₖ(t)] e^{−jωₖt}‖² }

Dragomiretskiy & Zosso (2014)

多频带特征,高、中、低频分量各自独立预测。

分工

六个模型分作三种职责

六组特征各管一件事,各自改变引擎处理数据的某个具体环节,互相之间没有重叠。

清理输入数据

Kalman Filter · VMD

原始报价里有噪声,模型的容量本该省下来。卡尔曼滤波从数据里提取底层状态,VMD 把序列拆成分别建模的频带。引擎拿到的是干净的信号。

选择预测先验

HMM Regime · Hurst Exponent

同一个形态,在不同环境下含义不同。状态模型判断市场此刻在走趋势、震荡,还是结构破坏;Hurst 指数衡量行情倾向延续还是回归。两者一起决定请求交给引擎的哪个输出分支。

决定预测区间的宽窄

HAR-RV · ATFNet

HAR-RV 在日、周、月三个尺度上预测波动率,决定引擎把区间画多宽。ATFNet 补上纯时域分析会漏掉的周期性结构,包括时段效应和日内季节性。

下游

所有特征最后汇到同一个地方。六个模型的输出,就是预测引擎的输入,引擎的原理有单独一页介绍。

预测引擎

为下一个交易时代而生