暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言ARMA GARCH COPULA模型拟合股票收益率时间序列和模拟可视化

拓端数据部落 2022-06-07
259

原文链接: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可能不是最好的,因为它显示了严重的尾部相关性,而这在我们的数据中并不强烈,不过这只是开始。



点击标题查阅往期内容


ARMA-GARCH-COPULA模型和金融时间序列案例


左右滑动查看更多


01

02

03

04




我们可以选择将数据与每个随机变量的分布画在一起,如下所示

# 用柱状图绘制数据
hst <- hist
top <- max

layout
par
plot
barplot

并得到我们的原始数据集的这种表现形式

将 t copula 拟合到标准化残差 Z
。对于边缘分布,我们还假设 t分布,但具有不同的自由度;为简单起见,此处省略了估计。

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

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

从拟合的时间序列模型中模拟

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

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

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

X <- sapply # 模拟序列X_t 
matplot





本文摘选R语言ARMA GARCH COPULA模型拟合股票收益率时间序列和模拟可视化,点击“阅读原文”获取全文完整资料。





点击标题查阅往期内容

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分析



文章转载自拓端数据部落,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论