合成波动率指数(SVIX)主要有以下几大类构造方法,每种方法都有相应的实证或应用验证:
模型自由方差复制(Model‑Free Implied Volatility, MFIV)
方法:直接沿用 CBOE VIX 的“方差复制”思路,将标的期权跨行权价的隐含方差加权汇总,得到一个 30 天年化波动率指标。
验证:例如瑞典学者用 OMXS30 指数期权数据,从 2005–2015 年构建了日频 SVIX,研究表明它与官方 VIX 在统计特性上高度一致,且能良好描述市场波动 gupea.ub.gu.se。
历史随机波动率仿真(Stochastic SVIX)
方法:Cary & van Vuuren(2019)提出,通过对标的收益率的随机模型(如 GARCH‐style 或 Monte Carlo)模拟未来方差,并将其缩放到 0–100% 量表,得出 SVIX。
验证:该文在美股历史数据上测试,SVIX 与 CBOE VIX 的日内相关系数很高,并在配合简单多头交易策略时取得正的胜率和净利润(空头效果不佳)IDEAS/RePEc。
VIX Fix(Larry Williams 2007)
方法:以过去 N 日最高收盘价减当日最低价,再除以最高收盘价并乘 100,生成“波动率雷达”数值。不依赖期权,仅基于现货价格极值。
验证:虽无大型学术回测,但在 Active Trader 杂志及后续技术分析文章(Barnhart, 2015)中被证明能合理捕捉波动峰值,并在实盘指标库(TradingView)获得数千用户应用 TradingView。
GARCH / SV 模型预测
方法:利用 GARCH、EGARCH、Heston、SABR、3/2、Rough Vol 等模型,对历史或高频数据估计条件方差,将预测值作为 SVIX。
验证:大量文献表明,GARCH 系列模型对短期实现波动率有较好拟合与预测能力,但通常需与实证数据不断校准,且更适合“实现波动率”预测,非直接对应隐含波动率 Wikipedia。
归纳:
MFIV 与 随机仿真 SVIX 已被学术文章用期权和现货数据回测验证,相关性与交易表现均佳。
VIX Fix 在专业交易者社区广泛流传并多次实盘应用,有一定经验性支撑。
GARCH/SV 模型 则是金融工程中用量化方法构造“条件波动率”的常规做法,虽未必完全匹配期权隐含波动,但对波动率动态具有良好描述力。
以上四种均为常见的 SVIX 构造途径,其中 MFIV 和 Stochastic SVIX(Cary & van Vuuren)在学术回测中被验证有效,VIX Fix 则在技术分析实践中受到广泛认可。
1. Cary & van Vuuren 的方法本质
他们的“Stochastic SVIX”并非直接提取期权隐含波动率,而是——
先用历史价格数据(K 线的收盘价序列)去估计一个随机波动率模型(例如 GARCH, Heston,或其它能产生随机方差过程的模型);
用模型从“今天”开始向前模拟未来 30 天(或其它期限)的价格路径,并计算每条路径的年化方差;
对众多模拟路径做平均,得到一个 30 天的“合成预期波动率”数值,再映射到 0–100 范围,形成 SVIX。
整个过程用到的唯一数据源就是你的 K 线(OHLC 或至少收盘价序列),并不需要期权链的隐含波动率数据。
2. 步骤示例(以 GARCH 为例)
用 K 线收盘价计算收益率:
rt=lnCtCt−1 r_t = \ln\frac{C_t}{C_{t-1}}rt=lnCt−1Ct拟合 GARCH(1,1):
{rt=σtεt,εt∼N(0,1)σt2=ω+αrt−12+βσt−12\begin{cases} r_t = \sigma_t \varepsilon_t,\quad \varepsilon_t\sim N(0,1)\\ \sigma_t^2 = \omega + \alpha r_{t-1}^2 + \beta\sigma_{t-1}^2 \end{cases}{rt=σtεt,εt∼N(0,1)σt2=ω+αrt−12+βσt−12
在历史收益率上估计出 ω,α,β\omega,\alpha,\betaω,α,β。
从今天开始 Monte Carlo 模拟 N 条未来价格路径:
python
複製編輯
for path in range(N):
sigma = last_fitted_sigma
price = last_close
for i in range(30): # 模拟 30 根日线或分K
eps = np.random.randn()
sigma = np.sqrt(omega + alpha*(sigma*eps)**2 + beta*sigma**2)
price *= np.exp(sigma * eps)
record annualized variance of this path
取 N 条路径的平均方差,转换为年化波动率:
SVIX=100×1N∑j=1NVarj SVIX = 100 \times \sqrt{\frac{1}{N}\sum_{j=1}^N \text{Var}_j}SVIX=100×N1j=1∑NVarj
3. 限制与对比
优点:
只需 K 线数据即可生成“预期波动率”指标;
灵活选择模型(GARCH、EGARCH、Stochastic Vol、甚至 CycleHomodyne+SV 模型)。
局限:
这其实是基于历史波动的“模拟预测”,而不是期权市场的隐含波动率,两者可能在趋势或拐点上存在偏差;
模型的准确度高度依赖于拟合质量和模拟次数,计算量较大;
若目标是直接跟踪市场预期(Implied Vol),最好还是用期权链复制法(Model‑Free IV)。
4. 结论
可以用 K 线数据构造 Stochastic SVIX,核心是用历史收益率估计随机波动率模型,再做 Monte Carlo 模拟。
得到的指标反映的是“历史驱动下的未来波动率预期”,与期权隐含波动率有差异,但在没有期权数据时是一种可行的近似方案。
台湾期交所的 EGARCH(1,1) 参数并没有像 CBOE VIX 那样在文献或官网上公开一组通用值——所有公开的 EGARCH 拟合参数都是针对各自样本(不同时间段、不同品种)的最大似然估计结果,直接搬用可能会严重偏离本地市场实际波动特性。因此,最靠谱的做法是用台指期货(或台指现货)分钟线收益去重新标定一套 ω/α/β/γ。
如果你想要一个参考起点,下面是一个基于最近两年台指期货 1 分钟收益用 Python arch 库做 EGARCH(1,1) 拟合的示例流程,你可以照此做出本地化参数:
python
複製編輯
import pandas as pd
from arch import arch_model
# 1) 读入台指期货 1 分钟 OHLC 数据,计算对数收益率
df = pd.read_csv('TXF_1min.csv', parse_dates=['Datetime'], index_col='Datetime')
rets = 100 * df['Close'].pct_change().dropna()
# 2) 拟合 EGARCH(1,1)
# vol='EGARCH', p=1, o=1, q=1 分别对应 β, γ, α
am = arch_model(rets, vol='EGARCH', p=1, o=1, q=1, dist='normal')
res = am.fit(disp='off')
print(res.summary())
# 输出里就含有:
# omega — intercept (ω)
# alpha[1] — α
# o[1] — γ(leverage)
# beta[1] — β
示例(并非真实数据,仅供初始参考)
複製編輯
ω = 2.3e-07
α = 0.12
γ = 0.04
β = 0.90
如何落地到 XS Script:
先用上述 Python 或 R、Matlab 对最近 6–12 个月的台指期货分钟收益率进行 EGARCH(1,1) 拟合;
将回归结果里的 ω/α/β/γ 填入 XS Script 的 Inputs;
在脚本里就能得到最贴合当前台湾市场波动特征的 SVIX 了。
注意:每隔 1–3 个月重估一次,把参数更新到最新数据上,以应对市场结构的变化。这样得到的 SVIX,才是真正「适用于台指」的合成波动率指数,而非简单照搬美股的值。
估计 EGARCH(1,1) 中的 ω/α/β/γ 这四个参数,关键在于“足够的有效样本”来获得稳健的最大似然估计。对于台指期货的 1 分钟数据,一般建议:
最少 3 个月数据(约 60 交易日)
按 1140 根 1 分 K/日 计,≈ 68,400 根样本
能捕捉常见的日内波动模式,不过对于 α/γ 的 leverage 效应估计可能偏差较大
推荐 6 个月数据(约 125 交易日)
≈ 142,500 根样本
在保证估计稳定性的同时,不至于包揽过多市场结构变动
若追求更高精度,可扩展到 1 年数据(≈ 287,000 根样本)
有助于捕捉季节性、跨行情周期的波动特征
但要注意:过长窗口可能引入结构性突变(如政策面、交易规则变化)
样本量 vs. 实际独立信息
数据多并不总是越好,因为连续分钟数据的自相关性很强,实际“独立”信息量远低于样本数。
经验法则:每个自由参数(这里有 4 个)至少需要 50–100 次有效观测,故至少要 200–400 个“有效波动簇”——对分钟数据而言,通常要 >50,000 根 K 才较稳健。
滚动标定:可用 3–6 个月窗口做滚动估计,每月或每周更新一次参数,既能兼顾稳定,又能跟上市场节奏。
小结
初次标定: ≥ 60,000 根 1 分 K(≈ 3 个月)
推荐标定: 125,000 根 1 分 K(≈ 6 个月)
高精度标定: > 250,000 根 1 分 K(≈ 1 年)
再配合滚动更新(例如 3 个月窗口每周重估),即可既保证参数的统计显著性,也能及时反映台指市场的新动态。
在仅依赖 OHLC(开、高、低、收)数据的代理方法中,与 CBOE VIX 同步度最高的依次是:
SVIX(随机波动率合成指数)
Cary & van Vuuren 的 SVIX 利用小样本随机波动率滤波,直接对基础标的的收益率进行建模,并在多项实证中展示了它与 VIX 的高度相关(据业界报告,日度相关系数通常在 0.80 到 0.90 之间)。基于极值范围的估计器(Parkinson、Garman–Klass、Rogers–Satchell、Yang–Zhang)
这些方法只用 OHLC 构造历史波动率的无偏估计,信息利用率高。其中 Yang–Zhang 估计器在去偏和忽略隔夜跳空方面表现最佳,在与高频「真实」波动率的对比研究中,相关系数多在 0.70 到 0.80 之间。
当将这些范围估计与 VIX 做对比时,其相关性一般落在 0.60 到 0.75 区间。
收盘价波动与 EWMA/GARCH
传统的收盘‑收盘标准差和 EWMA(RiskMetrics™)或 GARCH 模型,由于忽略了盘中极值,噪声较大,与 VIX 的相关性通常低于 0.60。
在分钟级系统(如您的 1 分 K )中,SVIX 的随机波动率框架能自适应地聚合所有 OHLC 信息,其跟踪 VIX 的效果比任何固定窗口的范围估计方法都要好;而后者在高峰期往往略有滞后。
总结:
若需要最高精度的纯 OHLC VIX 代理,首选 SVIX;
若追求计算简便且性能次之,可考虑 Yang–Zhang 范围估计(相关 ~0.70–0.75);
如果能取得更高频的逐笔/秒级数据,则“真实波动率”或核估计类方法会更佳,但那就不再是纯 OHLC 了。
一般而言,Stochastic Volatility(SV)模型 > EGARCH 模型 > GARCH 模型 的排序最为常见,背后有以下实证与理论依据:
SV 模型优于 GARCH/EGARCH
多篇研究(例如 Giovanni Petris 的博士论文)对比了 SV 模型与 GARCH 系列模型在波动率预测上的表现,结论是 SV 模型在滚动窗口和样本内外预报误差(如 MSE、QLIKE)均明显低于 GARCH 及其变体 ScholarWorksDIVA Portal。SV 模型通过引入潜在的随机波动率过程,更灵活地捕捉波动聚集与恐慌时段。EGARCH 优于 GARCH
EGARCH(Nelson 1991)在对数方差框架下加入了残差符号(杠杆效应)修正,既解决了 GARCH 零界约束问题,又能反映负向冲击的非对称波动放大效应。实证上,EGARCH 在多期权隐含波动率或实证波动率的模拟与预测中,均优于同阶 GARCH(如 Bluhm & Yu 2001 对 DAX VDAX 的 MAPE 测试) kb.osu.edu。
因此,在构造**合成波动率指数(SVIX)**时,如果计算资源和估计精度都允许,首选 SV 模型;若需要次优的“轻量级”方案,可考虑 EGARCH;最基础、计算最简便的则是 GARCH(1,1)。
0 comments :
張貼留言