【问题标题】:R : bond return dispersion (0.005,0.01,0.05,0.1,0.5,0.9,0.95,0.99,0.995)R : 债券回报分散 (0.005,0.01,0.05,0.1,0.5,0.9,0.95,0.99,0.995)
【发布时间】:2016-09-04 16:04:04
【问题描述】:

我有一个债券回报面板数据,并想提出回报的离散度。

这就是我的数据集的样子

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

请帮忙。

【问题讨论】:

    标签: r quantile percentile


    【解决方案1】:

    试试这个:

     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 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多