You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言调用cvgtest()函数始终报错找不到'model'对象如何解决

报错根因

cvgtest()是rugarch包提供的VaR覆盖率检验函数,触发该报错的核心原因是你手动拼接的传入list不符合函数的参数结构要求:函数内部逻辑会强制从传入的obj对象中索引model属性,你自行构造的list里没有这个字段,哪怕你认为自己不需要传入和model相关的内容,函数内部代码找不到对应字段就会直接抛出"找不到对象'model'"的错误。

修复方案

方案1:补全传入list的必填字段

你不需要真的传入一个拟合完成的模型对象,只要在之前构造的list里补上函数要求的model字段声明即可正常调用,示例代码:

# 补全必填的model字段后再调用
cvgtest(obj = list(
  loss = returns_stoxx[2226:3225],
  VaR = VaRStoxx95t$VaRStoXX95,
  p = 0.05, 
  model = list(model = "custom")
))

注意:这里的p参数要传超出VaR的尾部概率,95%置信水平对应p=0.05,不是你之前写的0.95,传错值会得到完全无效的检验结果。

方案2:换用适配裸VaR序列的检验函数

如果你只有单独计算好的VaR结果和收益率序列,没有对应的模型对象,直接用同包的VaRTest()函数更方便,不需要构造model字段,运行后会直接输出你需要的三类检验结果:

  • 无条件覆盖检验
  • 独立性检验
  • 条件覆盖检验
    调用示例:
# alpha为尾部概率,95%置信水平传0.05
VaRTest(
  alpha = 0.05,
  actual = returns_stoxx[2226:3225],
  VaR = VaRStoxx95t$VaRStoXX95
)

内容的提问来源于stack exchange,提问作者kiks6897

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:21:22