2020年3月10日火曜日

1日に5%以上下落した翌営業日の収益を計算する Next Day Daily return after more than 5% drop



length(index(SP5))
# w <- last(SP5[,4][2:17659]/as.vector(SP5[,4][1:17658]),100)
w <- SP5[,4][2:length(index(SP5))]/as.vector(SP5[,4][1:length(index(SP5)) -1])
head(w)
#               Close
# 1950-01-04 1.0114046
# 1950-01-05 1.0047478
# 1950-01-06 1.0029533
# 1950-01-09 1.0058893
# 1950-01-10 0.9970727
# 1950-01-11 1.0035231
i <- index(w[w <0.95])
head(i)
# [1] "1950-06-26" "1955-09-26" "1962-05-28" "1987-10-16" "1987-10-19" "1987-10-26"
v <- c()
for(d in seq(1,length(i),1)){v <- append(v,(length(w[paste(as.character(as.Date(index(w[1]))),as.character(as.Date(i[d])),sep='::')])))}
v
length(v)
# [1] 25
w[v[-25]+1]


               Close
1950-06-27 0.9889563
1955-09-27 1.0227646
1962-05-29 1.0464865
1987-10-19 0.7953307
1987-10-20 1.0533268
1987-10-27 1.0242456
1988-01-11 1.0168037
1989-10-16 1.0275738
1997-10-28 1.0511522
1998-09-01 1.0386303
2000-04-17 1.0330836
2008-09-30 1.0541747
2008-10-08 0.9886673
2008-10-10 0.9882407
2008-10-16 1.0425075
2008-10-23 1.0126340
2008-11-06 0.9497360
2008-11-07 1.0288546
2008-11-13 1.0692127
2008-11-20 0.9328771
2008-11-21 1.0632476
2008-12-02 1.0399407
2009-01-21 1.0434912
2011-08-09 1.0474068

0 件のコメント: