我肯定这是很明显的,但我在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.
发布于 2020-08-07 20:27:34
它应该是:
rollapply(nas, width = 25, FUN = function(x) VaR(R = x, p = 0.99, method="historical"))基本上,您可以应用一个函数,该函数接受值x (对25个时间单位是过滤的nas ),并根据x生成输出。在您最初的尝试中,函数是function(x) VaR(R = nas, p = 0.99, method="historical"),因此它接受值x,但仍然计算整个nas的VaR,它会执行超过7000次,因此它将永远使用。
https://stackoverflow.com/questions/63307767
复制相似问题