我有一个债券返回面板数据,并希望得出回报的分散。
这就是我的数据集的样子
ID date return
A 5/15 0.2
A 6/15 0.1
... ... ...
B 5/15 0.5
B 6/15 0.7
... ... ...
C 5/15 0.3
C 6/15 0.7
... ... ...
我想要的结果就是这个
Percentiles
.005 .01 .05 .10 .50 .90 .95 .99 .995
return -0.3% -0.1% 0% 0.2% 0.4% 0.7% 0.9% 1.3% 1.4%
基本上,我想得到回归分散。我将首先计算每个月的百分位数并平均每个百分位数组,然后在上面制作表格。
我尝试过做
DT <- DT %>%
group_by(date) %>%
mutate(percentile = quantile(return,c(.005,.01,.05,.10,.50,.90,.95,.99,.995)))
但是回报并没有根据百分位数进行排名,而是显示了一些我不理解的顺序数字。
我想根据我设定的百分比将每个月的回报放入这10个箱子中。
请帮助。
答案 0 :(得分:0)
试试这个:
dat <-quantile(c(.005,.01,.05,.10,.50,.90,.95,.99,.995))
dat
0% 25% 50% 75% 100%
0.005 0.050 0.500 0.950 0.995
您可以通过probs命令调整输出,例如
dat.1 <-quantile(c(.005,.01,.05,.10,.50,.90,.95,.99,.995),probs=seq(0,1,0.1))
dat.1
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
0.005 0.009 0.034 0.070 0.180 0.500 0.820 0.930 0.966 0.991 0.995