R语言MCMC-GARCH、风险价值VaR模型股价波动分析上证指数时间序列
全文链接:http://tecdat.cn/?p=31717
原文出处:拓端数据部落公众号
分析师:Ke Liu
随着金融市场全球化的发展,金融产品逐渐受到越来越多的关注,而金融产品的风险度量成为投资者最关心的问题。金融风险是指由于经济活动的不确定性、市场环境的变化、决策的失误等因素的影响,导致实际回报与预期回报出现偏离的可能性。
VaR通过建立系统分析方法定量化分析风险,可以评估复杂的金融产品、反映风险的敏感,在合理的范围内规避风险,是量化市场风险行之有效的工具。文章将帮助客户采用风险价值VaR模型定量刻画风险,研究符合模型特点的求解方法,基于VaR模型对股价指数时间序列进行建模分析,科学评估风险的预期损失,避免由于高估或低估风险而带来投资的决策失误,从而对制定政策、维护市场稳定、监管金融机构等方面提供了必要保证。
解决方案
任务/目标
根据股票价格指数时间序列数据进行建模分析,对金融市场的波动进行分解与预测,比较不同估算方法的适用程度。
数据的处理与检验
以上海证券股价综合指数作为总体研究目标,选取2015年1月至2020年1月的每日收盘价序列作为样本数据集,共1220个价格数据构成金融时间序列,数据获取来源为上海证券交易所网站。
由于股票价格的非负性,我们采用取对数的方法处理上证综指的收盘价Ct,然后进行一阶差分,得到收益率序列Yt,再进行描述性分析与检验,计算公式如下:
基于 MCMC-GARCH 模型估计结果及检验
在本次实证分析中,利用 MCMC算法,随机生成两条马尔科夫链,分别对两条链进行抽样,以确保参数是从平稳分布中进行估计。
MCMC算法下所要拟合的GARCH(1,1)模型为:
利用贝叶斯MCMC 方法对 GARCH(1,1)模型进行未知参数估计。在随机抽样过程中,分别模拟了两条马尔科夫链。首先在R中进行迭代3000次,使用方差比法判断收敛效果,各个参数的方差比为,各个方差比均约为1,,说明收敛情况良好。迭代轨迹图如图所示:
利用上证综指收益率序列的后半部分数据对正态分布下MCMC-GARCH(1,1)模型的参数估计结果如下:
表 基于正态分布的MCMC--GARCH(1,1)模型系数的估计
| 估计值 | 标准误 | 95%置信区间 | |
|---|---|---|---|
| α0 | 0.03338 | 0.01792 | (0.01101,0.08155) |
| α1 | 0.09913 | 0.03522 | (0.04546,0.18589) |
| β1 | 0.89197 | 0.03467 | (0.81061,0.94656) |
即MCMC-GARCH(1,1)模型的方差方程为:
分析比较
利用上证综指序列的后半部分样本数据分别对ML与MCMC方法的拟合误差进行度量,各指标的值如下:
ML与MCMC方法在样本期内的拟合误差度量指标
| MSE1 | MSE2 | MAE1 | MAE2 | QLIKE | R²LN | |
|---|---|---|---|---|---|---|
| ML | 9.234095 | 5657.991 | 1.123257 | 11.74841 | 9.69528 | 0.5750861 |
| MCMC | 8.707486 | 5628.328 | 1.110572 | 11.85487 | 5.852641 | -0.01556125 |
从上表可以看出,基于贝叶斯框架下MCMC算法得到各项拟合误差度量指标要小于极大似然估计方法得到的误差度量指标,说明MCMC-GARCH模型拟合效果要优于ML-GARCH模型得到的拟合结果,接下来对上证综指收益率标准化残差的自相关图,可以从图看出,标准化后的绝大部分残差序列值在置信区间内,对比图可以判断,MCMC-GARCH模型将样本序列中的异方差信息较完整的提取了出来,说明基于MCMC估计的GARCH模型效果更优。
MCMC-GARCH(1,1)模型平方残差自相关图
VaR 模型的建立与预测
又前文已知VaR模型的基本原理,记:
由上文所得,上证综指收益率序列后半部分数据的均值为0.005626654,所以得VaR模型为:
因此在ML和MCMC下分别为:
取上证综指收益率序列的后半部分数据对波动率序列进行预测,分别用ML-GARCH和MCMC-GARCH计算VaR,在95%的置信水平下得到如下值:
基于ML和MCMC方法的VaR值
| 中位数 | 均值 | 标准差 | |
|---|---|---|---|
| ML | 1.7016 | 1.9666 | 1.319663 |
| MCMC | 1.8348 | 2.3139 | 1.249384 |
通过上表可知,基于ML-GARCH和MCMC-GARCH计算的VaR值有一定的差别,基于MCMC-GARCH计算的VaR值更高、标准差更低。
两种方法拟合的时序图如下:
基于ML和MCMC方法的VaR时序图
关于作者
在此对Ke Liu对本文所作的贡献表示诚挚感谢,她毕业于中南财经政法大学经济统计学专业,擅长金融时间序列数据分析与预测等。
最受欢迎的见解
4.R语言中的马尔科夫机制转换(Markov regime switching)模型
5.python中使用马尔可夫决策过程(MDP)动态编程来解决最短路径强化学习问题
8.R语言几何布朗运动 GBM模拟股票价格优化建立期权定价概率加权收益曲线可视化
R语言MCMC-GARCH、风险价值VaR模型股价波动分析上证指数时间序列的更多相关文章
- 【机器学习与R语言】7-回归树和模型树
目录 1.理解回归树和模型树 2.回归树和模型树应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高模型性能 1.理解回归树和模型树 决策树用于数值预测: 回归树:基于到达 ...
- R语言实现SOM(自组织映射)模型(三个函数包+代码)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- SOM自组织映射神经网络模型 的R语言实现 笔 ...
- R语言实战(五)方差分析与功效分析
本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ================================================================ ...
- R语言和数据分析十大:购物篮分析
提到数据挖掘,我们的第一个反应是之前的啤酒和尿布的故事听说过,这个故事是一个典型的数据挖掘关联规则.篮分析的传统线性回归之间的主要差别的差别,对于离散数据的相关性分析: 常见的关联规则: 关联规则:牛 ...
- R语言学习-(金融数据获取和简单的分析)
利用R语言中的quantmod包和fBasics对股票数据的获取和简要的分析, 通过获取的数据进行典型图像绘制,使用JB正态性检验来检验是否服从于正态分布. 前提概要:quantmod 包默认是访问 ...
- 【机器学习与R语言】13- 如何提高模型的性能?
目录 1.调整模型参数来提高性能 1.1 创建简单的调整模型 2.2 定制调整参数 2.使用元学习来提高性能 2.1 集成学习(元学习)概述 2.2 bagging 2.3 boosting 2.4 ...
- 【机器学习与R语言】12- 如何评估模型的性能?
目录 1.评估分类方法的性能 1.1 混淆矩阵 1.2 其他评价指标 1)Kappa统计量 2)灵敏度与特异性 3)精确度与回溯精确度 4)F度量 1.3 性能权衡可视化(ROC曲线) 2.评估未来的 ...
- 【转】R语言知识体系概览
摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...
- R语言中文社区历史文章整理(类型篇)
R语言中文社区历史文章整理(类型篇) R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterpl ...
- 大数据时代的精准数据挖掘——使用R语言
老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一 ...
随机推荐
- Vue中v-model与:value的区别
v-model不可以加其他值 <input type="text" v-model="curAmount"> :value可以加 单位 <in ...
- CSS 子代选择器(>)
后代选择器 后代选择器?是一种多个用空格分隔的选择器,别称包含选择器.范围是当前节点的所有子节点,包括其直接子节点. div#app下的所有 div 元素都使用下面的样式: div#app div { ...
- (四)Mysql之索引介绍
索引数据结构的选择:Hash表.二叉树.平衡二叉树.(红黑树近似于平衡二叉树).B树.B+树1)Hash表:Java的HashMap.TreeMap就是Hash表结构,以键值对存储,时间复杂度是O(1 ...
- springboot加入cloud,并注册到nacos
pom.xml下新增 <dependency> <groupId>org.springframework.cloud</groupId> <artifactI ...
- python如何画高光谱立体图像
语句含义:spectral.view_cube(image,bands=[29,19,9]) 中的29,19和9是第几个波段,可以改成数据波段数以内的其他的数值
- Oracle DataGuard 出现 GAP 修复
下面我们通过实验来进行演示如何修复: 一.主库切几个最新的归档,然后手工删掉,重新开启DG同步. 1.备库关闭应用日志和数据库 SQL> ALTER DATABASE RECOVER MANAG ...
- vue+html5实现上传图片
原理:dispatchEvent 自定义触发事件,常用于自定义鼠标事件或点击事件 ,原生控件input打开上传文件方案:vue项目,点击自己的上传文件图标,通过dispatchEvent主动触发一个自 ...
- Educational Codeforces Round 137 (Rated for Div. 2) - F. Intersection and Union
(线段树 + 思维)or 动态dp [Problem - F - Codeforces](https://codeforces.com/contest/1743/problem/E) 题意 数轴上有 ...
- MySQL 8.0 新特性-原子DDL
背景 MySQL 8.0 原子DDL 是一个复杂的过程,涉及比较多的模块,例如:MDL 锁,表定义缓存,行格式,Row Log,DDL Log,online 属性,表空间物理文件操作等.本文主要通过与 ...
- 20192326杨沥凯 实验一《Linux基础与Java开发环境》实验报告
20192326杨沥凯 2020-2021-1 <数据结构与面向对象程序设计>实验一报告 课程:<程序设计与数据结构> 班级: 1923 姓名: 杨沥凯 学号:20192326 ...