【视频】Copula算法原理和R语言股市收益率相依性可视化分析(下)

简介: 【视频】Copula算法原理和R语言股市收益率相依性可视化分析

【视频】Copula算法原理和R语言股市收益率相依性可视化分析(上):https://developer.aliyun.com/article/1489858


点击标题查阅往期内容


R语言多元Copula GARCH 模型时间序列预测


01

02

03

04

我们可以绘制矢量的3D图表示u

现在,作为最后一步,我们只需要选择边缘并应用它。我选择了边缘为Gamma,Beta和Student,并使用下面指定的参数。

x1 < -  qgamma(u \[,1\],shape = 2,scale = 1)
x2 < -  qbeta(u \[,2\],2,2)
x3 < -  qt(u \[,3\],df = 5)

下面是我们模拟数据的3D图。


df < -  cbind(x1,x2,x3)
pairs.panels(DF)
 
          x1 x2 x3
x1 1.0000000 0.3812244 0.1937548
x2 0.3812244 1.0000000 -0.7890814
x3 0.1937548 -0.7890814 1.0000000

这是随机变量的散点图矩阵:

使用copula


让我们使用copula复制上面的过程。

现在我们已经通过copula(普通copula)指定了相依结构并设置了边缘,mvdc()函数生成了所需的分布。然后我们可以使用rmvdc()函数生成随机样本。

colnames(Z2)< -  c(“x1”,“x2”,“x3”)
pairs.panels(Z2)

模拟数据当然非常接近之前的数据,显示在下面的散点图矩阵中:

简单的应用示例


现在为现实世界的例子。我们将拟合两个股票 ,并尝试使用copula模拟 。

让我们在R中加载 :

cree < -  read.csv('cree_r.csv',header = F)$ V2
yahoo < -  read.csv('yahoo_r.csv',header = F)$ V2

在直接进入copula拟合过程之前,让我们检查两个股票收益之间的相关性并绘制回归线:

我们可以看到 正相关 :

在上面的第一个例子中,我选择了一个正态的copula模型,但是,当将这些模型应用于实际数据时,应该仔细考虑哪些更适合数据。例如,许多copula更适合建模非对称相关,其他强调尾部相关性等等。我对股票收益率的猜测是,t-copula应该没问题,但是猜测肯定是不够的。本质上, 允许我们通过函数使用BIC和AIC执行copula选择 :

pobs(as.matrix(cbind(cree,yahoo)))\[,1\]
  selectedCopula
 
$ PAR
\[1\] 0.4356302
$ PAR2
\[1\] 3.844534

拟合算法确实选择了t-copula并为我们估计了参数。

让我们尝试拟合建议的模型,并检查参数拟合。

t.cop  
set.seed(500)
m < -  pobs(as.matrix(cbind(cree,yahoo)))
 
COEF(FIT)
  rho.1 df 
0.43563 3.84453

我们来看看我们刚估计的copula的密度

rho < -  coef(fit)\[1\]
df < -  coef(fit)\[2\]

现在我们只需要建立Copula并从中抽取3965个随机样本。

rCopula(3965,tCopula(  = 2, ,df = df))
 
          \[,1\] \[,2\]
\[1,\] 1.0000000 0.3972454
\[2,\] 0.3972454 1.0000000

这是包含的样本的图:

t-copula通常适用于在极值(分布的尾部)中存在高度相关性的现象。

现在我们面临困难:对边缘进行建模。为简单起见,我们将假设正态分布 。因此,我们估计边缘的参数。

直方图显示如下:

现在我们在函数中应用copula,从生成的多变量分布中获取模拟观测值。最后,我们将模拟结果与原始数据进行比较。

这是在假设正态分布边缘和相依结构的t-copula的情况下数据的最终散点图:

正如您所看到的,t-copula导致结果接近实际观察结果 。

让我们尝试df=1df=8:

显然,该参数df对于确定分布的形状非常重要。随着df增加,t-copula倾向于正态分布copula。

相关文章
|
3天前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
15 3
|
15天前
|
机器学习/深度学习 算法 机器人
多代理强化学习综述:原理、算法与挑战
多代理强化学习是强化学习的一个子领域,专注于研究在共享环境中共存的多个学习代理的行为。每个代理都受其个体奖励驱动,采取行动以推进自身利益;在某些环境中,这些利益可能与其他代理的利益相冲突,从而产生复杂的群体动态。
66 5
|
4天前
|
机器学习/深度学习 人工智能 算法
[大语言模型-算法优化] 微调技术-LoRA算法原理及优化应用详解
[大语言模型-算法优化] 微调技术-LoRA算法原理及优化应用详解
24 0
[大语言模型-算法优化] 微调技术-LoRA算法原理及优化应用详解
|
18天前
|
搜索推荐 Shell
解析排序算法:十大排序方法的工作原理与性能比较
解析排序算法:十大排序方法的工作原理与性能比较
37 9
|
17天前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
3天前
|
算法
PID算法原理分析
【10月更文挑战第12天】PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。
11 0
|
4天前
|
机器学习/深度学习 算法 数据建模
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
10 0
|
4天前
|
算法 JavaScript 前端开发
垃圾回收算法的原理
【10月更文挑战第13天】垃圾回收算法的原理
10 0
|
9天前
|
算法
PID算法原理分析及优化
【10月更文挑战第6天】PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。
20 0
|
1月前
|
机器学习/深度学习 算法 Python
群智能算法:深入解读人工水母算法:原理、实现与应用
近年来,受自然界生物行为启发的优化算法备受关注。人工水母算法(AJSA)模拟水母在海洋中寻找食物的行为,是一种新颖的优化技术。本文详细解读其原理及实现步骤,并提供代码示例,帮助读者理解这一算法。在多模态、非线性优化问题中,AJSA表现出色,具有广泛应用前景。