我正在尝试使用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}}如上所述。我知道这个软件包是用回报写的,但是我不确定我的计算是否在概念上犯了错误,或者错误是由于我使用了日志返回。
在这种情况下,在日志返回时使用正常返回会更好吗?
答案 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