共计 2196 个字符,预计需要花费 6 分钟才能阅读完成。
原文链接: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 <- hist
top <- max
layout
par
plot
barplot
并失去咱们的原始数据集的这种表现形式
将 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 <- list
var <- list(model = "sGARCH") # 规范 GARCH
garch # 条件翻新密度(或者应用,例如,"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
garchspec
fit <- apply
查看(标准化的)Z,即残差 Z 的伪观测值。
Z <- sapply
U <- pobs
plot
将 t copula 拟合到标准化残差 Z
。对于边缘散布,咱们还假如 t 散布,但具备不同的自由度;为简略起见,此处省略了预计。
fitCopula
n <- rep # 边际自由度;为了简略起见,这里应用已知的自由度
es <- cbind # 拟合与实在
rownames
从拟合的工夫序列模型中模仿
从拟合的 copula 模型进行模仿。
set.seed(21) # 可重复性
U <- rCopula
Z. <- 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 模型的不同类型的脉冲响应剖析