4660 32

[R] 【模型代码】GARCH-Copula-CoVaR(内附代码获取方式) [推广有奖]

已卖:281份资源

博士生

25%

还不是VIP/贵宾

-

威望
0
论坛币
2038 个
通用积分
41.2181
学术水平
3 点
热心指数
7 点
信用等级
3 点
经验
2932 点
帖子
205
精华
0
在线时间
269 小时
注册时间
2020-6-24
最后登录
2025-6-22

楼主
计量模型研究院 发表于 2024-7-18 19:53:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
【获取方式】留下邮箱

【模型实现步骤】

    • 数据准备


      • 读取并处理收益率数据。
      • 使用GARCH模型拟合每个收益率序列,提取标准化残差。
    • Copula拟合


      • 使用标准化残差计算Copula参数。
      • 选择合适的Copula模型(如高斯Copula或Clayton Copula)。
    • CoVaR计算


      • 模拟数据生成条件VaR。
      • 计算条件CoVaR和DCoVaR。
    • 时变Copula实现


      • 使用动态Copula模型捕捉时间变化的依赖结构。
      • 逐步估计时变Copula参数,并计算动态CoVaR。

【模型代码】
以下是实现上述模型的R代码:
  1. specs <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
  2.                     mean.model = list(armaOrder = c(0, 0), include.mean = TRUE),
  3.                     distribution.model = "norm")
  4. fits <- lapply(1:ncol(returns), function(i) ugarchfit(spec = specs, data = returns[, i]))
  5. residuals <- sapply(fits, function(x) residuals(x))
  6. residuals_std <- scale(residuals)  # Z-score标准化

  7. u <- pobs(as.matrix(residuals))
  8. cop1 <- normalCopula(dim = ncol(returns))  # 创建高斯Copula模型
  9. fitCop <- fitCopula(cop1, u, method = "ml")
  10. AIC(fitCop)

  11. # 模拟数据
  12. n_sim <- 1000  # 模拟的样本数
  13. set.seed(123)  # 为了结果的可复现性
  14. simulated_data <- rCopula(n_sim, fitCop@copula)

  15. # 转换回原始尺度(利用GARCH模型的逆变换)
  16. sim_returns_1 <- qnorm(simulated_data[, 1], mean = fitted(fits[[1]]), sd = sigma(fits[[1]]))
  17. sim_returns_2 <- qnorm(simulated_data[, 2], mean = fitted(fits[[2]]), sd = sigma(fits[[2]]))

  18. # 计算VaR
  19. VaR_1 <- quantile(sim_returns_1, probs = 0.95)
  20. VaR_1n <- quantile(sim_returns_1, probs = 0.5)

  21. # 计算给定1达到其VaR2的CoVaR
  22. CoVaR_given_1 <-  -quantile(sim_returns_2[sim_returns_1 <= VaR_1], probs = 0.95)
  23. CoVaR_given_1n <- -quantile(sim_returns_2[sim_returns_1 <= VaR_1n], probs = 0.95)
  24. DCoVaR_given_1 <- CoVaR_given_1-CoVaR_given_1n
  25. pCoVaR_given_1 <- CoVaR_given_1/CoVaR_given_1n

  26. # 输出结果
  27. print(CoVaR_given_1)
  28. print(DCoVaR_given_1)
  29. print(pCoVaR_given_1)
复制代码

【模型结果】以下是covar的计算结果:

111.webp.jpg



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Copula opula GARCH CoVar 获取方式

已有 1 人评分论坛币 收起 理由
happy_287422301 + 20 补偿

总评分: 论坛币 + 20   查看全部评分

沙发
jngod 发表于 2024-7-19 11:27:18
34154379@qq.com,谢谢

藤椅
计量模型研究院 发表于 2024-7-19 19:25:18
jngod 发表于 2024-7-19 11:27
34154379@qq.com,谢谢
已回复

板凳
as527788089 发表于 2024-8-11 20:24:10
527788089@qq.com谢谢

报纸
计量模型研究院 发表于 2024-8-14 19:50:49
as527788089 发表于 2024-8-11 20:24
527788089@qq.com谢谢
已发送

地板
bosswen 发表于 2024-9-5 21:12:07
礼貌求wenzhuoli0114@163.com,谢谢

7
fdsdw 发表于 2024-9-8 13:57:52
礼貌求 931634728@qq.com 谢谢

8
fdsdw 发表于 2024-9-8 13:57:55
礼貌求 931634728@qq.com 谢谢

9
1998ben 发表于 2024-9-15 19:31:45
礼貌求 3510312708@qq.com 非常感谢!!!

10
fishtutu 发表于 2024-9-15 21:50:51
83404314@qq.com ,求代码,谢谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-8 13:43