I often run quick tests of trading strategies in my analytics suites by:

  1. multiplying a vector of signal (lagged, {-1,0,1}) with a time series of daily percentage returns
  2. doing a cumulative product of the resulting time series after adding 1 to each return

This is fairly standard but to be clear:

$$ \text{NAV}_i = \prod_{ j = 1 }^i (1 + r_j) $$

When I have many assets, I do the first step on each return series, then element-wise sum, and then the second step.

Having run such strategies with real money, I know that the implicit assumption that the portfolio will be rebalanced to constant exposure relative to each day's NAV is unrealistic.

What I would like to know is:

  • Does anyone have any other issues with this approach for running backtests? Particularly for multi-underlying strategies?
  • To "make" the strategy trade on a monthly basis, would it be sufficient to sum daily returns intra-month (so that there is one summed-up return for each month) and then do the cumulative product in step 2 on the series of these summed returns?

1 Answer 1


If you do step 1 and step 2 every day, then you indeed assume that you rebalance the strategy every day.

If you want to assume differently, for example monthly, you need to first compound the returns for each asset separately during the whole month and then do a weighted sum of the compounded returns using the weights of each asset at the beginning of the period to get the overall period return, without the rebalancing assumption.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.