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
この記事が気に入ったらサポートをしてみませんか?