次のコードは、サンプル データを提供します。
library(TTR)
set.seed(15)
r <- rnorm(1000, 0, .01)
P_1 <- 100
P <- P_1*cumprod(1+r)
zz <- ZigZag(P, change = 5, percent = TRUE)
set.seed(15)
volume <- round(runif(1000, 50, 550), digits = 0)
data <- as.data.frame(cbind(P, zz, volume))
plot(P, type = "l")
lines(zz, col = "red")
最後に、ジグザグ線 (zz) が方向を変えるとリセットが発生する新しい列でボリュームの累積合計を作成したいと思います。これらの転換点を示すで遊んでみましたがs <- sign(diff(data$zz, lag = 1))
、 cumsum を使用できませんでした。