![](/img/trans.png)
[英]How to modify drawdown functions in PerformanceAnalytics package for value
[英]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.