R语言和Python对copula模型Gaussian、t、Clayton 和 Gumbel 族可视化理论概念和文献计量使用情况

发布时间 2023-11-27 23:24:00作者: 拓端tecdat

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

原文出处:拓端数据部落公众号

最近我们被客户要求撰写关于copula的研究报告,包括一些图形和统计输出。

本文包含一些直观的示例来说明 copula 理论的核心概念。以下是脚本及其各自用途的简短列表:

  • 首先演示如何使用高斯 copula 来模拟具有任意边际分布的两个相关随机变量。它使用基本的 R 代码实现了这一点,因此无需使用 copula 包来揭开这个概念的神秘面纱。 
 
 


library(MASS) # 用于从多元法线绘制

set.seed(206) # 确保可重复性
d <- 2 # 随机变量的数量
n <- 10000 # 样本数

v <- pnorm(pq) # 概率积分变换
################################################# #####
x <- qt(v[, 1], df = 7) # 用学生 t 的分位数函数变换 (smirnov) 第一个 rv,其中 nu = 7
y <- qt(v[, 2], df = 15) # 用 nu = 15 的学生 t 的分位数函数变换 (smirnov) 第二个 rv

pair.panels(xy, rug = FALSE, cex.cor = 0.7, hist.col = "dodgerblue4") # 绘图

  • Python 脚本,可在双变量设置中生成三个基本 copula(反单调性、独立性和同调性)的 3D 可视化。反单调性 copula 构成了 Fréchet-Hoeffding 下界,而同调性 copula 构成了 Fréchet-Hoeffding 上界。
 
 

### 定义 3 个基本的 Copula 函数 ###
Z = np.maximum(X + Y - 1, 0)


Z = X * Y

定义上限(X,Y):
Z = np.minimum(X, Y)


### 创建数据点###

X, Y = np.meshgrid(x, y) # 创建“基础网格”

Z = upperBound(X, Y) # z 轴上的点

### 绘图###

plot_surface(X, Y, Z1

  • 加强您对 copula 类和族的理解。通过使用散点图,我们强调了 Gaussian、t、Clayton 和 Gumbel copula 之间的差异。 
 
 
# 清理


set.seed(206) # 确保可重复性

# 创建 copula 对象
 normalCopula(param = 0.7, dim = 2)


# 模拟
n <- rCopula(10000, normCop)


# 绘图
par(mfrow = c(2, 2))
plot(R[, 1], R[, 2], pch='.', col='dodgerblue4', xlab = "", ylab = "",)

  • 绘制了“copula”的文献计量分析使用情况。


最受欢迎的见解

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模型的不同类型的脉冲响应分析