基于有效矩和粒子滤波方法的带跳跃杠杆SV研究
2016-05-30吕龙邓平军
吕龙 邓平军
摘要:随机波动率(SV)模型的精确似然函数很难得到而模拟却很容易实现,可借助有效矩方法(EMM)完成估计,但单纯的EMM估计无法得到波动率序列,需要借助滤波算法。本文通过蒙特卡洛仿真实验发现连续粒子滤波算法(CSIR)比普通粒子滤波算法精度更高;对沪深300期货指数的实证分析进一步发现,添加杠杆效应后的模型(SVL,SVLJ)能更好地描述沪深300期货指数的波动情况。
关键词:有效矩;波动率;粒子滤波;半非参数密度
中图分类号:F830.59 文献标识码:A
收稿日期:2015-11-02
作者简介:吕龙(1986-),男,武汉人,华中科技大学经济学院博士研究生,研究方向:金融市场和大宗商品市场;邓平军(1990-),男,河南信阳人,华中科技大学经济学院博士研究生,研究方向:金融市场。
一、引言
金融市场波动率是金融领域的基础性问题,对资产定价、风险管理有极其重要的意义,因而一直是研究的热点之一。长期以来,国内外的学者们一直致力于找到一种准确度量市场波动率的方法。经过数十年的发展,在低频数据上形成了两大类刻画波动率动态特征的方法:广义自回归条件异方差(GARCH)和随机波动率(SV)模型。GARCH模型尽管“如实”地反映了波动率的“群聚效应”且估计简单,但是其波动率的路径完全取决于以往的信息,因而其对数据的拟合能力不如考虑新信息后的SV;另外,SV模型同连续随机模型联系紧密,很容易直接应用在期权或其他衍生品定价上,因而SV模型自诞生以来就一直为学术界所广泛关注,尤其在其难点估计问题上,各种方法层出不穷。例如,Ruiz(1994)将卡尔曼滤波和极大似然估计结合,提出伪极大似然估计(QML)方法;Andersen和Sorensen(1996)将广义矩(GMM)方法引入SV模型的估计中,并通过MC实验验证了其在大样本下的有效性;Jacquier(1994)将马尔科夫过程引入到MC方法中,提出马尔科夫链蒙特卡罗方法(MCMC)方法,该方法通过对参数后验分布的不断抽样来估计参数,以规避直接求似然函数所面临的高维积分问题。
MCMC方法在估计参数的同时还可以得到波动率序列且具有普通SV框架下易于实现、不依赖于大样本、容易进行模型诊断等优点,因此一经提出便迅速得到广泛应用。Meyer和Jun Yu(2000)详细介绍了在Winbugs软件中使用MCMC方法估计SV模型的流程;Jacquier等(2004)将MCMC的应用从普通SV扩展到带杠杆效应的SV-t上;Jun Yu(2005)使用MCMC模型估计了带杠杆效应的SV模型,并对S&P 500和CRSP指数做了实证研究,发现两大市场上均存在杠杆效应。受到国外学者的启发,国内学者也开始运用MCMC方法估计SV模型,且很多都直接使用Winbugs软件,如黄大海(2004)和朱慧明(2007)。然而,MCMC方法尽管有前述的诸多优势,但依然存在两个无法回避的问题:(1)当SV模型比较复杂时,MCMC的设计会变得异常困难;(2)对MCMC的使用绝大部分学者严重依赖于Bugs系列软件,而这类软件对于使用者而言简直是一个“黑箱”。相较于MCMC复杂的抽样流程,Gallant和Tauchen(1996)综合SNP和GMM所提出的有效矩(EMM)显得更为直接。
目前,对EMM的研究还处在相当初级的阶段,具体表现在以下几个方面:(1) 辅助模型的选择问题。部分文献即使在非大样本条件下,也仅仅使用普通的GARCH模型、EGARCH模型作为辅助模型,违背数据的真实特征。(2)波动率的估计问题。目前国内凡使用EMM模型研究SV问题的,无一例外仅给出参数估计的结果,却闭口不提波动率序列的估计(这一情况也部分地存在于使用MCMC之外的其他方法估计SV的文献中)。(3) 模型实现问题。绝大部分应用EMM的文献(包括国外文献)在实证分析部分都严重依赖Gallant等人的C++、Fortan程序包,而这些程序包(至少是早期版本)由于其所采用的优化算法的缺陷,常因初值、矩阵不可逆等问题跳出。对于第一个问题,我们严格依照Gallant等学者提出的方法,依据BIC准则选取合适的SNP密度函数作为辅助模型;对于第二个问题,我们引入Malik、Pitt和Doucet(2011)提出的连续粒子滤波(CSIR)来解决波动率的估计问题;针对最后一个问题,我们使用Matlab 7.0来自主地实现本文的全部算法,并在EMM涉及到优化的地方运用工程领域前沿的Cuckoo Search算法完成寻优。
本文后续结构安排如下:第二部分介绍SVLJ模型,第三、四部分为方法论,详细介绍了EMM和CSIR方法,第五部分运用SV、SVL和SVLJ三种方法分析了沪深300指数期货的波动率情况,最后一部分为结论。
对于这一复杂的转移密度,如果采用Jacquier(2003)所提出MCMC分析框架无疑会非常复杂,然而模拟其路径却是非常容易的,因此我们选择有效矩方法来对SVLJ模型进行估计。
三、有效矩(EMM)方法
对于动态非线性模型而言,它一般包含了一些不能被直接观测到的变量。SV模型作为一类重要的动态非线性模型,也是如此。这种特征使得我们用标准的计量方法来估计其参数时,面临着诸多难题:由于SV模型中包含了一些不能被直接观测到的隐藏变量,这使得我们很难甚至不能写出它的似然函数,因此直接依赖于它的似然函数的参数推断方法(如极大似然估计,MLE)等很难实施,而广义矩估计(GMM)方法估计的有效性依赖于矩条件的选择,这使得模型估计的效果会因为矩条件的选择在估计效果上存在很大差异。但是,我们比较容易模拟这类动态非线性模型(SV等)的演化路径。Gallant and Tauchen(1996)基于模拟的方法,提出了估计动态非线性模型的一种有效方法——有效矩估计(EMM):首先,借助于一个辅助模型(通常是SNP模型)来刻画原始数据的特征,通过一般的极大似然估计(MLE)来估计辅助模型的参数,进而得到辅助模型的转移密度函数和得分(score)(在EMM模型中称为得分生成算子,score generator),辅助模型的设定应尽可能逼近真实的数据产生过程;然后,模拟产生所要估计模型(结构模型)的序列数据,通过辅助模型生成结构模型的矩条件,采用GMM(最小卡方法)方法估计出结构模型参数的估计值。下面就EMM的实施过程进行详细说明。
四、粒子滤波算法
相较于模型的参数估计,我们更希望得到“隐藏”的波动率序列。然而,包括EMM方法在内的绝大多数SV类模型的估计方法都无法直接得到随机波动率序列,必须通过MCMC或滤波的方法来实现。在传统的工程领域,常使用的滤波方法主要有三种:卡尔曼滤波(KF)、扩展的卡尔曼滤波(EKF)和无迹的卡尔曼滤波(UKF),后两者是前者的衍生形式。卡尔曼滤波虽然操作简单易行,但是只能用于线性、高斯的状态空间模型,EKF和UKF虽然可以进一步扩展到非线性的状态空间模型,但是仍然局限于高斯观测噪声,且能够处理的模型形式大多如下:
对于SV类模型这种观测噪声和观测值呈非线性形式的模型直接使用上述三种方法显然存在诸多困难,尽管通过对数处理可以将普通SV转为线性形式,但当观测噪声确实非高斯的、考虑杠杆效应和跳跃项之后难度更大。Gordon和Salmond(1993)在序贯重要性采样(SIS)算法基础上提出的采样重要性重采样滤波器(Sampling Importance Resampling, SIR)比以往滤波算法具有更强的适用性,可以扩展到各种非线性、非高斯状态空间中去。Carpenter(1999)正式提出粒子滤波(Particle Filter, PF)的概念,随后粒子滤波迅速成为国内外相关领域的研究热点,学者们提出了多种粒子滤波方法,我们在此主要引入S.Malik和M.K.Pitt(2011,2014)介绍的连续粒子滤波(CSIR)方法。
(一)连续粒子滤波
通过这一改进,我们可以直接通过最优化式(11)来估计参数,从而同MCMC和QML方法一样,参数估计和状态估计同时实现。然而,这种方法虽然直接、简洁,却耗时较长,尤其当样本数据较多,且粒子数目N取较大值(2000,5000)时,整个滤波过程会非常缓慢。因此,我们用前面介绍的EMM方法估计参数,然后在已知参数向量的情况下用CSIR滤波得到{ht}。
(二)蒙特卡洛模拟实验
我们利用SVLJ模型随机生成1 000个数据,假设SVLJ参数向量θ=[u,φ,ση,ρ,σJ,p]取值为[0.2,0.97,0.16,-0.8,2.5,0.009],得到模拟的收益率序列、波动率序列和收益率跳跃序列如图1所示。
我们分别使用SIS、SIR和CSIR三种算法来对波动率序列进行估计,以便合理地评价三种算法的效果。每种算法下滤波波动率和真实波动率的误差平方和SSE、均方根误差RMSE和拟合优度R-square如表1和图2所示。
从表1的计算结果和图2可以看出,SIS算法的效果最差,该算法下的滤波结果基本无法反映波动率序列的真实情况;其次是SIR算法,虽然少数样本点上对真实波动率的拟合较差,但是基本反映了真实波动率的变化趋势,整体效果要远高于SIS算法;表现最好的是CSIR算法,其和真实波动率的偏差要远小于前两种算法。
五、 实证分析
本文将第一部分介绍的带有带跳跃项的杠杆SV模型(SVLJ)、杠杆SV和普通SV用于实证,分析沪深300指数期货收益率的波动,以进一步比较三种模型的优劣。我们选取沪深300指数期货的日收盘价数据为样本数据,样本区间为2011/01/04-2014/03/17,共计772个观测值。对样本取对数收益率yt=100*[Log(pt)-Log(pt-1)],其中pt是收盘价(数据来源:Wind资讯)。图3给出了上述样本区间的收盘价和收益率序列图,表2给出了收益率序列的描述性统计结果。
在使用EMM估计之前,需要首先确定SNP密度的各项阶数。根据Gallant和Tauchen(2002)的方法,我们利用BIC准则来依次确定AR项、ARCH项、GARCH项、Hermit多项式的阶数。为减少待估参数维数,我们假定Lp=1,故确定交互项的调整参数Iz=0,Ix=0。具体的结果如表3所示。
从表3结果来看,11114000模型对数据拟合程度最好。下面给出该模型的具体参数估计值和SNP密度曲线(见图4和表4)。
从SNP密度曲线来看,其较正态分布的尾部更厚,且略微正偏,这与描述性统计的情况一致,表明SNP密度对真实数据拟合程度较好。
接下来我们可以正式利用EMM算法来估计三种SV模型。由于传统的Quasi-Newton、LM等算法需要依赖雅克比向量或海赛矩阵中的信息,这样在高维寻优问题中不仅计算量大,还常常出现矩阵不可逆而导致算法停滞的问题。另外,这些算法对初始值选择较为敏感:当初值接近全局最优解时,寻优效果较为理想,但当初值远离全局最优时,寻优效果糟糕。而剑桥学者Xinshe Yang(2010)提出的Cuckoo Search算法(该算法由局部寻优和全局Levy飞行两部分构成),寻优综合效果不仅优于传统的LM等算法,而且较普通的GA、PSO等算法也更为优越。为此,前面的辅助SNP和下面的结构模型(SV、SVL、SVLJ)的估计过程中遇到的最优化问题均采用Cuckoo Search来完成。
从表5和表6估计结果来看,三种SV模型μ的取值比较接近,即长期波动率水平约为1.1;同时沪深300指数期货的波动率持续性较高(持续系数0.95左右),且SVL和SVLJ模型都显示杠杆效应在样本期间内是显著存在的;SVLJ显示跳跃概率为0.0051,约合每年跳跃1.86次,这一结果略高于部分时期的现货市场,造成这一结果的原因有:(1)样本期间内,指数几乎呈单边下跌态势,而“熊市”中市场参与者比平常更为敏感,更易对外部信息做出过度反应;(2)相较于现货市场, 期货市场属于T+0交易,再加之策略交易的成规模使用,使得类似于“乌龙指”事件发生的概率较现货市场要高得多,易引发市场异常波动。
由于Pitt(2011)所提出的CSIR算法较以往的PF算法滤波效果更为理想,因此这里仍然使用该算法得到沪深300指数期货在样本期间内的波动率序列。通过对比观察滤波得到的波动率序列和收益率的绝对值序列,我们发现前者的变化特征基本与后者一致,表明SVLJ模型较好地捕捉了收益率序列的动态特征,具体结果如图5和图6所示。
为了进一步诊断模型,我们通过判断SVLJ、SVL和SV模型残差的分布函数值是否服从均匀分布来验证模型的设定和估计是否正确。由图7和图8可知,对于SVLJ模型和SV模型而言,QQ图近似于直线且不存在自相关性,因而可断定这两种模型比较适合刻画样本的动态特征;反观SV模型,其QQ图明显呈曲线状,表明其残差的分布值不是均匀分布。由此可见,忽视杠杆效应的SV模型无法反映市场的真实情况。
六、结论
本文重点讨论了对包括SVLJ这种兼具杠杆效应和跳跃效应的特殊SV模型在内的三种随机波动率模型的参数估计和滤波问题,得到如下主要结论:(1)连续的粒子滤波(CSIR)较其他两种滤波算法更为精确,能够更好地反映“真实”的波动率的动态特征;(2)利用SVLJ、SVL和SV模型对沪深300指数期货波动情况的研究发现,在样本期内,波动具有较强的持续性,同时收益率序列具有偏高的跳跃概率,而杠杆效应是显著存在的;(3)对波动率和残差的诊断表明,SVLJ和SVL模型能够较好地描述沪深300期指的波动情况。
参考文献:
[1] TG.Andersen, BE.Sorensen. GMM Estimation of a stochastic volatility model: A Monte Carlo Study[J].Journal of Business & Economic Statistics, 1996,14:328-352.
[2] R.Meyer, Jun Yu. BUGS for a Bayesian Analysis of Stochastic Volatility Models[J].Econometrics Journal, 2000,3:198-215.
[3] E.Jacquier, NG.Polson, PE.Rossi. Bayesian Analysis of Stochastic Volatility Models with Fat-tails and Correlated Errors[J].Journal of Econometrics, 2004,122(1):185-212.
[4] Jun Yu. On leverage in a stochastic volatility model[J].Journal of Econometrics, 2005,127:165-178.
[5] AR.Gallant, G.Tauchen. Which Moments to Match[J].Econometric Theory,1996,12:657-681.
[6] M.S.Arulampalam, S.Maskell, N.Gordon, T.Clapp. A Tutorial on Particle Filters for Online Nonlinear/Non-Gaussian Bayesian Tracking[J].IEEE TRANSACTIONS ON SIGNAL PROCESSING, 2002, 50:241-254.
[7] S.Malik, M.K.Pitt. Particle filter for continuous likelihood evaluation andmaximization[J].Journal of Econometrics, 2011,165:190-209.
[8] M.K.Pitt, S.Malik, A.Doucet. Simulated likelihood inference for stochastic volatility models using continuous particle filtering[J].Annals for the Institute of Statistical Mathematics, 2014, 66:527-552.
Abstract: It is very difficult to obtain the likelihood function for Stochastic Volatility models, but simulating the paths is comparatively easy to operate. Owing to this reason, we take the advantage of Efficient Method of Moments (EMM) to estimate parameters, but the simple EMM estimation cannot get the volatility sequence, we need to use the filtering algorithm. Through comparing with ordinary particle filtering algorithm in Monte Carlo simulation, we find the CSIR has a better performance. The empirical analysis of CSI 300 future index shows SV model with leverage effect (SVL) and SV model with leverage effect and jumping (SVLJ) can better describe the volatility of CSI 300 futures index.
Key words:efficient method of moments; volatility; particle filtering; semi-nonparametric density
(责任编辑:张曦)