度量方法"/>
【Option 101】【未完成】历史波动率的不同度量方法
以下所有材料均整理总结自 Volatility Trading(2nd edition)
by Euan Sinclair . 自行翻译、整理以供学习交流。侵删。
1. Close-to-close
公式: σ ^ = Σ i = 1 i = N ( r i − μ ) 2 N \hat{\sigma} = \sqrt{\frac{\Sigma_{i = 1}^{i = N} (r_i - \mu)^2}{N}} σ^=NΣi=1i=N(ri−μ)2 再年化
优点: 简单易懂
缺点:
-
没考虑隔夜跳空,容易低估。
-
biased,会系统性低估。这可以依赖参数修正,具体方法见Volatility Trading. 但这个调整系数也是基于标的GBM算出来的,在jumps的情况下有多准暂时没看到文献。
-
最致命的:inefficient(即estimator本身的variance很大,且随着样本数量N递减速度很慢,只有 O ( N ) O(\sqrt{N}) O(N ))。
直观地看,一个30%vol的股票的30日close-to-close estimator,标准差能达到3.8%个vol,也就是说实际30%的vol测出来个37.6%也是两个标准差之内的事情,很正常的。显然误差太大。
以下为理论, 重点关注biase产生的原因,更正方法适用条件;inefficiency的度量和产生原因。实际操作中可以忽略。
数学上,
1. Return独立就会产生低估的biase,现实中非独立的return Baise可能会更大。
基础统计告诉我们,把return的平方和加起来,然后对biase做调正,就能得到unbiased的的方差estimator,即:
V a r ( r ) ^ = Σ i = 1 i = N + 1 r i 2 N − 1 \hat{Var(r)} = \frac{\Sigma_{i=1}^{i = N+1} r_i^2}{N - 1} Var(r)^=N−1Σi=1i=N+1ri2是unbiased。注意这个式子不论 r r r是不是normal都成立。
我们的close-to-close是这个estimator开根号,即
σ c t c ^ = V a r ( r ) ^ \hat{\sigma_{ctc}} = \sqrt{\hat{Var(r)}} σctc^=Var(r)^ .
但这个close-to-close estimator却是biased的,因为
E ( σ c t c ^ ) = E ( V a r ( r ) ^ ) ≤ E ( V a r ( r ) ^ ) = σ \mathbb{E}(\hat{\sigma_{ctc}}) = \mathbb{E}(\sqrt{\hat{Var(r)}}) \leq \sqrt{\mathbb{E}(\hat{Var(r)})} = \sigma E(σctc^)=E(Var(r)^ )≤E(Var(r)^) =σ
其中不等号来自于Jensen’s inequality(期望是平均,而平方根是凸的。所以平均的平方根大于平方根的平均。)
2. 正态分布假设下,可以推导出Biase的更正系数
假设标的符合drift为0,波动率为 σ \sigma σ的几何布朗运动。 s = σ c t c ^ s = \hat{\sigma_{ctc}} s=σctc^有如下的概率密度:
对 s s s求积分得到
E ( s ) = b ( N ) σ \mathbb{E}(s) = b(N)\sigma E(s)=b(N)σ, 其中
大致的 b ( N ) b(N) b(N)的值如下:
还有个毛估估的公式:
问题是,现实中的Data Generation Process是未知的,而且return的分布会更肥尾,靠谱的correction factor应该是基于类似t-distribution推导的出的,但这方面的文献暂时没看到。所以correction factor实操里暂时不使用。
3. Inefficiency:具体形式依赖于Normal Distribution,但从常识来讲,越厚尾的distribution实现值就散的越开,那基于实现值加总的estimator也就散的越开。也就是说,现实里 σ c t c ^ \hat{\sigma _{ctc}} σctc^的variance只会更大。
在正态分布下,close-to-close的variance是
利用下式稍加化简,
V a r ( s ) Var(s) Var(s)里 N N N最高次幂是1,这一项是
从这个式子可以看出estimator的方差只随着 N N N的平方根线性递减,降得很慢。
图像上,variance和N个反比例关系,也印证了estimator的误差随着 N N N平方根递减。
2. Parkinson 1980. aka High low HV
公式: σ ^ = Σ i = 1 i = N ( l n h i l i ) 2 4 N l n 2 \hat{\sigma} = \sqrt{\frac{\Sigma_{i = 1}^{i = N} (ln\frac{h_i}{l_i})^2}{4Nln2}} σ^=4Nln2Σi=1i=N(lnlihi)2 再年化
理解:
4Nln2是标的布朗运动假设下,振幅的second moment和波动率之间的转换系数。具体如下:
对于一个drift为0的布朗运动(注意,标的是Geometric Brownian Motion,log标的就是Brownian Motion),记每个小段时间为 t t t,振幅range为 l l l, 即 l = x m a x − x m i n l = x_{max} - x_{min} l=xmax−xmin.
Feller 1951 证明了 E ( l 2 ) = ( 4 l n 2 ) σ 2 t \mathbb{E}(l^2) = (4ln2)\sigma^2 t E(l2)=(4ln2)σ2t。取t = 1, 并在年化时对比例做调整即得到Parkinson HV。
优点: 有日内信息,而且也很直观
缺点:
-
没有跳空
-
High Low数据不稳定
-
系统性低估,且不知道怎么调整. range和只适用于GBM的标的过程,而现实当中标的是jumps(即我们用的模型是连续的GBM,现实中更像是Poisson Arrival),所以会系统性地低估。这在国内商品期货上能得到验证
低估到底有多剧烈?Garman & Klass(1980)用jumps来生成stock price,然后用Parkinson去测波动率,发现HV20这个estimator的平方差不多是真实variance的64%(粗略开根号一下,vol本身是80%)。
当然在GBM的假设下,可以把调整系数推出来,但还是会碰到和close-to-close调整一样的问题,即不知道调整系数本身有多准。
3. Garman-Klass 1980, aka High Low Close HV
公式:
σ ^ = 1 2 N Σ i = 1 i = N ( l n h i l i ) 2 − 1 N Σ i = 1 i = N ( 2 l n 2 − 1 ) ( l n c i c i − 1 ) 2 \hat{\sigma} = \sqrt{\frac{1}{2N}\Sigma_{i = 1}^{i = N}(ln\frac{h_i}{l_i})^2 - \frac{1}{N}\Sigma_{i=1}^{i=N}(2ln2-1)(ln\frac{c_i}{c_{i-1}})^2} σ^=2N1Σi=1i=N(lnlihi)2−N1Σi=1i=N(2ln2−1)(lnci−1ci)2
理解: 系数和符号?
优点: 有日内信息
缺点: 和Parkinson本质上是一样的
注意: 计算时需要取到 c 0 c_0 c0的数据。
4. Rogers & Satchell 1991, OHLC
公式:
σ ^ = 1 N Σ i = 1 i = N [ l n ( h i c i ) l n ( h i o i ) + l n ( l i c i ) l n ( l i o i ) ] \hat{\sigma} = \sqrt{\frac{1}{N}\Sigma_{i = 1}^{i = N}[ln(\frac{h_i}{c_i})ln(\frac{h_i}{o_i}) + ln(\frac{l_i}{c_i})ln(\frac{l_i}{o_i})]} σ^=N1Σi=1i=N[ln(cihi)ln(oihi)+ln(cili)ln(oili)]
理解: 结合振幅和涨跌,计算波动率
优点: 日内信息更加细致,high low的错误影响相对减小
缺点: 没有跳空
5. Yang & Zhang 2001, OHLC + Jump
(图片引自邱紫华老师 上期所期权高级培训师课程 课件)
理解: 系数和加权方法?
优点: 日内日间都有
缺点: 跳空实际上是瞬间的,这里把跳空当做一个交易时间段处理,也就是用测diffusion的 σ \sigma σ的方法去测jump的 σ \sigma σ,会低估
注意: 计算时需要取到 c 0 c_0 c0, o 0 o_0 o0的数据。
更多推荐
【Option 101】【未完成】历史波动率的不同度量方法
发布评论