I've a series of ROIs: $R(n) = [r_1, r_2, ... r_n]$ generated from taking $n$ trades. Each ROI value is in percent $[0, 1]$. How do I generate cumulative return $C(n)$ from this data?

My understanding is that the cumulative return for $n^{th}$ trade will be $C(n) = -1 + \Pi_{i=1}^n (r_i + 1)$.

However, this leads to an exponential curve, where if I look at $C(n)$ for a large $n$ (~3500+), the C(N) value is drastically higher than overall return on investment.

I am computing overall ROI as total PNL after n trades divided by average investment of the N trades.

What am I doing wrong and how to rectify it?

  • $\begingroup$ Your formula assumes that the trades are sequential (one trade begins when the previous ends). But they are generally not, there can be trade overlap as well as idle periods. $\endgroup$ – noob2 Sep 21 '20 at 10:42
  • $\begingroup$ I am assuming each trade to be a discrete event, so for a particular strategy/asset combination, at a certain point in time, there will be only one active trade. I am not sure how this will help though. Also note that I am not interested in temporal return, but just the cumulative return over n trades. $\endgroup$ – joshi Sep 21 '20 at 12:41
  • 1
    $\begingroup$ It's easiest to consider return as PnL or percentage return generated daily (or weekly/monthly) from which you can calculate or generate an equity curve (cumulative return). It's impossible to say precisely what you're doing wrong without seeing your actual calculations. Calculating cumulative return from trade returns isn't practically possible/useful since position size and holding period will likely vary. $\endgroup$ – Chris Sep 21 '20 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.