R:VaR计算中的历史模拟VaR产生不可靠的结果(风险超过100%)

时间:2016-06-03 20:11:36

标签: r finance performanceanalytics risk-management

我正在尝试使用VaR的历史模拟方法计算S&P500。我使用了PerformanceAnalytics

VaR(P1[1:1000], p =0.95, method = "historical")

但是我收到如下错误消息:

  

VaR计算为列产生不可靠的结果(风险超过100%):1:-1.68435909175

我使用的数据是日志返回计算as =LN(Today's close/Yesterday's close)*100,当我使用VaR函数(percentile)计算PERCENTILE(B2:B1001,0.05)时,我得到{的值{1}}如上所述。我知道这个软件包是用回报写的,但是我不确定我的计算是否在概念上犯了错误,或者错误是由于我使用了日志返回。

在这种情况下,在日志返回时使用正常返回会更好吗?

1 个答案:

答案 0 :(得分:0)

显然VaR使用小数回报而非百分比。将百分比返回值传递给该函数时,请参阅相同的消息。或者使用quantile

> data(edhec)
> VaR(edhec[,1], p=.95, method="historical")
    Convertible Arbitrage
VaR              -0.01916
> quantile(edhec[,1],c(.05,.95))
      5%      95% 
-0.01916  0.02679 
> VaR(edhec[,1]*100, p=.95, method="historical")
VaR calculation produces unreliable result (risk over 100%) for column: 1 : 1.916
    Convertible Arbitrage
VaR                    -1
> quantile(edhec[,1]*100,c(.05,.95))
    5%    95% 
-1.916  2.679