ARMA

您所在的位置:网站首页 tcopula函数 ARMA

ARMA

2023-04-03 10:28| 来源: 网络整理| 查看: 265

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

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

最近我被要求撰写关于金融时间序列的copulas的调查

从读取数据中获得各种模型的描述,包括一些图形和统计输出。

> oil = read.xlsx(temp,sheetName =“DATA”,dec =“,”) 复制代码

然后我们可以绘制这三个时间序列

1 1997-01-10 2.73672 2.25465 3.3673 1.5400 2 1997-01-17 -3.40326 -6.01433 -3.8249 -4.1076 3 1997-01-24 -4.09531 -1.43076 -6.6375 -4.6166 4 1997-01-31 -0.65789 0.34873 0.7326 -1.5122 5 1997-02-07 -3.14293 -1.97765 -0.7326 -1.8798 6 1997-02-14 -5.60321 -7.84534 -7.6372 -11.0549 复制代码

图片

这个想法是在这里使用一些多变量ARMA-GARCH过程。这里的启发式是第一部分用于模拟时间序列平均值的动态,第二部分用于模拟时间序列方差的动态。

本文考虑了两种模型

关于ARMA模型残差的多变量GARCH过程(或方差矩阵动力学模型) 关于ARMA-GARCH过程残差的多变量模型(基于copula)

因此,这里将考虑不同的序列,作为不同模型的残差获得。我们还可以将这些残差标准化。

ARMA模型

> fit1 = arima(x = dat [,1],order = c(2,0,1)) > fit2 = arima(x = dat [,2],order = c(1,0,1)) > fit3 = arima(x = dat [,3],order = c(1,0,1)) > m  v  dat_arma_std  fit1 = garchFit(formula = ~arma(2,1)+ garch(1,1),data = dat [,1],cond.dist =“std”) > fit2 = garchFit(formula = ~arma(1,1)+ garch(1,1),data = dat [,2],cond.dist =“std”) > fit3 = garchFit(formula = ~arma(1,1)+ garch(1,1),data = dat [,3],cond.dist =“std”) > m_res  v_res  dat_res_std = cbind((dat_res [,1] -m_res [1])/ sqrt(v_res [1]),(dat_res [,2] -m_res [2])/ sqrt(v_res [2]),(dat_res [ ,3] -m_res [3])/ SQRT(v_res [3])) 复制代码 多变量GARCH模型

可以考虑的第一个模型是协方差矩阵的多变量EWMA,

> ewma = EWMAvol(dat_res_std,lambda = 0.96) 复制代码

波动性

> emwa_series_vol = function(i = 1){ + lines(Time,dat_arma [,i] + 40,col =“gray”) + j = 1 + if(i == 2)j = 5 + if(i == 3)j = 9 复制代码

图片

点击标题查阅往期内容

图片

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

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

隐含相关性

> emwa_series_cor = function(i = 1,j = 2){ + if((min(i,j)== 1)&(max(i,j)== 2)){ + a = 1; B = 9; AB = 3} + r = ewma $ Sigma.t [,ab] / sqrt(ewma $ Sigma.t [,a] * + ewma $ Sigma.t [,b]) + plot(Time,r,type =“l”,ylim = c(0,1)) +} 复制代码

图片

多变量GARCH,即BEKK(1,1)模型,例如使用:

> bekk = BEKK11(dat_arma) > bekk_series_vol function(i = 1){ + plot(Time, $ Sigma.t [,1],type =“l”, + ylab = (dat)[i],col =“white”,ylim = c(0,80)) + lines(Time,dat_arma [,i] + 40,col =“gray”) + j = 1 + if(i == 2)j = 5 + if(i == 3)j = 9 > bekk_series_cor = function(i = 1,j = 2){ + a = 1; B = 5; AB = 2} + a = 1; B = 9; AB = 3} + a = 5; B = 9; AB = 6} + r = bk $ Sigma.t [,ab] / sqrt(bk $ Sigma.t [,a] * + bk $ Sigma.t [,b]) 复制代码

图片

从单变量GARCH模型中模拟残差

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

图片

边缘密度的轮廓(使用双变量核估计器获得) 

图片

也可以将copula密度可视化(上面有一些非参数估计,下面是参数copula)

> copula_NP = function(i = 1,j = 2){ + n = nrow(uv) + s = 0.3 + norm.cop  graph_lambda = function(i,j){ + X = dat_res + U = rank(X [,i])/(nrow(X)+1) + V = rank(X [,j])/(nrow(X)+1) + normal.cop  time_varying_correl_2(1,2) > time_varying_correl_2(1,2,“spearman”) > time_varying_correl_2(1,2,“kendall”) 复制代码

图片

斯皮尔曼与时变排名相关系数

图片

或肯德尔 相关系数

图片

为了模型的相关性,考虑DCC模型(S)

> m2 = dccFit(dat_res_std) > m3 = dccFit(dat_res_std,type =“Engle”) > R2 = m2 $ rho.t > R3 = m3 $ rho.t 复制代码

图片

要获得一些预测, 使用例如

> garch11.spec = ugarchspec(mean.model = list(armaOrder = c(2,1)),variance.model = list(garchOrder = c(1,1),model =“GARCH”)) > dcc.garch11.spec = dccspec(uspec = multispec(replicate(3,garch11.spec)),dccOrder = c(1,1), distribution =“mvnorm”) > dcc.fit = dccfit(dcc.garch11.spec,data = dat) > fcst = dccforecast(dcc.fit,n.ahead = 200) 复制代码

图片

图片

本文摘选 《 R语言ARMA-GARCH-COPULA模型和金融时间序列案例 》 ,点击“阅读原文”获取全文完整资料。

点击标题查阅往期内容

时间序列分析:ARIMA GARCH模型分析股票价格数据 GJR-GARCH和GARCH波动率预测普尔指数时间序列和Mincer Zarnowitz回归、DM检验、JB检验 【视频】时间序列分析:ARIMA-ARCH / GARCH模型分析股票价格 时间序列GARCH模型分析股市波动率 PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化 极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析 Garch波动率预测的区制转移交易策略 金融时间序列模型ARIMA 和GARCH 在股票市场预测应用 时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格 R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据 R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化 Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用 MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测R语言GARCH-DCC模型和DCC(MVT)建模估计 Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列 R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格 R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列 Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测 R语言时间序列GARCH模型分析股市波动率 R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测 matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计 Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测 使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略 R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模 R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析 R语言多元Copula GARCH 模型时间序列预测 R语言使用多元AR-GARCH模型衡量市场风险 R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格 R语言用Garch模型和回归模型对股票价格分析 GARCH(1,1),MA以及历史模拟法的VaR比较 matlab估计arma garch 条件均值和方差模型R语言POT超阈值模型和极值理论EVT分析



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3