1

我正在尝试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.684如上。我知道这个包是在考虑退货的情况下编写的,但我不确定我的计算是否在概念上犯了错误,或者错误是由于我使用日志退货造成的。

在这种情况下,使用正常收益而不是日志收益会更好吗?

4

1 回答 1

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 
于 2016-06-06T10:58:33.180 回答