簡體   English   中英

使用PerformanceAnalytics套件計算風險價值

[英]Calculating Value at Risk with performanceanalytics package

我試圖計算auf股票收益清單的風險價值。 有1000個觀測值,但我想計算如下:

VaR for observation:

1 to 500
2 to 501
3 to 502
4 to 503 
and 500 to 999

如您所見,結果將是500次計算。

為了解決該問題,我嘗試將if條件與for循環一起使用。

像這樣:

if(x < 501 & y < 1000){for(i in KO.Returns){VaR(KO.Returns[x: y], p = 0.95, method = "historical")}}

如果使用上述代碼,則會得到以下錯誤代碼:

VaR計算得出第1列的結果不可靠(逆風險):

我認為問題出在您的數據中。 當您指定窗口時,歷史VaR的計算將對數據進行排序,並選擇第95個百分點。 有時,您的數據在該百分比中不會具有負值,因此歷史VaR毫無意義(您的損失不能為正值,損失始終為負)。 因此,錯誤。

我一直在嘗試使用以下代碼重現類似的錯誤:

library(PerformanceAnalytics)

data("edhec")
data = edhec[, 5]

valat = rollapply(data = data, width = 20,
                  FUN = function(x) VaR(x, p = 0.95, method = "historical"),
                  by.column = TRUE)
valat 

但是,當我將置信度級別更改為p = 0.99 ,我停止得到該錯誤。 因此,也許您可​​以嘗試更改您的置信度並查看。

也看到這個這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM