# Iterative Compounded Growth Calculation

Hello
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.
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