原文链接:

http://tecdat.cn/?p=16708​tecdat.cn

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

取而代之的是,它通常被衡量为来自证券或市场指数的收益或收益历史的统计波动。这种类型的度量称为已实现波动率或历史波动率。衡量波动率的另一种方法是通过期权市场,在该市场中,可以使用期权价格通过某些期权定价模型来得出基础证券的波动性。Black-Scholes模型是最受欢迎的模型。这种定义称为 隐含波动性。VIX基于隐含波动率。

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

EUR / USD汇率

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

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

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

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

  1. % 序列相关性检验
  2. figure('position',[355
  3. figure('position',[355
  4. 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)。

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

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

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

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

马尔可夫链蒙特卡洛(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.配对参数的联合分布的散点图和参数的边缘分布(对角线面板)的直方图。

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

beta alpha1 alpha2 sigma
均值 0.004 -0.053 0.957 0.044
标准误 0.008 0.008 0.006 0.004

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

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

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


最受欢迎的见解

1.HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率

2.WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

3.波动率的实现:ARCH模型与HAR-RV模型

4.R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

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

6.R语言多元COPULA GARCH 模型时间序列预测

7.R语言基于ARMA-GARCH过程的VAR拟合和预测

8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

9.R语言对S&P500股票指数进行ARIMA + GARCH交易策略

随机减量法matlab程序_Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV) 模型...相关推荐

  1. ahp层次分析法matlab代码_Matlab数据分析实战,基于AHP高校食堂满意度调查分析

    层次分析法(Analytical Hierachy Process,AHP)是匹兹堡大学T.L.Saaty教授在20世纪70年代初期提出对定性问题进行定量分析的一种渐变灵活的多准则决策方案. 其特点是 ...

  2. matlab灰关联度,[转载]灰色关联和加权关联分析法matlab程序

    %by allen %灰色关联分析法和灰色加权关联分析法matlab程序,其区别主要在于求关联度是使用平均值法还是加权法 %平均值法为一般普通求法,加权值法可以根据侧重点不同进行分析 %matlab6 ...

  3. matlab关联度排序模型,灰色关联和加权关联分析法matlab程序

    %by allen %灰色关联分析法和灰色加权关联分析法matlab程序,其区别主要在于求关联度是使用平均值法还是加权法 %平均值法为一般普通求法,加权值法可以根据侧重点不同进行分析 %matlab6 ...

  4. 二次指数平滑法matlab程序_二次指数平滑法程序

    二次指数平滑法程序 线性指数平滑法 Matlab 程序,代码如下: 注: Data- 原始数据 s- 一次和二次平滑结果 at- 预测式中的 a 参数 bt- 预测式中的 b 参数 y1- 预测结果 ...

  5. Java黑皮书课后题第3章:3.16(随机点)编写程序,显示矩形中一个随机点的坐标。矩形中心位于(0,0),宽100高200

    3.16(随机点)编写程序,显示矩形中一个随机点的坐标.矩形中心位于(0,0),宽100高200 题目 题目描述 破题 代码 题目 题目描述 3.16(随机点)编写程序,显示矩形中一个随即点的坐标.矩 ...

  6. WinBUGS对多元随机波动率SV模型:贝叶斯估计与模型比较

    原文链接:http://tecdat.cn/?p=5312 在本文中,我们通过一个名为WinBUGS的免费贝叶斯软件,可以很容易地完成基于似然的多变量随机波动率(SV)模型的估计和比较(点击文末&qu ...

  7. R语言随机波动率(SV)模型、MCMC的Metropolis-Hastings算法金融应用:预测标准普尔SP500指数...

    原文链接:http://tecdat.cn/?p=23991 在这个例子中,我们考虑随机波动率模型 SV0 的应用,例如在金融领域. 统计模型 随机波动率模型定义如下 并为 其中 yt 是因变量,xt ...

  8. matlab用进退法写程序,进退法matlab程序

    极小值点包含于区间 [ x(1) , x(3) ]或[ x(3) , x(1) ] (3)算法的 MATLAB 实现在 MATLAB 中编程实现的进退函数为: min JT 功能:用进退法求解.... ...

  9. 标号法matlab程序,matlab程序大全

    上例 Matlab 程序如下: %使用表8.4 给出的小波基 ld=[0 0.0... matlab经典代码大全_计算机软件及应用_IT/计算机_专业资料.哈哈哈 MATLAB 显示正炫余炫图:plo ...

最新文章

  1. Apache POI:解决数据库和Excel之间相互转换的烦恼~
  2. BigDecimal 转换为int 或者其他类型
  3. 【ACM】杭电OJ 2030
  4. iOS AVAudioSession 配置(录音完声音变小问题)
  5. if you want to reserve a place at the college library
  6. 核聚类与支持向量聚类
  7. dotnet core开发体验之开始MVC
  8. 禁止IE页面自动跳转到EDGE浏览器的方法教程
  9. call,apply,bind的区别
  10. 关于bacula网络备份软件的安装以及配置1
  11. Seek the Name, Seek the Fame - POJ 2752(next运用)
  12. 深度操作系统 V15.11发布——心随意动 畅享云端
  13. 国家软考--高级系统分析师证书
  14. feign调用是否会经过网关
  15. 师太、老衲、贫道的爱恨全集
  16. 微信公众号开发之微信测试账号申请
  17. zabbix拓扑图添加标签信息(流量)
  18. 远程连接docker中的SQL Server
  19. html 二级页面 教程,css 实现动态二级菜单
  20. 大数据计算 PCIe 扩展坞系统

热门文章

  1. android 活体识别人脸动作活体静默活体Demo源码实现讲解
  2. 服务器系统坏了 其它盘数据恢复,服务器raid数据恢复,raid坏一般什么原因
  3. 2021年上海公务员考试职位表
  4. 计算机组成原理学习笔记(上)
  5. 忆阻器取代晶体管?时间问题!
  6. 碳水循环饮食计算简介
  7. 卡拉ok应用Soulo Karaoke评测
  8. yolov5_deepsort车流量跟踪计数
  9. 02、ADS使用记录之导入各类仿真模型导入
  10. 从K歌使用的鼓起 看数字音乐平台趋向