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

在本文中,咱们展现了 copula GARCH 办法拟合模仿数据和股票数据并进行可视化。 r还提供了一个非凡状况(具备正态或学生 t残差)。

 一、如何在R中对股票x和y的收益率拟合copula模型

数据集

为了这个例子的目标,我应用了一个简略的股票x和y的收益率数据集(x.txt和y.txt)。

首先,咱们须要加载数据并将其转换成矩阵格局。也能够抉择绘制数据。

    x <- read.table    y <- read.table        # 理论察看后果    plot

数据的图表

当初咱们曾经加载了咱们的数据,能够分明地看到,存在正相干。

下一步是拟合。为了拟合数据,咱们须要抉择一个copula模型。该模型应依据数据的构造和其余因素来抉择。作为第一种近似值,咱们能够说咱们的数据显示了正相干,因而一个能够复制这种相干的copula模型应该是不错的。我抉择应用正态copula。对于其余类型的copula模型来说,拟合过程是雷同的。

让咱们来拟合数据

    # 正态Copula    normalCopula    fiop<- fit        # 系数    rho <- coef    print

请留神,数据必须通过函数pobs()输出,该函数将实在观测值转换为单位平方[0,1]的伪观测值。
还要留神的是,咱们应用的是 "ml "办法(最大似然法),然而也有其余办法,如 "itau"。

在咱们的例子中,拟合的协整参数rho等于0.73。让咱们模仿一些假的察看后果

通过绘制伪观测值和模仿观测值,咱们能够看到应用copula的模仿与伪观测值的匹配状况。

    # 伪察看    pobs    plot        # 模仿数据    u1 = rCopula

这个特定的copula可能不是最好的,因为它显示了重大的尾部相关性,而这在咱们的数据中并不强烈,不过这只是一个开始。

在开始的时候,咱们能够抉择将数据与每个随机变量的散布画在一起,如下所示

# 用柱状图绘制数据hst <- histtop <- maxlayoutparplotbarplot

 

并失去咱们的原始数据集的这种表现形式

 将 t copula 拟合到标准化残差 Z。对于边缘散布,咱们还假如 t散布,但具备不同的自由度;为简略起见,此处省略了预计。

n <- rep # 边际自由度;为了简略起见,这里应用已知的自由度es <- cbind # 拟合与实在rownames

从拟合的工夫序列模型中模仿

从拟合的 copula 模型进行模仿。

并为每个边缘绘制后果序列 (Xt)

X <- sapply # 模仿序列X_t matplot

二、模仿数据

首先,咱们模仿了散布。为了演示的目标,咱们抉择了一个小的样本量。

##模仿Copula # 定义copula对象set.seed(21) # 可重复性 # 对copula进行采样sqrt * qt # 对于ugarchpath()来说,边际必须具备均值0和方差1!

当初咱们应用依赖于 copula 来模仿两个 ARMA(1,1)-GARCH(1,1) 过程。 ARMA(p1,q1)-GARCH(p2,q2) 模型由下式给出

## 固定边缘模型的参数fixedp <- listvar <- list(model = "sGARCH") # 规范GARCHgarch # 条件翻新密度(或者应用,例如,"std")。## 应用隶属翻新模仿ARMA-GARCH模型garch n.sim = n, # 模仿的门路长度                m.sim = d, # 要模仿的门路数量##提取后果系列fit# X\_t = mu\_t + eps_t (模仿过程)sig # sigma_t (条件性标准偏差)resid # epsilon\_t = sigma\_t * Z_t (残差)## 绘制matplot

基于模仿数据的拟合

咱们当初展现如何将 ARMA(1,1)-GARCH(1,1) 过程拟合到 X 

garchspecfit <- apply

查看(标准化的)Z,即残差Z的伪观测值。

Z <- sapplyU <- pobsplot

将 t copula 拟合到标准化残差 Z。对于边缘散布,咱们还假如 t散布,但具备不同的自由度;为简略起见,此处省略了预计。

fitCopula

n <- rep # 边际自由度;为了简略起见,这里应用已知的自由度es <- cbind # 拟合与实在rownames

从拟合的工夫序列模型中模仿

从拟合的 copula 模型进行模仿。

set.seed(21) # 可重复性U <- rCopulaZ. <- sapply## => 标准化的garchsim()sim <- lapply

并为每个边缘绘制后果序列 (Xt)

X <- sapply # 模仿序列X_t matplot


 

最受欢迎的见解

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

2.r语言实现copula算法建模依赖性案例

3.R语言COPULAS和金融工夫序列数据VaR剖析

4.R语言多元COPULA GARCH 模型工夫序列预测

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

6.matlab应用Copula仿真优化市场危险数据分析

7.R语言实现向量主动回归VAR模型

8.R语言随机搜寻变量抉择SSVS预计贝叶斯向量自回归(BVAR)模型

9.R语言VAR模型的不同类型的脉冲响应剖析