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

科技   科技   2025-01-02 15:05   江苏  

原文链接:http://tecdat.cn/?p=5312


在本文中,我们通过一个名为WinBUGS的免费贝叶斯软件,可以很容易地完成基于似然的多变量随机波动率(SV)模型的估计和比较点击文末“阅读原文”获取完整代码数据


通过拟合每周汇率的双变量时间序列数据,多变量SV模型,包括波动率中的格兰杰因果关系,时变相关性,重尾误差分布,加性因子结构和乘法因子结构来说明想法。

相关视频


单变量随机波动率(SV)模型为ARCH类型模型提供了有效的替代方案,可以解释波动率的条件和无条件属性。

多元SV模型

金融资产收益的程式化事实

考虑到多变量SV模型对于描述金融资产收益的动态最有用,我们首先总结一些记录良好的金融资产收益的程式化事实:

  • 资产收益分配是尖峰厚尾特征。

  • 资产收益率波动率集群。

  • 收益率是交叉相关的。

  • 波动性是交叉依赖的。

  • 一种资产格兰杰的波动导致另一种资产的波动。

  • 通常存在较低维度因子结构,可以解释大部分相关性。

  • 相关性是随时间变化的。

除了这七个事实之外,诸如参数空间的维数和协方差矩阵的正半确定性之类的问题具有实际重要性。当我们审查现有模型并介绍我们的新模型时,我们将评论它们处理程式化事实和上述两个问题的适当性。

为了说明替代多变量SV模型之间的差异和联系,我们关注本文中的双变量情况。特别是,我们考虑了九种不同的双变量SV模型(带粗体的首字母缩略词)。此外,这些模型中的大多数都适用于多维变量,而模型5是唯一的例外。

模型1(基本MSV或MSV)。 该模型相当于将两个基本单变量SV模型组合在一起。显然,该模型不允许交叉收益或波动率之间的相关性,也不允许Granger因果关系。但是,它允许尖峰厚尾特征收益率分布和波动率聚类。

模型2(常数相关MSV或CC-MSV) 在该模型中,允许收益率冲击相关,因此该模型类似于Bollerslev的常数条件相关(CCC)ARCH模型。因此,收益率是相互依赖的。

模型3(具有格兰杰因果关系或GC-MSV的MSV)。 由于φ 21可以是不同于零,第二资产的波动允许是格兰杰由第一资产的波动。因此,收益率和波动率都是相互依赖的。然而,波动率的交叉依赖性是通过格兰杰因果关系和波动率聚类共同实现的。此外,当两个φ 12和φ 21是非零,在两种资产之间波动双向Granger因果关系是允许的。据我们所知,该模型是SV文献的新增内容。

使用WinBUGS进行贝叶斯估计

模型通过对所有未知参数a  =(_a 1,...,_a __p_)的先验分布的设置来完成。例如,在模型1(MSV)中,_p  = 6和未知参数的矢量a。贝叶斯推断基于模型中所有未观察量θ的联合后验分布。矢量θ包括未知参数和潜在对数波动率的矢量,即θ  =(ah 1,...,_T_)。

实证说明

数据

在本节中,我们将介绍的模型拟合实际经济时间序列数据。从1994年1月到2003年12月,所使用的数据是每周澳大利亚和新西兰汇率的平均调整对数收益率。这两个序列的选择是因为这两个经济体彼此紧密相连,因此_事先_预计两种汇率之间的依赖性很强。这两个系列在图中绘制,其中收益率和波动率的交叉依赖性确实显得很强。

汇率收益率的时间序列图。


点击标题查阅往期内容


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


左右滑动查看更多


01

02

03

04



Basis MSV

基础msv

由于非标准化的参数设置,模拟

代码片段:

model volatility;
{for (i in 1:N) {
Yisigma2a\[i\] <- exp(-th\[i,1\]);
Yisigma2b\[i\] <- exp(-th\[i,2\]);
Y\[i,1\]~ dnorm(0,Yisigma2a\[i\]);
Y\[i,2\]~ dnorm(0,Yisigma2b\[i\]

th\[1,1\]~dnorm(thmean\[1,1\],itaua2);
th\[1,2\]~dnorm(thmean\[1,2\],itaub2
for (i in 2:N) {
thmean\[i,1\] <- mu1 + phi1*(th\[i-1,1\]-mu1);
thmean\[i,2\] <- mu2 + phi2*(th\[i-1,2\]-mu2

MSV  Granger Causality GC-MSV

代码片段:

model volatility;
{ for (i in 1:N) {
ysigmadet\[i\]<-exp(th\[i,1\]+th\[i,2\])*(1-rhoep*rhoep;
Yisigma2\[i,1,1\] <- exp(th\[i,2\])/ysigmadet\[i;



Yisigma2\[i,2,1\] <- Yisigma2\[i,1,2;



for (i in 2:N) {
thmean\[i,1\] <- mu1 + phi1*(th\[i-1,1\]-mu1)+phi12*(th\[i-1,2\]-mu2);
thmean\[i,2\] <- mu2 + phi2*(th\[i-1,2\]-mu2)

结果

我们报告前六个模型的后验分布的平均值,标准误差和95%可信区间以及最后三个模型的后验分布,以及为九个中的每一个生成100次迭代的计算时间。

模型(AFactor-t-MSV)中_d_,μ和φ 的边缘分布的曲线图和密度估计值。

σ的边缘分布的密度估计η,σ ε1 ,和σ ε2在模型(AFactor MSV)。

ν的边缘分布的密度估计1,ν 2,和ω在模型(AFactor MSV)。

所有模型的DIC

为了更好地理解模型定义的含义,我们获得了模型(AFactor-t-MSV)和模型(DC-MSV)的波动率和相关性的平滑估计。

结论

在本文中,我们提出通过WinBUGS使用贝叶斯MCMC技术估计和比较多变量SV模型。MCMC是一种功能强大的方法,与其他方法相比具有许多优势。但是,编写用于估计多变量SV模型的第一个MCMC程序并不容易,并且比较替代的多变量SV规范在计算上是复杂的。WinBUGS强加了一个简短而敏锐的学习曲线。在双变量设置中,我们表明其实现简单且计算速度相当快。此外,处理丰富的模型也非常灵活。然而,由于WinBUGS提供Gibbs采样算法,我们发现混合采样通常很慢,因此需要长时间采样。


点击文末“阅读原文”

获取全文完整资料


本文选自《WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较》。




点击标题查阅往期内容

R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言隐马尔可夫模型HMM连续序列重要性重抽样CSIR估计随机波动率模型SV分析股票收益率时间序列
R语言中进行期权定价的Heston随机波动率模型
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
用综合信息准则比较随机波动率(SV)模型对股票价格时间序列建模
Garch波动率预测的区制转移交易策略
Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列
R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测
R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析
R语言随机波动率(SV)模型、MCMC的Metropolis-Hastings算法金融应用:预测标准普尔SP500指数
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
使用R语言随机波动模型SV处理时间序列中的随机波动率
Python随机波动率(SV)模型对标普500指数时间序列波动性预测
R语言预测波动率的实现:ARCH模型与HAR-RV模型
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
R语言中进行期权定价的Heston随机波动率模型
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
R语言HAR和HEAVY模型分析高频金融数据波动率
R语言预测波动率的实现:ARCH模型与HAR
R语言基于Garch波动率预测的区制转移交易策略
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
WINBUGS对随机波动率模型进行贝叶斯估计与比较
R语言使用HAR-RV预测实际波动率Realized Volatility案例


拓端数据部落
拓端(tecdat.cn)创立于2016年,提供专业的数据分析与挖掘服务,致力于充分挖掘数据价值。
 最新文章