## Generate some data
n <- 1000
set.seed(271)
S <- cumsum(sample(c(-1,1), size = n, replace = TRUE))
S <- if(any(S <= 0)) S <- 1 - min(S) + S
## Log-returns
X <- log_returns(S) # build log-returns
Y <- log_returns(X, inverse = TRUE, start.value = S[1]) # transform back (first date is lost)
stopifnot(all.equal(S, Y))
## -Log-returns
X <- -log_returns(S) # build -log-returns
Y <- log_returns(-X, inverse = TRUE, start.value = S[1]) # transform back
stopifnot(all.equal(S, Y))
Run the code above in your browser using DataLab