Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to develop a quick algorithm for computing compounded change over an arbitrary period $T$. I'll illustrate with an example. Suppose I have $N$ data points as follows:
$$(x_0, t_0, z_0), (x_1, t_1, z_1), (x_2, t_2, z_2) ... (x_N, t_N, z_N) $$ where $x$ is a randomly varying value (population of something say)
$t$ is time and $z$ is a change multiplier and can only be -1, 0 or 1

The change over the period $t_0$ to $t_1$ $= 1+\frac{x_1 - x_0}{x_0}$ The at the end of this period our original $x_0$ has grown to $x_0 \left( 1+\frac{x_1 - x_0}{x_0} \right) z_0$ over period $t_1$ to $t_2$ the value is $x_0 \left( 1+z_0\frac{x_1 - x_0}{x_0} \right) \left( 1+z_1\frac{x_2 - x_1}{x_1} \right)$ etc...

What I would like to do is calculate the growth at the end of an arbitrary period $T$.

My question is:
Is there a mathematical method I can use to calculate the growth over the period $1 < t < T+1$ using the results of the calculation over the previous period $0 < t < T$.
What I want to avoid is having to iterate over $1 < t < T$ since this period was iterated over when calculating $0 < t < T$.

Assumptions $T < N$ by orders of magnitude.
Thanks in advance

share|cite|improve this question
The way you write it, as soon as one of the $z$'s is zero, the value is $0$ forever as they are all multiplying the expression. – Ross Millikan Apr 13 '11 at 13:40
sorry, I made a mistake in my formala i've corrected it to x0(1+((x1 - x0)/x0)z0)((1+((x2 - x1)/x1)z1)). – user25675 Apr 13 '11 at 14:14

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.