您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[国泰君安证券]::如何使用傅里叶级数估计波动率 - 发现报告

:如何使用傅里叶级数估计波动率

2022-05-03国泰君安证券从***
:如何使用傅里叶级数估计波动率

投资学是一门学术界与业界紧密结合的学科,其中大类资产配置是这种紧密结合的代表。从Markowitz(1952)开创现代投资组合理论开始,学术界为业界提供了丰富的理论参考和方法模型,推动了大类资产配置实践的繁荣发展。为了帮助读者及时跟踪学术前沿,我们推出了“精品文献解读”系列报告,从大量学术文献中挑选出精品论文进行剖析解读,为读者呈现大类资产配置领域最新的思路和方法。 本篇为读者解读的文献是MalliavinandMancino(2002)在Finance &Stochastics上发表的论文“Fourier series method for measurement of multivariate volatilities”。 本文提出了一种针对半鞅(semi-martingale)数据的波动性测算方法,主要数学工具为傅里叶分析。该方法本质上一种无模型(model-free)的非参数(nonparametric)方法,因此具有很强的数据适应性。 本文基于傅里叶分析,提供了一种全新的波动率测算方法。由于该方法基于积分而非微分,因此其不仅比来自二次变差的传统方法具有更强的稳健性,而且对高频场景的适用性也会更强,值得战略、战术配置投资者参考借鉴。 1.文献概述 文献来源: Malliavin P,Mancino M E.Fourier series method for measurement of multivariate volatilities[J]. Finance & Stochastics, 2002, 6(1):49-61. 文献摘要: 本文提出了一种针对半鞅(semi-martingale)数据的波动性测算方法,主要数学工具为傅里叶分析。该方法本质上一种无模型(model-free)的非参数(nonparametric)方法,因此具有很强的数据适应性。 文献评述: 本文基于傅里叶分析,提供了一种全新的波动率测算方法。由于该方法基于积分而非微分,因此其不仅比来自二次变差传统方法具有更强的稳健性,而且对高频场景的适用性也会更强,值得战略、战术配置投资者参考借鉴。 符号说明: 本文中,方括号在求和指标上视同如下集合: [d] = {1,2, … , d} 2.二次变差中的Wiener定理 二次变差(quadraticvariation)的定义如下。假设函数 ϕ, ψ: [0,1] → ℝ 于是对任意的时间t可以定义 k + 1[ϕ ( 2 k k + 1 2 k ⟨ϕ, ψ⟩ ≔ lim(∑ ) − ϕ ( )] [ψ (2 ) − ψ ( )]), t ∈ [0,1]2 t n n n n n→∞ n 0≤k≤2t 此时,利用Ito引理不难证明所谓Wiener定理如下: 定理1考虑一个实值d维Brownian运动, d (x,⋯,x) 则有: j k j k ⟨ x,x ⟩ [ ] =δt,∀t∈0,1,∀j,k∈d [] t 𝑗𝑘 其中𝛿仅在j=k时为1,其余时候为0。 3.Bachelier范式下的二次变差 所谓的Bachelier假设如下: 【Bachelier假设】数据u作为一个半鞅,其Ito微分形如: j i j i j ∑ du= αdx+βdt,∀j∈[m] i∈[d] 其中 ∗ x=独立的Brownian运动{ ∗∗∗ α=时变函数β=时变函数 在上述假设下可以证明 定理2假设函数 j i j [ ] α,β:0,t→ℝ 为一致有界的时变函数,那么我们几乎必然(almostsurely)有如下恒等式成立: t j i j k k j ⟨ u,u ⟩ ∫∑()()= αsαsds t i 该定理的原始证明较长(参见文献原文),但利用Ito引理(此处我们使用了Einstein和号约定)在形式上直接可以“看出”: t j i j i j k i j k l l k j k l k 3/2 ⟨u ⟩ ⟩ + ∫ 𝒪(dt , u = ⟨αdx+ βdt, αdx+ βdt⟩= ⟨αdx, αdx ) t t t t j j i kl i il k i (s)α(s)ds = ∫ ααδds= ∫ ∑ α i 因此,我们称下列时变(矩阵)函数 j i j,k j,k k i ) (t) = ∑ α(t)α Σ = (Σ 其中Σ (t) j,k∈[m] i 为(瞬时)波动率矩阵。 4.多元波动率的傅里叶级数计算 定理2给出的波动率估计虽然在形式上是无懈可击的,但是由于依赖于微分计算,其结果并不稳健。本文采用傅里叶技术规避了这一问题。 本文首先对固定时间窗口的单半鞅情况进行分析。利用坐标变换,可以将时间窗口固定在[0,2π]之间,于是 i (t)dx du = ∑ α + βdt,Σ(t) = ∑(α(t)) i i i i 本文的核心思路如下: 1.首先计算du的傅里叶系数。 2.利用du的傅里叶系数构造Σ的傅立叶系数。 3.利用反演公式从Σ的傅里叶系数重建Σ。 对于du而言,其常数项为 2π 1 (du) = ∫2π a du(t) 类似可以得到: 2π 1(du) = ∫π 1(du) = ∫π a cos(kt) du(t) k 2π b{ sin(kt) du(t) k 由于是单半鞅情况,相应的波动率矩阵的傅里叶系数为 2π 1 (Σ) = ∫2π a Σ(t)du(t) 其余的傅里叶系数为 2π 1(Σ) = ∫π 1(Σ) = ∫π a cos(kt) Σ(t)du(t) k 2π b{ sin(kt) Σ(t)du(t) k 再利用Fourier-Fejer反演公式,有 Σ(t) = limΣ(t) N N→∞ 其中 N k (t) = ∑ (1 − ) (a(Σ)cos(kt) + b(Σ)sin(kt)) Σ N k k N k=0 不仅如此,利用傅里叶分析中的能量估计和三角函数的和差化积公式,可以得到本文的主要结果如下。 定理3给定整数n>0,波动率水平的傅里叶系数满足: N π N+1−n 2 s 2 s () aΣ=lim ∑(() ()) adu+b du N→∞ s=n 以及 N 2π N+1−n () aΣ=lim ( )∑a dua (du),q>0 q s s+q N→∞ s=n N 2π N+1−n () bΣ=lim{ ( )∑a dub (du),q≥0 q s s+q N→∞ s=n 对于高维情况,则可以得到 定理4对于多元波动率有 N i j i j ( )( ) ( )( adu a du+b du b du ) 2π N+1−n s s s s i,j (aΣ ) ∑ =lim N→∞ s=n 以及 N i j i j a(du)a (du)+a(du)a 2 (du) 2π N+1−n s s+q s s+q i,j a(Σ)=lim ∑ ,q>0 q N→∞ s=n N i j i j a(du)b (du)+a(du)b 2 (du) 2π N+1−n s s+q s s+q i,j b(Σ)=lim{ ∑ ,q≥0 q N→∞ s=n 高维情况的证明是一维情况的类推,而定理3的证明请参考本文附录。 5.数值实现 本节主要是关于上述公式数值实现的一些注记。 窗口选择 显而易见,时间窗口的选择会对傅里叶分析的结果产生影响。假设时间窗口为长度为2Lπ的区间 [t− L ⋅ π, t+ L ⋅ π] 对于每一个L,都可以计算得到一个相应的波动率的傅里叶估计,而随着L的减少,相应的估计误差将会提升。准确地说,随着观察样本的数量的增加,估计误差会按照 1√N 的速度进行衰减。 正定性 波动率矩阵Σ是一个正定阵,因此其傅里叶重建也应该保障这个性质不变。注意到Fejer反演公式的每一个部分和都是正定阵,因此最终得到的极限至少是半正定的,这一点在数值结果上也得到了验证。 连续性处理给定如下半鞅 du = αdx + βdt 分部积分法表明 2π 2π 1(du) = ∫π k u(2π) − u(0)π ∫π a cos(kt)du(t)= − sin(kt) u(t)dt+ k 可以看到 ,由于不涉及到微分计算 ,上述表达式具有数值稳定性(numericallystable)。但是由于观察时点总是一个有限集合,需要对真实数据进行连续性处理。此处总是设 ),∀t ∈ [t u(t) = u(t ,t ) i ii+1 因此在该区间段上的积分就化为 t t i+1 i+1 ) k k) ⋅ ∫π u(tπ i ∫π ) − cos sin(kt) u(t)dt= u(t sin (kt) dt= ⋅ (cos(kt (kt)) i i +1 i t t i i 上述公式避免了当k充分大的时候可能产生的抵消错误(即量纲相差非常大的两个数进行计算时,有时会完全忽略小量纲数的影响,例如1e15+0.2最后得到的数仍然是1e15)。 最大频率 对于傅里叶分析中使用的最大频率,本文给出了经验公式: N= ⌊L/δ⌋ 其中δ代表了两个观察时点的时间间隔,文中的下方括号代表取整运算。 因此各个公式中的求和计算只在 n< N 时才发生。同时建议刨除n取值较小时候的项,这主要是因为其对于β较为敏感,容易引入噪声。具体来说,数值实验结果表明只需要刨除首项系数即可。本文推荐的具体数值为: n≤ k ≤ J, n+ J ≤ N 磨光函数 虽然定理3的计算公式允许对一个时间窗口中的任意时点进行波动率重建,但MonteCarlo实验表明窗口中部的准确度要高于窗口两端的准确度。为了解决这个问题,本文使用了一个紧支撑的磨光函数(smoothing function),其支撑集的上下端点分别落在0和2π的领域之中: φ: [0,2π] → [0,1], supp(φ) ⊂ (0,2π) 这意味着磨光修正后的傅里叶系数形如: 2π 1(du) = ∫π â φ(t)cos(kt)du(t) k 计算示例 图1中展示的即是从1896到1998的DowJones Industrial和DowJones Transportation之间的波动率估计。相应的数据一共用28000条,本文将其划分为28段,每段包含1000条数据用于波动率的测算。 图1:Fourier波动率估计示例 6.总结 由于传统的波动性测算方法需要数据具有规整性和同步性,因此对于呈现出病态空间分布的逐笔数据或者异步性的交易数据而言,依赖于可微条件的二次变差理论就显得力不从心。本文提供了一种基于傅里叶分析的波动率计算方法,该方法对于高频数据甚至是逐笔数据都具有很好的亲和性,这主要是因为傅里叶分析技术本质是积分而非微分,因此能提供稳健性更好的波动率估计。 7.附录 本文的附录包含两部分,一部分是为不熟悉随机微分的读者阐明半鞅的定义,另一部分则是补全定理3的数学证明。 7.1.半鞅的定义 半鞅的定义涉及到诸多概率论中的概念。 滤子(Filtration) ) 在数学中,一个滤子F = (F 是一族对象满足: ii∈I i < j ⇒ F⊂ F i j 鞅(martingale)设