【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972

个人介绍: 研一|统计学|干货分享
         擅长Python、Matlab、R等主流编程软件
         累计十余项国家级比赛奖项,参与研究经费10w、40w级横向

文章目录

  • [1 数据读取及预处理](#1 数据读取及预处理)
  • [2 GARCH模型拟合](#2 GARCH模型拟合)
  • [3 模型预测](#3 模型预测)
  • [4 VAR、ES风险度量](#4 VAR、ES风险度量)

该篇文章主要展示了应用一个带有高斯新息的GARCH(1,1)模型,对数据进行拟合并且预测风险损失,同时进行了风险价值VaR和局部均值ES的度量,附完整代码及分析。

1 数据读取及预处理

运行程序:

复制代码
da=read.table("F:\\ch7data\\d-ibm-0110.txt",header=T)
xt=-log(da$return+1)   # calculate negative log returns.library(fGarch)

2 GARCH模型拟合

此处为作演示,拟合GARCH(1,1)模型。

运行程序:

复制代码
library(fGarch)
m1=garchFit(~garch(1,1),data=xt,trace=F)
m1

运行结果:

复制代码
## 
## Title:
##  GARCH Modelling 
## 
## Call:
##  garchFit(formula = ~garch(1, 1), data = xt, trace = F) 
## 
## Mean and Variance Equation:
##  data ~ garch(1, 1)
## <environment: 0x00000000177235d8>
##  [data = xt]
## 
## Conditional Distribution:
##  norm 
## 
## Coefficient(s):
##          mu        omega       alpha1        beta1  
## -6.0097e-04   4.3781e-06   1.0113e-01   8.8412e-01  
## 
## Std. Errors:
##  based on Hessian 
## 
## Error Analysis:
##          Estimate  Std. Error  t value Pr(>|t|)    
## mu     -6.010e-04   2.393e-04   -2.511 0.012044 *  
## omega   4.378e-06   1.160e-06    3.774 0.000161 ***
## alpha1  1.011e-01   1.851e-02    5.463 4.67e-08 ***
## beta1   8.841e-01   1.991e-02   44.413  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Log Likelihood:
##  7114.066    normalized:  2.828654 

3 模型预测

此处预测未来三期情况。

运行程序:

复制代码
predict(m1,3)

运行结果:

复制代码
##    meanForecast   meanError standardDeviation
## 1 -0.0006009667 0.007824302       0.007824302
## 2 -0.0006009667 0.008043298       0.008043298
## 3 -0.0006009667 0.008253382       0.008253382

4 VAR、ES风险度量

运行程序:

复制代码
source("F:\\ch7data\\RMeasure.R")
m11=RMeasure(-.000601,.0078243)

运行结果:

复制代码
## 
##  Risk Measures for selected probabilities: 
##        prob        VaR         ES
## [1,] 0.9500 0.01226883 0.01553828
## [2,] 0.9900 0.01760104 0.02025244
## [3,] 0.9990 0.02357790 0.02574412
## [4,] 0.9999 0.02849770 0.03037133

根据结果得出拟合的模型为:

x t = − 0.000601 + a t ; a t = σ t ϵ t ; ϵ t ∼ N ( 0 , 1 ) x_t=-0.000601+a_t;a_t=\sigma _t \epsilon_t;\epsilon_t \sim N(0,1) xt=−0.000601+at;at=σtϵt;ϵt∼N(0,1)

σ t 2 = 4.378 × 1 0 t − 6 + 0.1011 × a t − 1 2 + 0.8841 σ t − 1 2 \sigma t^2=4.378×10^{-6}t+0.1011×a{t-1}^2+0.8841 \sigma{t-1}^2 σt2=4.378×10t−6+0.1011×at−12+0.8841σt−12

在5%的水平上,所有系数估计是统计上显著的。在时刻T=2515,均值和波动率的超前一步预测分别为 − 6.01 × 1 0 − 4 -6.01×10^{-4} −6.01×10−4和 7.82 × 1 0 − 3 7.82×10^{-3} 7.82×10−3 。相应地,我们有:

V a r 0.95 = 0.01227 ; E S 0.95 = 0.01554 Var_{0.95}=0.01227;ES_{0.95}=0.01554 Var0.95=0.01227;ES0.95=0.01554

V a r 0.95 = 0.0176 ; E S 0.95 = 0.02025 Var_{0.95}=0.0176;ES_{0.95}=0.02025 Var0.95=0.0176;ES0.95=0.02025

然后可以应用上述结果计算该金融头寸的风险度量。接下来的一个交易日有:

V a r 0.95 = 12270 ; E S 0.95 = 15540 Var_{0.95}=12270;ES_{0.95}=15540 Var0.95=12270;ES0.95=15540

相关推荐
无聊的小坏坏5 分钟前
用递归算法解锁「子集」问题 —— LeetCode 78题解析
算法·深度优先
m0_7385963222 分钟前
十大排序算法
算法·排序算法
jingfeng51424 分钟前
详解快排的四种方式
数据结构·算法·排序算法
MoRanzhi120338 分钟前
245. 2019年蓝桥杯国赛 - 数正方形(困难)- 递推
python·算法·蓝桥杯·国赛·递推·2019
G皮T1 小时前
【Elasticsearch】映射:Join 类型、Flattened 类型、多表关联设计
大数据·elasticsearch·搜索引擎·nested·join·多表关联·flattened
G皮T1 小时前
【Elasticsearch】映射:Nested 类型
大数据·elasticsearch·搜索引擎·映射·nested·嵌套类型·mappings
狂奔solar1 小时前
逻辑回归暴力训练预测金融欺诈
大数据·金融·逻辑回归
henyaoyuancc1 小时前
vla学习 富
人工智能·算法
电报号dapp1192 小时前
DeFi模式:去中心化金融架构与流动性池设计
金融·架构·web3·去中心化·区块链·智能合约
Gyoku Mint2 小时前
机器学习×第五卷:线性回归入门——她不再模仿,而开始试着理解你
人工智能·python·算法·机器学习·pycharm·回归·线性回归