R でボリンジャー バンド戦略をバックテストするのに問題があります。ロジックは、終値がアッパー バンドよりも大きい場合はショート ポジションを取り、平均を超えたときにポジションをクローズするというものです。また、終値が下限バンドよりも低い場合はロング ポジションを取り、平均値を超えたときにポジションをクローズします。これまでのところ、これは私が持っているものです:
bbands <- BBands(stock$Close, n=20,sd=2)
sig1 <- Lag(ifelse((stock$Close >bbands$up),-1,0))
sig2 <- Lag(ifelse((stock$Close <bbands$dn),1,0))
sig3 <- Lag(ifelse((stock$Close > bbands$mavg),1,-1))
sig <- sig1 + sig2
...ここで行き詰まっていsig3
ます。目的の結果を得るにはどうすればよいですか?