【问题标题】:rollapply gives one and the same valuerollapply 给出一个相同的值
【发布时间】:2017-04-07 04:16:57
【问题描述】:

我想使用rollapply 来为风险价值函数构建一个滚动窗口。我使用以下代码:

var<-rollapply(phelix, width=1000, FUN=function(x) VaR(R=phelix, p=0.95, method="historical"),by=1, by.column=TRUE )

phelix 是带有返回的数据向量的名称。它是 3995 个观测值。我想使用一个包含 1000 个观察值的滚动窗口。从 1001 开始,对每个观察值执行 VaR 函数。

执行 rollapply 函数后,我得到一个具有 2996 个相同值的向量。看来我的窗户卡住了,不能滚动:)

你能帮我解决这个问题吗?非常感谢!

【问题讨论】:

    标签: r


    【解决方案1】:

    Rollapply 使用包含滚动窗口内数据的向量重复调用您提供给它的函数。在您的情况下,您提供FUN=function(x),因此 x 将包含窗口内的数据。但是,您定义的函数没有引用 x 所以它总是返回相同的东西。假设VaR 的第一个参数是应该接收滚动数据的参数,您应该使用:var&lt;-rollapply(phelix, width=1000, FUN=function(x) VaR(R=x, p=0.95, method="historical"),by=1, by.column=TRUE )

    【讨论】:

    • 非常感谢,杰伊!当 s.o. 时,事情看起来很容易。解释他们。我是“Stackoverflow”的成员有几天了。我问了 2 个问题,很快就得到了直接的答案。你们真是太棒了!我希望有一天我不仅会问,还会给出答案:)
    • 啊!我不知道这个选项。
    猜你喜欢
    • 2020-11-29
    • 2017-01-28
    • 1970-01-01
    • 2021-08-20
    • 2015-06-23
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 2018-05-21
    相关资源
    最近更新 更多