In the Cox approach for binomial trees, the up move $u$ and down move $d$ are given by: $u = e^{\sigma \sqrt{dt}}$ and $d = e^{-\sigma \sqrt{dt}}$. In this approach the volatility $\sigma$ is assumed constant. I am trying to build a tree with time dependent volatility.

Let volatility $\sigma(t)$ be time dependent. To have a recombined tree it requires that the variance $\sigma_i \sqrt{dt_i}$ is independent of $i$. This means that there are 2 degrees of freedom to choose because varying either $dt_i$ or $\sigma_i$ will result in a non-recombining tree. It is not clear to me how we can choose these?

As I understand it, $\sigma_i$ is the "forward" volatility on the time interval $[t_i, t_{i+1}]$. If I consider the volatility smile today and denote $\sigma(K,t)$ the implied volatility of an option with strike $K$ and expiry $t$, then we have the relationship: $$\sigma_{i}^2dt_i = \sigma(K,t_{i+1})^2t_{i+1} - \sigma(K,t_{i})^2t_{i}$$

The computation of these forward volatilities is then straightforward given that I know $t_i$ since I can compute the implied volatility $\sigma(K,t)$ for any $t$. However, given that $t_i$ are unknown I can't determine $\sigma(K,t_i)$ before first knowing $t_i$ ... I am dealing with an equation with too many unknowns.

  • $\begingroup$ In any professional context, you would be way better off just switching to a trinomial tree $\endgroup$
    – Brian B
    Sep 14, 2023 at 18:39

1 Answer 1


There's likely something far less crude than this but:

Fixing some initial time interval $[t_0, t_1]$ we have the volatility over that time interval as being given by:

Let the volatility over a time interval be denoted by: $$ vol(t_i, dt_{i}) = \sigma_i \sqrt{d t_i} = \sigma_i \sqrt{(t_i + d t_i) - t_i} = \sigma_i \sqrt{t_{i+1} - t_i} $$

To be recombinant we require that, for any $i$: $$ vol(t_i, dt_{i}) = vol(t_0, d t_0) $$

where we need $vol$ to satisfy:

$$ vol(t_i, dt_{i}) = \sqrt{\sigma(K, t_{i} + d t_i)^2 (t_i+dt_{i}) - \sigma(K, t_i)^2t_i}$$

Since $t_i$ will be fixed we can only vary $dt_i$.

The time interval volatility will be equal to $0$ when $dt = 0$ and by increase to $\infty$ as $t \to \infty$ (by assumption). Assuming smoothness of $\sigma(K, t)$ and some other assumptions, $vol(t_i, dt_i)$ should be increasing in $dt_i$.

Hence just slowly increase $dt_i$ from $0$ until you satisfy $vol(t_i, dt_{i}) = vol(t_0, d t_0)$, do this at each step.


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.