ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

4天前 (03-21 11:56)阅读1回复0
披着凉皮的糖
披着凉皮的糖
  • 管理员
  • 注册排名4
  • 经验值129895
  • 级别管理员
  • 主题25979
  • 回复0
楼主

原文链接:

比来我被要求撰写关于金融时间序列的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-COPULA模子和金融时间序列案例|附代码数据

那个设法是在那里利用一些多变量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 - apply(dat_arma,2,mean)

v - apply(dat_arma,2,var)

dat_arma_std - t((t(dat_arma)-m)/ sqrt(v))

ARMA-GARCH模子

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 - apply(dat_res,2,mean)

v_res - apply(dat_res,2,var)

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

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

点击题目查阅往期内容

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

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

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

摆布滑动查看更多

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

01

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

02

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

03

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

04

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

隐含相关性

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))

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

多变量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])

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

从单变量GARCH模子中模仿残差

第一步可能是考虑残差的一些静态(结合)散布。单变量边沿散布是

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

边沿密度的轮廓(利用双变量核估量器获得)

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

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

copula_NP = function(i = 1,j = 2){

+ n = nrow(uv)

+ s = 0.3

+ norm.cop - normalCopula(0.5)

+ norm.cop - normalCopula(fitCopula(norm.cop,uv)@estimate)

+ dc = function(x,y)dCopula(cbind(x,y),norm.cop)

+ ylab = names(dat)[j],zlab =“copule Gaussienne”,ticktype =“detailed”,zlim = zl)

+ t.cop - tCopula(0.5,df = 3)

+ t.cop - tCopula(t.fit [1],df = t.fit [2])

+ ylab = names(dat)[j],zlab =“copule de Student”,ticktype =“detailed”,zlim = zl)

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

能够考虑那个函数,

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

计算三个序列的的体味版本,并将其与一些参数版本停止比力,

lambda = function(C){

+ l = function(u)pcopula(C,cbind(u,u))/ u

+ v = Vectorize(l)(u)

+ return(c(v,rev(v)))

graph_lambda = function(i,j){

+ X = dat_res

+ U = rank(X [,i])/(nrow(X)+1)

+ V = rank(X [,j])/(nrow(X)+1)

+ normal.cop - normalCopula(.5,dim = 2)

+ t.cop - tCopula(.5,dim = 2,df = 3)

+ fit1 = fitCopula(normal.cop,cbind(U,V),method =“ml”)

d(U,V),method =“ml”)

+ C1 = normalCopula(fit1 @ copula @ parameters,dim = 2)

+ C2 = tCopula(fit2 @ copula @ parameters [1],dim = 2,df = trunc(fit2 @ copula @ parameters [2]))

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

但人们可能想晓得相关性能否随时间不变。

time_varying_correl_2 = function(i = 1,j = 2,

+ nom_arg =“Pearson”){

+ uv = dat_arma [,c(i,j)]

nom_arg))[1,2]

time_varying_correl_2(1,2)

time_varying_correl_2(1,2,“spearman”)

time_varying_correl_2(1,2,“kendall”)

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

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

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

或肯德尔 相关系数

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

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

m2 = dccFit(dat_res_std)

m3 = dccFit(dat_res_std,type =“Engle”)

R2 = m2 $ rho.t

R3 = m3 $ rho.t

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

要获得一些揣测, 利用例如

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)

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据

本文摘选 《 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阐发

0
回帖

ARMA-GARCH-COPULA模子和金融时间序列案例|附代码数据 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息