R语言实例链接:http://tecdat.cn/?p=17494

原文出处:拓端数据部落公众号

实际处理中,发现金融数据存在尖峰厚尾现象。所以我们选择扰动项服从 t 分布的 t-GARCH 模型来描述波动性过程。t-GARCH(1,1)模型的表达式如下:

模型的参数向量记为      ( , , , ) v ,则模型参数的似然函数可写为:

假定 2 0  是常数,此时,该模型在 t 时刻的条件波动率为:

且方差方程的参数通过以下限制:

来保证 t h 大于 0。

先验分布

根据Luc和Michel(1998) [28]的工作,对参数    , , 取无信息先验,选取以 0 为中心的柯西 函数的右半部分作为自由度参数v的先验分布:

后验分布

由贝叶斯公式可知:

其中,先验密度  ( ) 应该至少满足参数为正的限制和  1 的条件。 (1)假设参数  的先验分布是 (0, ) 90 M1 上的均匀分布,其中 M1 是大于零的常数, 且似然函数的表达式如(2.2)所示,则模型参数  的条件后验分布表达式如下:

(2)假设参数  的先验分布是 (0, ) M2 上的均匀分布,其中 M2 是大于零的常数,且似然 95 函数的表达式如(2.2)所示,则模型参数  的条件后验分布表达式如下:

(3)假设参数  的先验分布是 (0, ) M3 上的均匀分布,其中 M3 是大于零的常数,且 似然函数的表达式如(2.2)所示,则模型参数  的条件后验分布表达式如下:

(4)对于参数 v 取半柯西先验(2.5),它是以 0 为中心的柯西函数的右半部分,且似然函数 的表达式如(2.2)所示,所以参数 v 的条件后验分布表达式如下:

实例分析

我们将贝叶斯估计方法应用于(DEM / GBP)外汇对数收益率的每日观察值。样本时间为1985年1月3日至1991年12月31日,共1974个观测值。此数据集已被推广为GARCH时间序列软件验证的非正式基准。从这个时间序列中,前750个观测值用于说明贝叶斯方法。我们的数据集中的观察窗口摘录绘制在图1中。
 

我们对带有Student-t的GARCH(1,1)模型进行了改进,以拟合此观察窗的数据


function (y, mu.alpha = c(0, 0),
Sigma.alpha = 1000 * diag(1,2),
mu.beta = 0, Sigma.beta = 1000,
lambda = 0.01, delta = 2,
control = list())

函数的输入自变量是数据向量,超参数,例如:
• 要生成的MCMC链数;默认值1。
• 每个MCMC链的长度;•start.val:链的起始值的向量;默认值为10000 。 
作为贝叶斯估计的先验分布。通过设置控制参数值n.chain = 2和l.chain = 5000,我们为5000次传递生成了两条链。


> MCMC <- bayg(y, control = list(
l.chain = 5000, n.chain = 2))chain: 1 iteration: 10
parameters: 0.0441 0.212 0.656 115
chain: 1 iteration: 20
parameters: 0.0346 0.136 0.747 136
...
chain: 2 iteration: 5000
parameters: 0.0288 0.190 0.754 4.67

生成MCMC链的跟踪图(即,迭代与采样值的图)。采样器的收敛(使用Gelman和Rubin(1992)的诊断测试),链中的接受率和自相关可以如下计算:

diagPoint est. 97.5% quantile
alpha0 1.02 1.07
alpha1 1.01 1.05
beta 1.02 1.07
nu 1.02 1.06
Multivariate psrf
1.02> 1 - rejectionRate
alpha0 alpha1 beta nu
0.890 0.890 0.953 1.000
>autocorr.diagalpha0 alpha1 beta nu
Lag 0 1.000 1.000 1.000 1.000
Lag 1 0.914 0.872 0.975 0.984
Lag 5 0.786 0.719 0.901 0.925
Lag 10 0.708 0.644 0.816 0.863
Lag 50 0.304 0.299 0.333 0.558

收敛诊断没有显示最后2500次迭代的收敛证据。MCMC采样算法的接受率非常高,从向量a的89%到b的95%不等,这表明分布接近于全部条件。我们丢弃了从MCMC的整体输出中抽样前2500次作为预烧期,仅保留第二次抽样以减少自相关,

> smpln.chain : 2
l.chain : 5000
l.bi : 2500
batch.size: 2
smpl size : 2500

基本的后验统计:

Iterations = 1:2500
Thinning interval = 1
Number of chains = 1
Sample size per chain = 2500
1. Empirical mean and standard deviation
for each variable, plus standard error
of the mean:

Mean    SD Naive SE Time-series SE
alpha0 0.0345 0.0138 0.000277   0.00173
alpha1 0.2360 0.0647 0.001293   0.00760
beta    0.6832 0.0835 0.001671  0.01156
nu  6.4019 1.5166 0.030333  0.19833

每个变量的分位数:

2.5% 25% 50% 75% 97.5%
alpha0 0.0126 0.024 0.0328 0.0435 0.0646
alpha1 0.1257 0.189 0.2306 0.2764 0.3826
beta 0.5203 0.624 0.6866 0.7459 0.8343
nu 4.2403 5.297 6.1014 7.2282 10.1204

通过首先将输出转换为矩阵,然后使用函数hist,可以获取模型参数的边际分布。

边缘后部密度显示在图3中。我们清楚地注意到直方图的不对称形状。对于参数n尤其如此。后平均值和中位数之间的差异也反映了这一点。这些结果应该警告我们,不要滥用渐近论证。在当前情况下,即使是750次观测也不足以证明参数估计量分布的渐近对称正态近似。
可以通过从联合后验样本中进行仿真来直接获得关于模型参数的非线性函数的概率陈述。
特别是,我们可以测试协方差平稳性条件,并在满足该条件时估计无条件方差的密度。根据GARCH(1,1)规范,如果a1 + b <1,则过程是协方差平稳的。值接近1时,过去的冲击和过去的方差将对未来的条件方差产生更长的影响。
 为了推断平方过程的持久性,我们仅使用后验样本,并为后验样本中的每个绘制y [j]生成(a1 [j] + b [j])。持久性的后部密度绘制在图4中。直方图向左倾斜,中值为0.923,最大值为1.050。假设a1 + b <1,则GARCH(1,1)模型的无条件方差为a0 /(1- a1- b)。条件是存在时,后验均值为0.387,90%可信区间为[0.274,1.378 ]。经验方差为0.323。

使用联合后验样本可以获得关于模型参数的其他概率陈述。使用后验样本,我们估计条件峰度存在的后验概率为0.994。在存在条件下,峰度的后均值为8.21,中位数为5.84,对区间的95%置信度为[4.12,15.81],表明尾部比正态分布更重。条件峰度的后验正偏是由几个非常大的值(最大模拟值为404.90)引起的。

先前的限制和常规改进

控制参数addPriorConditions可用于在估计期间对模型参数y施加任何类型的约束。例如,为了确保估计协方差平稳GARCH(1,1)模型,应将函数定义为

p<-function(psi)
+ psi[2] + psi[3] < 1

实用建议

该算法中实施的估算策略是全自动的,不需要对MCMC采样器进行任何调整。对于从业者来说,这无疑是一个吸引人的功能。但是,马尔可夫链的生成非常耗时,因此每天在多个数据集上估算模型可能会花费大量时间。在这种情况下,通过在多个处理器上运行单链可以轻松地使算法并行化。例如,可以使用foreach包轻松实现此目标(Revolution Computing,2010)。同样,当估计值在更新的时间序列(即具有最近观测值的时间序列)上重复时,明智的做法是使用在前一个估计步骤获得的参数的后验均值或中值来启动算法。初始值(预烧阶段)的影响可能较小,因此收敛速度更快。最后,请注意,与任何MH算法一样,采样器可能会卡在给定的值上,因此链不再移动。

总结

本说明介绍了Student-t改进对GARCH(1,1)模型的贝叶斯估计。我们举例说明了在汇率对数收益率上的实证应用。

拓端tecdat|t-GARCH 模型的贝叶斯推断理论相关推荐

  1. 贝叶斯推断 概率编程初探

    1. 写在之前的话 0x1:贝叶斯推断的思想 我们从一个例子开始我们本文的讨论.小明是一个编程老手,但是依然坚信bug仍有可能在代码中存在.于是,在实现了一段特别难的算法之后,他开始决定先来一个简单的 ...

  2. 那些年我做家教学过的东西_决策与风险decision and risk_1_贝叶斯推断Bayes Inference

    贝叶斯推断 1.背景 概率论中频率学派(frequentist)与贝叶斯学派(bayeser)关于概率对象的分配是存在歧义的.频率学派认为,仅有数据样本服从概率分布,而参数是数值未知的固定值,其P值及 ...

  3. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  4. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  5. 干货 | 基于贝叶斯推断的分类模型 机器学习你会遇到的“坑”

    本文转载自公众号"读芯术"(ID:AI_Discovery) 本文3153字,建议阅读8分钟. 本文讲解了在学习基于贝叶斯推断的分类模型中,我们需要的准备和方法. 数学准备 概率: ...

  6. 基于贝叶斯推断的分类模型 机器学习你会遇到的“坑”

    链接:贝叶斯推断分类 数学准备 概率:事件不确定性程度的量化,概率越大,表示事件发生的可能性越大. 条件概率:P(A|B),在条件B下,发生A的概率. 联合概率:P(A,B),A事件与B事件同时发生的 ...

  7. 决策树模型 朴素贝叶斯模型_有关决策树模型的概述

    决策树模型 朴素贝叶斯模型 Decision Trees are one of the highly interpretable models and can perform both classif ...

  8. 清华大学计算机科学与技术系朱军教授:机器学习里的贝叶斯基本理论、模型和算法...

    雷锋网[AI科技评论]按:3月3日,中国人工智能学会AIDL第二期[人工智能前沿讲习班]在北京中科院自动化所举行,本期讲习班的主题为[机器学习前沿].周志华教授担任学术主任,前来授课的嘉宾均为中国机器 ...

  9. 清华大学计算机科学与技术系朱军教授:机器学习里的贝叶斯基本理论、模型和算法

    [转] http://www.leiphone.com/news/201703/djm3u9LLqylr3C8N.html 雷锋网[AI科技评论]按:3月3日,中国人工智能学会AIDL第二期[人工智能 ...

  10. 机器学习里的贝叶斯基本理论、模型和算法

    本文转自中国人工智能学会通讯第3期,已获授权,特此感谢! 欢迎人工智能领域技术投稿.约稿.给文章纠错,请发送邮件至heyc@csdn.net 3月3日,中国人工智能学会AIDL第二期[人工智能前沿讲习 ...

最新文章

  1. HBase保存的各个字段意义解释
  2. springframework引入不进来_啥?你不知道JWT
  3. 数据中心基础设施及日常运维管理
  4. python3精要(33)-字典解析与集合解析,if else 用于解析
  5. Java-二分查找算法
  6. H5_canvas与svg
  7. TensorFlow学习笔记(十六)tf.random_normal
  8. ajax刷新iframe页面,通过iframe实现简单的ajax表单提交
  9. no applicable action for [springProfile], current ElementPath is [[configuration][springProfile]]
  10. 网站域名解析端口_环境测试必备,无需注册域名,免费动态IP解析一键解析本地网站...
  11. idea内存溢出解决_各种OOM代码样例及解决方法
  12. 技术解读丨分布式缓存数据库Redis大KEY问题定位及优化建议
  13. Java\学习——字符串
  14. mysql的int最大值_MySQL中int最大值深入讲解
  15. 简单理解Pix2Pix
  16. Android中Parcelable与Serializable接口用法
  17. Linux vi/vim教程
  18. biopython教程与手册_使用biopython处理序列数据
  19. 校园网下,虚拟机IP与主机IP不一致及nfs挂载
  20. ultravnc 设置代理_紫竹桥代理记账哪家好详情

热门文章

  1. 云服务下的安全特点及基础防护
  2. WinXP/2000/2003下如何重装TCP/IP协议
  3. 线代总结1 线性代数中的线性方程组
  4. 字符串输入控制:与空格、回车的输入相关的几种函数
  5. Zabbix 3.0安装
  6. JVM 新生代,老年代,永久代
  7. Node.js 8有哪些重要功能和修复? 1
  8. Qt之FTP上传/下载
  9. 对象的持久化和序列化
  10. Spring MVC AOP 初步学习