POKEMONKENG 2023-04-24 15:32 采纳率: 21.4%
浏览 54
已结题

求运用egarch-M求cvar的r软件代码

请问各位朋友运用egarch-M求cvar的r软件代码怎么写,目前没有看到相关内容,谢谢。
并且需要有样本内检测失败率和样本外预测的代码,谢谢

  • 写回答

4条回答 默认 最新

  • 语言-逆行者 2023-04-24 15:49
    关注

    基于new bing的编写:
    EGARCH-M模型的CVaR是相对复杂的,需要进行数值积分计算。以下是在R语言中使用rugarch包来估计EGARCH-M模型并计算CVaR的代码示例:

    library(rugarch)
    
    # 加载数据
    data <- read.csv("data.csv")
    
    # 按时间升序排序
    data <- data[order(data$Date),]
    
    # 提取收盘价
    prices <- data$Close
    
    # 计算日收益率
    returns <- diff(log(prices))
    
    # EGARCH-M模型拟合
    spec <- ugarchspec(variance.model = list(model = "eGARCH", garchOrder = c(1,1)), 
                       mean.model = list(armaOrder = c(0,0), include.mean = TRUE),
                       distribution.model = "norm")
    fit <- ugarchfit(spec, data = returns)
    
    # 样本内CVaR计算
    VaR <- quantile(fit@forecast$seriesFor, 0.01, na.rm = TRUE)
    CVaR <- mean(fit@forecast$seriesFor[fit@forecast$seriesFor < VaR])
    CVaR
    
    # 样本内检测失败率
    inSampleFailures <- sum(is.na(fit@fit$z))
    inSampleFailureRate <- inSampleFailures / length(fit@fit$z)
    inSampleFailureRate
    
    # 样本外预测
    forecasts <- ugarchforecast(fit, n.ahead = 5)
    forecasts@forecast$VaR
    forecasts@forecast$ES
    
    
    

    要计算CVaR,我们首先用quantile()函数计算出样本内1%的VaR。然后,我们从模型拟合后的产生的序列中选取所有低于VaR值的数据,并计算它们的平均值作为CVaR。样本内检测失败率是在拟合过程中发生错误的次数与总数据点数之比。最后,我们使用ugarchforecast()函数来进行样本外预测,并检查返回的结果中的VaR和ES。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月26日
  • 创建了问题 4月24日

悬赏问题

  • ¥15 关于#matlab#的问题:有没有什么其他办法能够保证不退出进程(相关搜索:matlab调用)
  • ¥15 依据报错在原代吗格式的基础上解决问题
  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧