R:键返回分散(0.005,0.01,0.05,0.1,0.5,0.9,0.95,0.99,0.995)

时间:2016-05-09 21:16:01

标签: r quantile percentile

我有一个债券返回面板数据,并希望得出回报的分散。

这就是我的数据集的样子

           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个箱子中。

请帮助。

1 个答案:

答案 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