首页 > 其他分享 >R语言多元Copula GARCH 模型时间序列预测|附代码数据

R语言多元Copula GARCH 模型时间序列预测|附代码数据

时间:2024-04-09 18:24:00浏览次数:27  
标签:语言 模型 序列 GARCH Copula ARMA

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

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

 最近我们被要求撰写关于Copula GARCH的研究报告,包括一些图形和统计输出。

和宏观经济数据不同,金融市场上多为高频数据,比如股票收益率序列。直观的来说 ,后者是比前者“波动”更多且随机波动的序列,在一元或多元的情况下,构建Copula函数模型和GARCH模型是最好的选择。

多元GARCH家族中,种类非常多,需要自己多推导理解,选择最优模型。本文使用R软件对3家上市公司近十年的每周收益率为例建立模型。 

首先我们可以绘制这三个时间序列。

IMG_256

在这里使用多变量的ARMA-GARCH模型。  

    本文考虑了两种模型

1 ARMA模型残差的多变量GARCH过程

2 ARMA-GARCH过程残差的多变量模型(基于Copula)

1 ARMA-GARCH模型

   
> fit1 = garchFit(formula = ~arma(2,1)+ garch(1,1),data = dat [,1],cond.dist =“std”)

可视化波动 

IMG_257

隐含的相关性 

   
> emwa_series_cor = function(i = 1,j = 2){+ if((min(i,j)== 1)&(max(i,j)== 2)){+ a = 1; B = 5; AB = 2}

+}

IMG_258

2 BEKK(1,1)模型:

   BEKK11(dat_arma)

IMG_259

隐含的相关性

 IMG_260

对单变量GARCH模型残差建模

第一步可能是考虑残差的静态(联合)分布。单变量边际分布是

IMG_261

而联合密度为

IMG_262

可视化 密度 

 IMG_263 

IMG_264

查看相关性是否随着时间的推移而稳定。

  IMG_265

斯皮尔曼相关性

IMG_266

肯德尔相关性

IMG_267

对相关性建模,考虑DCC模型

 IMG_268 

对数据进行预测 

   
 > fcst = dccforecast(dcc.fit,n.ahead = 200)

 
IMG_269

 

我们已经完全掌握了多元GARCH模型的使用,接下来就可以放手去用R处理时间序列了!

 


最受欢迎的见解

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

2.R语言基于ARMA-GARCH-VaR模型拟合和预测实证

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

4.GARCH(1,1),MA以及历史模拟法的VaR比较

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

6.matlab预测ARMA-GARCH 条件均值和方差模型

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

8.R语言: GARCH模型股票交易量的研究道琼斯股票市场指数

9.R语言GARCH-DCC模型和DCC(MVT)建模估计

 

标签:语言,模型,序列,GARCH,Copula,ARMA
From: https://www.cnblogs.com/tecdat/p/18124513

相关文章

  • CF156D-Prufer序列、多项式定理
    link:https://codeforces.com/contest/156/problem/D题意:给一张无向简单图\(G\),问有多少种加边的方式,使得图联通,并且需要加的边最小。\(|E|,|V|\leq10^5\),对\(k\)取模前置知识应该是Prufer序列(这题应该是绕不开这个东西)对每个连通分支考虑答案,如果有\(k\)个连通分支,大小......
  • .net xml序列化与xml反序列化
    序列化stringxmlStr="";vardto=newReqDto(){ErrorCode=200,ReqName="test"};XmlSerializerserializer=newXmlSerializer(typeof(ReqDto));using(StringWritertextWriter=newStringWriter()){serializer.Serialize(textWr......
  • Django框架之序列化组件
    一、为什么要序列化呢?我们在写一些项目前后端是分离的,这意味着无法直接利用django提供的模版语法来实现前后端的数据交互,需要将数据转换成前后端都能接收处理的格式,即json,一般的格式都是列表套字典。那么我的前端想拿到由ORM得到的数据库里面的一个个用户对象,而我的后端也想直接......
  • @JSONField 坑点 结论:若属性是私有的,必须有set*方法。否则无法反序列化。
    @JSONField坑点结论:若属性是私有的,必须有set*方法。否则无法反序列化。@JSONField坑点结论:若属性是私有的,必须有set*方法。否则无法反序列化。原因:主要原因是JSONField注解是通过反射来操作对象的属性的,而在Java类中一般情况下,字段是私有的,不能直接访问。所以需要......
  • R语言Copula对债券时间序列数据的流动性风险进行度量|附代码数据
    全文链接:http://tecdat.cn/?p=32707原文出处:拓端数据部落公众号在金融市场中,债券的流动性风险一直是一个备受关注的问题。流动性风险是指在市场上,债券价格的波动程度受到市场流动性的影响,这种影响可能导致债券价格的剧烈波动,从而影响投资者的收益。因此,对于债券流动性风险的度量......
  • Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列
    全文链接:https://tecdat.cn/?p=33885原文出处:拓端数据部落公众号本文描述了帮助客户使用马尔可夫链蒙特卡洛(MCMC)方法通过贝叶斯方法估计基本的单变量随机波动模型,就像Kim等人(1998年)所做的那样。定义模型以及从条件后验中抽取样本的函数的代码也在Python脚本中提供。  ......
  • 【CSP】202112-2 序列查询新解
    题目大意:给定一长度为n+1的严格单增数列A[a0,a1,a2,a3...,an],其中a0=0,an<N定义f(x)为数列A中小于等于x的最大整数的下标,r=floor(N/(n+1)),g(x)=floor(x/r)。当N<1e9,n<1e4的时候,求解|g(x)-f(x)|之和,x=0,1,2...,N-1 分析:数据规模较大,如果一项一项求和将会超时。为优化朴素方法,观......
  • 时间序列分析 #AR模型平稳性的判别
    理解AR模型的定义,能熟练写出AR模型的模型结构和特征方程的表达式;掌握AR模型平稳性判别的三种方法,即图示法、特征根法和平稳域方法。练习1、考察如下四个AR模型的平稳性:利用函数arima.sim或函数filter拟合上述四个序列的序列值,绘制时序图(以2×2的结构排列),并对图形做出解释......
  • 蓝桥杯,省赛,动态规划专题,青蛙,更小的数,松散子序列,接龙数列
    #include<bits/stdc++.h>usingnamespacestd;constintN=1e5+9;doublex[N],a[N],b[N];doubledp[N][5];intmain(){intn;cin>>n;for(inti=1;i<=n;i++)cin>>x[i];for(inti=1;i<=n-1;i++)cin>>a[i]>>b[i......
  • 1078:求分数序列和
    1078:求分数序列和时间限制:1000ms      内存限制:65536KB提交数:60452   通过数: 42413【题目描述】有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,其中q[i+1]=q[i]+p[i],p[i+1]=q[i],p[1]=1,q[1]=2,比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求......