2017-04-06 63 views
0

我想使用rollapply爲了建立價值風險函數的滾動窗口。我使用以下代碼: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一個相同值的矢量。它似乎是我的窗戶卡住,不滾動:)

你能幫我嗎?提前謝謝了!

回答

0

Rollapply使用包含滾動窗口內的數據的矢量重複調用您向其提供的函數。在你的情況下,你提供FUN=function(x),所以x將包含窗口內的數據。然而,你定義的函數沒有引用x,所以它總是返回相同的東西。假設VaR的第一個參數是應該接收滾動數據的參數,您應該使用:var<-rollapply(phelix, width=1000, FUN=function(x) VaR(R=x, p=0.95, method="historical"),by=1, by.column=TRUE)

+0

非常感謝,Jay! s.o.看起來很容易解釋他們。我現在是「Stackoverflow」的成員。我問了兩個問題,很快就得到了一個直接的答案。你真棒!我希望有一天,我不但會問,而且還會給出答案:) –

+0

@ N.Martin樂於提供幫助。你能將答案標記爲已接受嗎? – Jay

+0

啊!我不知道這個選項。 –

相關問題