n <- c(1,1,-3,-1,2)
p <- 100 + 1:length(n)
timestamp <- 1:length(n)
scale_trades(n, p, timestamp)
scale_trades(n, p, timestamp, TRUE) ## each _trade_ gets scaled
split_trades(n, p, timestamp)
split_trades(n, p, timestamp, TRUE) ## almost like the original series
## effect of 'drop.zero'
P <- c(100, 99, 104, 103, 102, 105, 104) ## price series
S <- c( 0, 1, 1, 0, 0, 1, 0) ## position to be held
dS <- c(0, diff(S)) ## change in position ==> trades
t <- seq_along(P)
#### ==> 1) with all zero amounts
split_trades(amount = dS, price = P, timestamp = t)
#### ==> 2) without zero-amount trades
split_trades(amount = dS, price = P, timestamp = t, drop.zero = TRUE)
#### ==> 3) without all zero-amounts
zero <- dS == 0
split_trades(amount = dS[!zero], price = P[!zero], timestamp = t[!zero])
Run the code above in your browser using DataLab