关于数据挖掘:Copula估计边缘分布模拟收益率计算投资组合风险价值VaR与期望损失ES附代码数据

40次阅读

共计 3767 个字符,预计需要花费 10 分钟才能阅读完成。

全文链接:http://tecdat.cn/?p=24753

最近咱们被客户要求撰写对于 Copula 的钻研报告,包含一些图形和统计输入。

在这项工作中,我通过创立一个蕴含四只基金的模型来摸索 copula,这些基金跟踪股票、债券、美元和商品的市场指数

摘要

而后,我应用该模型生成模仿值,并应用理论收益和模仿收益来测试模型投资组合的性能,以计算危险价值 (VaR) 与冀望损失(ES)。

一、介绍与概述

Copulas 对多元散布中变量之间的相关性进行建模。它们容许将多变量依赖关系与单变量边缘散布相结合,容许咱们对形成多变量数据的每个变量应用许多单变量模型。Copulas 在 2000 年代开始风行。依据 Salmon (2009) 的说法,Li (2000) 最近提出的 Copulas 利用之一是 2008 年开始的金融危机。咱们将应用 copulas 来模仿四个 ETF 基金的行为:IVV,跟踪规范普尔 500 指数;TLT,跟踪长期国债;UUP,追踪外汇指数;以及商品的 DBC

二、实践背景

copula 是一个多变量 CDF,其边缘散布都是 Uniform (0,1)。假如 Y 有 d 维,并且有一个多元  和边缘。很容易证实,每个 都是 Uniform(0,1)。因而,的 CDF 依据定义是一个 copula。应用 Sklar (1973) 的定理,而后咱们能够将咱们的随机变量 Y 合成为一个 copula CY,它蕴含对于咱们的变量 Y 之间相互依赖的信息,以及单变量边缘 CDFs FY,它蕴含对于每个变量的所有信息单变量边缘散布。对于 d 维,咱们有:

并使每个,咱们有:

如果咱们对等式(2)进行微分,咱们会发现 Y 的密度为:

方程 (3) 中的后果容许咱们创立多变量模型,这些模型思考了变量的互相依赖性(方程的第一局部)和每个变量的散布(方程的第二局部)。咱们能够应用 copula 和边缘局部的参数版本来创立可用于运行测试和执行预测的模型。在接下来的几节中,咱们将应用用于统计计算的 R 语言将高斯和 t-copula 拟合到介绍中形容的 ETF 的对数收益率。有了 copula 和边缘,咱们将应用模型来确定投资的危险价值 (VaR) 和预期损失 (ES)。


点击题目查阅往期内容

R 语言多元 Copula GARCH 模型工夫序列预测

左右滑动查看更多

01

02

03

04

三、算法实现与开发

像平常一样,咱们从读取文件开始。图 1 显示了价格图:留神 IVV 和 DBC(股票和商品)之间的关系以及 TLT 和 UUP(元和国债)之间的关系。

# 将 ETF 读入

read.zoo("F.csv")
# 获取最近 501 天

tf[(T-500):T,]
# 绘制价格

pdf("价格.pdf")

在这种状况下,咱们计算对数收益率。图 2 显示了收益图。

# 计算对数收益
le <- lag(e,-1
log(ef) - log(lef) ) * 100

而后咱们做一个配对图来确定后果是否相干,例如,正如冀望的那样,IVV 和 DBC 之间存在十分高的相关性。图 3 显示了配对图。而后咱们取得边距的参数,拟合每个变量的散布。后果见表一

# 拟合散布
 fitdr
## 失去后果矩阵
# 将 AIC 函数利用于第一项(值)# params 列表的第四项 (loglik)
AIC(saply (saply(prms, 4))

# params 列表的第一项(预计)sapply (sapply(pams,3))

图 4 显示了拟合散布与来自变量的实在数据进行比拟的图。当初咱们有了边缘散布,咱们须要找到模型的 copula。咱们首先应用概率变换并取得  中的每一个,咱们晓得它们是 Uniform(0,1)。这是通过以下代码实现的:

# 当初咱们须要均匀分布
IV <- pct(IVV, a)
rt <- cbind(uV uL, UP, DC)

图 5 显示了均匀分布之间的相关性。通过均匀分布,咱们能够看到哪种类型的参数 copula 最适宜。咱们将拟合高斯 copula 和 t-copula,记录它们的 AIC 并查看哪一个提供了最佳拟合。

图 5:均匀分布之间的相关性

# 拟合高斯 copula

fit.gaussian <- fitCopula (ncp))
# 记录拟合的 AIC
fit.aic = AIC(filik,

############################################### ############
# 当初是 t-copula

fitCopula (tcop, url00))
# 记录拟合的 AIC

AIC(fiik
length(fite)

比拟两种拟合,如表 II 所示,咱们发现 t-copula 拟合最好,因而咱们将依据 t-copula 的参数创立一个模型。而后,咱们应用该模型生成 10,000 个察看后果,模仿咱们模型的可能后果。咱们的模仿模型与拟合模型之间的图形比拟能够在图 6 中看到 – 模仿十分靠近拟合模型。

tCopula(parun")
cop.dist <- mvdc(copt,
parast1)
rmvdc(co00)

当初咱们有了模仿的察看后果,咱们将应用参数办法计算危险价值 (VaR) 和预期损失 (ES)。咱们将假如一个投资组合(任意抉择)在 IVV 中投资 30%,在 TLT 中投资 15%,在 UUP 中投资 35%,在 DBC 中投资 20%。为了计算投资组合 w 的收益率 Rp,咱们简略地应用矩阵代数将咱们的模仿收益率 Rs 乘以权重,如 Rp = Rs × w。而后咱们将 t 散布拟合到 Rp 并应用它来预计 VaR 和 ES。对于 t 散布,VaR 和 ES 的公式为:

其中:

• S:仓位大小

• F -1 ν:逆 CDF 函数

• fν:密度函数 • µ:平均值

• λ:形态 / 尺度参数

• ν:自由度

• α:置信水平

R 中公式的利用实现如下。请留神,在代码中,VaR 和 ES 被四舍五入到最靠近的千位。后果在表 III 中。

# 计算模仿值的 VaR 和 ES


fitdistr(re, "t")
es <- -m+lada*es1*es2

咱们的最终工作是计算非参数 ES 和 VaR,由以下公式给出:

其中:

• S:仓位大小

• qˆ(α):样本收益率的分位数

• Ri:第 i 个样本收益率

R 实现如下:

# 计算实在值的 VaR 和 ES
ret <- (rf %*% w) / 100

ES <- -S * sum(ret * ir) / sum (iar)

后果示于表 III 中。

四、计算结果

表 I 显示了 ETF 边缘 t 散布的预计参数和 AIC 的后果:

表 I 边缘散布

两个 copula 拟合的 AIC 都在表 II 中。

表 II Copula AIC

VaR 和 ES 在表 III 中。

表三 VaR 和 ES

五、总结与论断

这项工作展现了如何预计边缘和 copula,以及如何利用 copula 来创立一个模型,该模型将思考变量之间的互相依赖性。它还展现了如何计算危险价值 (VaR) 和冀望损失 (ES)。


本文摘选 R 语言 Copula 预计边缘散布模仿收益率计算投资组合危险价值 VaR 与冀望损失 ES ,点击“浏览原文”获取全文残缺材料。


点击题目查阅往期内容

MATLAB 用 COPULA 模型进行蒙特卡洛 (MONTE CARLO) 模仿和拟合股票收益数据分析
python 中的 copula:Frank、Clayton 和 Gumbel copula 模型预计与可视化 R 语言中的 copula GARCH 模型拟合工夫序列并模仿剖析
matlab 应用 Copula 仿真优化市场危险数据 VaR 剖析
R 语言多元 Copula GARCH 模型工夫序列预测
R 语言 Copula 函数股市相关性建模:模仿 Random Walk(随机游走)
R 语言实现 Copula 算法建模依赖性案例剖析报告
R 语言 ARMA-GARCH-COPULA 模型和金融工夫序列案例
R 语言基于 copula 的贝叶斯分层混合模型的诊断准确性钻研
R 语言 COPULA 和金融工夫序列案例
matlab 应用 Copula 仿真优化市场危险数据 VaR 剖析
matlab 应用 Copula 仿真优化市场危险
R 语言多元 CopulaGARCH 模型工夫序列预测
R 语言 Copula 的贝叶斯非参数 MCMC 预计
R 语言 COPULAS 和金融工夫序列 R 语言乘法 GARCH 模型对高频交易数据进行波动性预测
R 语言 GARCH-DCC 模型和 DCC(MVT)建模预计
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 语言 ARMA-GARCH-COPULA 模型和金融工夫序列案例

正文完
 0