【问题标题】:Rolling window to calculate Value at Risk in R滚动窗口计算 R 中的风险价值
【发布时间】:2020-11-28 03:27:00
【问题描述】:

我确信这很明显,但我是 R 的初学者,我花了一个下午的大部分时间试图解决这个问题......

我正在尝试创建一个滚动窗口来计算一段时间内的风险价值 (VaR)。

我已经计算了整个 7298 次每日回报的时间序列的无条件 VaR。

现在,我要做的是做一个滚动窗口,计算 25 天窗口的 VaR,这将滚动我整个时间序列的每一个观察结果。

我试过了

apply.rolling(nas, trim = TRUE, gap = 25, by = 1, FUN = function(x) VaR(R = nas, p = 0.99, method="historical"))

rollapply(nas, width = 25, FUN = function(x) VaR(R = nas, p = 0.99, method="historical"))

nas 是我的时间序列。

我的代码仍然从一个小时前运行...我不知道我做错了什么...

非常感谢您提供的任何帮助。

H.

【问题讨论】:

  • 你能试试 data.table::frollapply 吗?它应该非常快。

标签: r statistics regression quantitative-finance rolling-computation


【解决方案1】:

应该是:

rollapply(nas, width = 25, FUN = function(x) VaR(R = x, p = 0.99, method="historical"))

基本上,您应用一个函数,该函数接收值 x(这是一个过滤的 nas 到 25 个时间单位),并根据 x 生成输出。在你最初的尝试中,函数是function(x) VaR(R = nas, p = 0.99, method="historical"),所以它的值是x,但仍然计算整个nas的VaR,它做了> 7000次,因此它需要永远。

【讨论】:

猜你喜欢
  • 2014-10-22
  • 2016-10-03
  • 2023-02-17
  • 2013-11-09
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
相关资源
最近更新 更多