以下の例では、株式 (IBM) の毎日の価値の下落が 10% を超える場合に、買いシグナル (1) を作成します。
その後、さらに 4 日間保留信号を作成します。保留日数が増えると、コードはより手に負えなくなります。apply 関数または同様の効率のもの (つまり、for ループではない) を使用して、holdsig コードを書き直す方法はありますか?
library(quantmod)
getSymbols("IBM")
buysig <- Lag(ifelse(dailyReturn(IBM) < -.10,1,0))
holdsig <- ifelse( Lag(sig) == 1 | Lag(sig, k=2) == 1 | Lag(sig, k=3) == 1 | Lag(sig, k=4) == 1, 1, 0)
apply で良くなったと感じるたびに、私は 2 歩後退します。