# Cumulative Return between two dates

I have a table that carries data with cumulative return of some instrument. Data is described with start date, end date and cumulative return for date range (start-end):

``````Start Date|End Date  |Cumulative Return
06/23/2013|03/17/2015|0.358702433
07/07/2013|03/17/2015|0.38655325
``````

But now, I need to calculate cumulative returns for other date ranges, for instance a cumulative return between 06/23/2013 and 07/07/2013 . Is is possible to do it with some generic formula?

Thanks

• No, there is no way, unless you know the exact market value of the first instrument on 7/7/2013, or the first instrument is a zero coupon bond classified as held to maturity. – base64 Aug 20 '15 at 10:09
• If there is a return of x% from 06/23/2013 to 07/07/2013 and this would combined with the bottom return it would equal the first return is what I'd use to set up an equation to compute the desired result. – JB King Aug 20 '15 at 14:12

Cumulative returns are the total return percentages between two dates. In the case of having two date-ranges with a single common one it does go down to simple math.

Example

start money 100 doesn't have to be correct

start date 1/1/2010

end date 1/1/2015 ; 1/1/2020

cumulative return 1/1/2010 — 1/1/2015 = 1

cumulative return 1/1/2010 — 1/1/2020 = 2

It is then easy to count the other third range.

end money = start money + start money * cumulative return = 200 ; 300

cumulative return 1/1/2015 — 1/1/2020 = 200 / 300 = 0.667

This method only works for the cases where the ranges have a common end point.

07/07/2013 to 03/17/2015 is 618 days

``````p = 100;
s = p (1 + 0.38655325) = 138.655325
``````

Daily rate over the 618 day period

``````r = (1 + 0.38655325)^(1/618) - 1
``````

Check

``````p (1 + r)^618 = 138.655325
``````

06/23/2013 to 03/17/2015 is 632 days; starts 14 days earlier

``````p = 100;
s2 = p (1 + 0.358702433) = 135.8702433
``````

In the first 14 days

``````p2 = p (1 + y)^14
``````

The remaining 618 days

``````Solve[p2 (1 + r)^618 == s2, y]

y = -0.001448295953242864
``````

The daily rate for the first 14 days is negative, which is not surprising since the return for the longer 632 day period (`0.358702433`) is less than that for the shorter 618 day period (`0.38655325`).

Check

``````p (1 + y)^14*(1 + r)^618 = 135.8702433
``````

Note, `y = -1.9985517040096623` also satisfies the equation but is not a realistic answer here. 