3四半期にわたって7%以上の収益率があった場合の向こう3四半期収益率過去実績

データ

quarterlyReturn(GSPC) -> w
for(i in seq(3,296,1)){if(w[i-2]>0.07 && w[i-1]>0.07 && w[i]>0.07 && w[i+1] < 0.07 ){print(w[(i-2):(i+3)])} }
           quarterly.returns
1954-06-30        0.08426124
1954-09-30        0.10612811
1954-12-31        0.11358709
1955-03-31        0.01667599
1955-06-30        0.12165109
1955-09-30        0.06434314
           quarterly.returns
1958-06-30       0.074584422
1958-09-30       0.106542856
1958-12-31       0.102876506
1959-03-31       0.004165912
1959-06-30       0.054653717
1959-09-30      -0.027193432
           quarterly.returns
1970-09-30       0.159240949
1970-12-31       0.093119795
1971-03-31       0.088551230
1971-06-30      -0.016050255
1971-09-30      -0.003647427
1971-12-31       0.038133009
           quarterly.returns
1974-12-31         0.0790053
1975-03-31         0.2158694
1975-06-30         0.1419146
1975-09-30        -0.1189200
1975-12-31         0.0753547
1976-03-31         0.1394833
           quarterly.returns
1980-06-30       0.119012660
1980-09-30       0.098214296
1980-12-31       0.082097849
1981-03-31       0.001767862
1981-06-30      -0.035220537
1981-09-30      -0.114549243
           quarterly.returns
1982-12-31       0.167912318
1983-03-31       0.087599602
1983-06-30       0.095972747
1983-09-30      -0.009365259
1983-12-30      -0.006864659
1984-03-30      -0.034863277
           quarterly.returns
1995-03-31        0.09023015
1995-06-30        0.08795512
1995-09-29        0.07280399
1995-12-29        0.05393477
1996-03-29        0.04800871
1996-06-28        0.03893107
           quarterly.returns
2020-06-30       0.199528720
2020-09-30       0.084737221
2020-12-31       0.116880782
2021-03-31       0.057725181
2021-06-30       0.081706293
2021-09-30       0.002336251

データその2

行列形式で出力する。

c() -> a;for(i in seq(3,293,1)){if(w[i-2]>0.07 && w[i-1]>0.07 && w[i]>0.07 && w[i+1] < 0.07 ){append(a,w[(i-2):(i+3)])->> a } }
as.vector(a) %>% matrix(.,nrow=6) %>% t()


           [,1]       [,2]       [,3]         [,4]         [,5]         [,6]
[1,] 0.08426124 0.10612811 0.11358709  0.016675987  0.121651087  0.064343141
[2,] 0.07458442 0.10654286 0.10287651  0.004165912  0.054653717 -0.027193432
[3,] 0.15924095 0.09311980 0.08855123 -0.016050255 -0.003647427  0.038133009
[4,] 0.07900530 0.21586936 0.14191460 -0.118920042  0.075354701  0.139483254
[5,] 0.11901266 0.09821430 0.08209785  0.001767862 -0.035220537 -0.114549243
[6,] 0.16791232 0.08759960 0.09597275 -0.009365259 -0.006864659 -0.034863277
[7,] 0.09023015 0.08795512 0.07280399  0.053934774  0.048008714  0.038931069
[8,] 0.19952872 0.08473722 0.11688078  0.057725181  0.081706293  0.002336251

各四半期ごとの平均を計算する。四番目の四半期(今回の場合は2023Q3)は成績が悪い。

as.vector(a) %>% matrix(.,nrow=6) %>% t() -> m
m

           [,1]       [,2]       [,3]         [,4]         [,5]         [,6]
[1,] 0.08426124 0.10612811 0.11358709  0.016675987  0.121651087  0.064343141
[2,] 0.07458442 0.10654286 0.10287651  0.004165912  0.054653717 -0.027193432
[3,] 0.15924095 0.09311980 0.08855123 -0.016050255 -0.003647427  0.038133009
[4,] 0.07900530 0.21586936 0.14191460 -0.118920042  0.075354701  0.139483254
[5,] 0.11901266 0.09821430 0.08209785  0.001767862 -0.035220537 -0.114549243
[6,] 0.16791232 0.08759960 0.09597275 -0.009365259 -0.006864659 -0.034863277
[7,] 0.09023015 0.08795512 0.07280399  0.053934774  0.048008714  0.038931069
[8,] 0.19952872 0.08473722 0.11688078  0.057725181  0.081706293  0.002336251


apply(m,2,mean)

[1]  0.12172197  0.11002080  0.10183560 -0.00125823  0.04195524  0.01332760

この記事が気に入ったらサポートをしてみませんか?