Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型

MCMC方法在估计多元随机波动率模型中的应用

波动率是一个重要的概念,在金融和交易中有许多应用。这是期权定价的基础。波动率还使您可以确定资产分配并计算投资组合的风险价值(VaR)。甚至波动率本身也是一种金融工具,例如CBOE的VIX波动率指数。但是,与证券价格或利率不同,波动不能直接观察到。

由Kaizong Ye,Sherry Deng撰写

取而代之的是,它通常被衡量为来自证券或市场指数的收益或收益历史的统计波动。这种类型的度量称为已实现波动率或历史波动率。

衡量波动率的另一种方法是通过期权市场,在该市场中,可以使用期权价格通过某些期权定价模型来得出基础证券的波动性。Black-Scholes模型是最受欢迎的模型。这种定义称为 隐含波动性。VIX基于隐含波动率。

存在多种统计方法来衡量收益序列的历史波动率。较高频率的数据可用于计算低频收益的波动率。

例如,使用日内收益率来计算每日波动率;使用每日收益来每周波动。人们还可以使用每日OHLC(开盘价,最高价,最低价和收盘价)来计算每日波动率。更多的学术方法包括ARCH(自回归条件异方差),GARCH(广义ARCH),TGARCH(阈值GARCH),EGARCH(指数GARCH)等。我们不会详细讨论每个模型及其优缺点。相反,我们将专注于随机波动率(SV)模型,并将其结果与其他模型进行比较。

通常,SV模型很难用回归方法来估计。

×

波动性最重要的特征之一是波动性的随机性而不是常数,正如Black Scholes框架所设想的那样。波动性的某些特征是我们所熟知的,例如,波动率的“聚集”效果等。 然而,波动率还有许多其他隐含的特征,本文对波动率这些特征进行了总结。

波动性是不可观测的

波动性是一种衍生品,我们无法估计其公平价值,因为它本质上是不可观测的。 我们可以使用资产损益的标准差来估计资产在某个历史时期的波动性。 但这只是一种估计,是几种可能性中的一种,所有这估计方法都有缺点。 我们可以使用基于高频数据,近似精确地测量波动率,但这不会改变我们对波动率的了解总是受到不确定性的影响这一基本事实。

长记忆性

虽然GARCH模型可以很好地模拟聚类效应,但通常无法捕获波动率序列中最重要的特征之一:长序列自相关。在典型的GARCH模型中,历史事件对波动率序列的行为影响很小,自相关指数式消失。然而,实际波动率序列中的自相关性消失得非常缓慢,历史事件可能继续影响该序列数周,数月甚至数年。波动率的长记忆性导致两个直接且非常重要的结果。首先,与通常表征资产收益序列的白噪声行为相比,波动过程具有长期趋势,即具有黑噪声的特征。其次,与资产收益序列相比,波动率序列具有可预测性,现在的波动率在很大程度上取决于其过去的行为。

均值回归

波动率同时具有均值回归与长记忆性是关于资产过程的最重要的发现之一。要理解这一点,我们需要将波动性看做两个过程的叠加:具有趋势的平均值长期过程和围绕这个长期过程运行第二个瞬态过程,这个瞬态过程有可能产生短期的波动性高峰,并且会很快衰减。简言之,波动性是一个瞬态的均值回归过程与均值的动量过程相互关联。

相关性

我们发现当市场受到压力时,即当波动性增加时,一个波动率过程与另一个波动率过程之间或者波动率过程和资产损益过程之间的相关性趋于上升。

波动率相关性的另一个特征是它们通常低于相应的资产损益序列的相关性。 因此我们可以利用更少的资产建立一个分散化的波动率投资组合。

协整

协整可用于解决从统计套利到投资组合构建和资产配置等各种投资问题。复杂的统计策略往往依赖于协整而不是相关性,因为协整序列通常由一系列共同的基本因素驱动,而非纯粹的统计因素。统计因素可能是暂时的,不适合简单用于策略的制定。波动率过程表现出非常强大的协整趋势,而且其协整趋势通常比资产价格序列中的更加可靠,可以用来制定多空波动策略。

波动率期限结构

典型资产波动过程中最明显的特征之一是其向上倾斜的期限结构。 

波动率的波动率

波动率波动性的一致性通常被忽略但却非常重要。 自2007年以来,仅有一次VVIX指数(衡量VIX指数的年度波动率)一直低于60。

这意味着,我们交易的波动率资产其年度波动率几乎不会低于60%,而且往往每年超过100%。 当波动率持续升高时,交易机会往往比比皆是。

利用好波动性的这些固有特征,我们就可以设计比传统的策略产生更高水平的波动性策略,例如多空波动率、相对价值、统计套利等等,购买便宜的Gamma,卖掉昂贵的Theta,并动态改变投资组合的净波动率,以适应当前的市场状况。



EUR / USD汇率

我们将以2003-2018年EUR / USD汇率的每日收盘价为例来计算每日波动率。

ask = readtable('EURUSDdaily.csv');
 
t = ask.Time;
cl = ask.close;
 
%% 相关性检验
rtn = double((cl - lagmatrix(c 
 
% - remove NaN
t = t(2:en  ;
 
n = size(rtn,1);    %数据量
 
figure('position', 


视频

马尔可夫链蒙特卡罗方法MCMC原理与R语言实现

探索见解

去bilibili观看

探索更多视频


视频

随机波动率SV模型原理和Python对标普SP500股票指数时间序列波动性预测

探索见解

去bilibili观看

探索更多视频

图1. EUR / USD的每日汇率 和每日对数收益率。

图2显示没有证据表明收益率存在序列相关性。最多30个之后的收益的自相关函数(ACF)和偏自相关函数(PACF)无相关性。收益率的Ljung-Box Q检验也未显示明显的自相关。

% 序列相关性检验
figure('position',[355  
 
figure('position',[355   
ylabel('Return^2');

图2.收益相关性检验。Ljung-Box Q检验(左下方)未显示出明显的自相关。自相关函数(右上)和偏自相关函数(右下)(红色虚线为95%置信区间),表示没有相关性。

但是,我们可以确定具有较大绝对收益的周期的群集。因此,绝对收益率值具有明显的序列相关性。这在图3的收益平方分析中得到了证实,其中ACF和PACF均显着,并且Ljung-Box Q检验也强烈表明了序列自相关。这种相关性是由集群的波动性引起的,也就是说,波动率在某些时期(例如,2008年的金融危机)较高,而在其他时期则较低。

图3.收益率平方的相关检验。

GARCH(广义自回归条件异方差)模型

我们首先使用经典GARCH(1,1)模型对收益系列进行建模

可以使用Matlab来估算GARCH(1,1)模型。图4和5中的ACF,PACF和Ljung-Box Q检验未显示出残差中的显着序列相关性,图4左上方的残差项比原始收益序列更像白噪声。然后可以认为GARCH(1,1)模型足以描述收益率的波动性(图6)。

 
% 序列残差相关性检验
figure('position',[355   320   800   400]);
plotcorrstat(t,res,30,1:30)
 
 
 
%% 绘制波动率
figure('position',[355   320   800   200]);
plot(t,V  
ylabel('GARCH Volatility h_t');

图4. GARCH(1,1)模型残差的相关性检验。

图5.对GARCH(1,1)模型的残差平方的相关性检验。

图6. GARCH(1,1)模型的波动率。


使用R语言随机波动模型SV处理时间序列中的随机波动率

阅读文章


马尔可夫链蒙特卡洛(MCMC)

MCMC由两部分组成。在 蒙特卡洛 部分是如何从一个给定的概率分布得出的随机样本,马尔可夫链 部分的目标是产生一个稳定的随机过程,称为马尔可夫过程。马尔可夫过程具有以下特征:随机过程的下一步骤的状态仅取决于当前步骤的状态。这种依赖性不是确定性的。取而代之的是,由当前概率到下一步的转移由平稳概率分布来描述。 

MCMC已被广泛用于解决物理和财务问题。

随机波动率(SV)模型

从1990年代初开始就随机波动率建模,自1994年Jacquier,Polson和Rossi的论文首次为随机波动率提供清晰证据以来,该模型就开始应用。根据他们的开创性论文,我们编写了SV模型,

MCMC诊断

根据问题和设置,MCMC在序列接近目标分布之前可能需要进行多次迭代。如图7所示  beta快速达到稳定状态。

稳定性之前的这些迭代称为“预烧期”。我们运行10000次迭代。

图7.参数的迭代。

在MCMC过程中抽取样本意味着连续样本之间可能存在相关性。为了评估序列中有多少相关,我们绘制了每个参数在不同滞后的样本自相关函数(图8)。具有高度相关性的马尔可夫链在参数空间中缓慢移动,并需要更多的迭代和更长的计算时间才能以接近目标分布的概率访问参数空间中的不同区域。因此,给定固定的迭代总数 ,具有高相关性的马尔可夫链的独立样本的总数小于具有低相关性的马尔可夫链的独立样本的总数 。


随时关注您喜欢的主题


我们可以通过计算 有效样本量 (ESS)表示单个马尔可夫链的参数。了解ESS后,我们可以估算 MCMC方差,它衡量MCMC接近目标分布的精确度。显然,需要低MCMC方差。

可以为单个参数计算ESS。但是,考虑到参数之间的潜在互相关性(我们将在下面的联合分布图中看到),我们计算了多元ESS,发现在6000个样本中大约有517个。这些小的标准误差表明,我们的单个MCMC序列中的样本很好地代表了参数的目标联合分布。在ESS值较小(通常<100)的情况下,要么必须调整分布的参数以减少自相关,要么必须简单地生成更多样本(以计算时间为代价)。

可以采用用于Metropolis-Hastings算法的更复杂的提议方法来减少序列中的相关性,例如汉密尔顿式MCMC。

图8.预烧期后参数序列的自相关。红线表示5%的显着性水平。

结果和讨论

去除burin-in后,我们获得了参数样本的集合,这些样本可以从参数的真实高维联合分布中近似随机抽取的样本。然后,我们可以对这些参数进行统计推断。例如,成对参数的联合分布和每个参数的边缘分布如图9所示。

使用联合后验分布证明采样是合理的。但是,为不同的先验分布的变量计算出接近形式的后验分布将很麻烦。在这种情况下,Metropolis-Hastings采样方法有优势。

图9.配对参数的联合分布的散点图和参数的边缘分布(对角线面板)的直方图。

从边缘分布,我们可以估计参数的均值和标准误

 betaalpha1alpha2sigma
均值0.004-0.0530.9570.044
标准误0.0080.0080.0060.004


随机波动率及其置信区间是通过在序列变得稳定之后计算采样波动率的平均值,2.5%和97.5%的分位数来获得的。绘制在图10中。

图10. 4000次测试后随机波动率的后验均值。随机波动率的95%的分位数之间用红色表示置信区间。

SV模型的随机波动总体上与GARCH模型非常相似,但参差不齐。这是自然的,因为SV模型中假设了额外的随机项。与其他模型相比,使用随机波动率模型的主要优点是,波动率被建模为随机过程而不是确定性过程。这使我们可以获得序列中每次的波动率的近似分布。当应用于波动率预测时,随机模型可以为预测提供置信度。另一方面,缺点也很明显。计算成本相对较高。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds