Problem of negative local volatility:

Consider the displaced log-normal process: $$dS(t) = \lambda(t)(a(t)+b(t)S(t))dW(t), S(0) = S_0>0,$$ where $W(t)$ is a one-dimensional Brownian motion.

We suppose that $(\forall t \ge 0) : \lambda(t)\ge0$ and that there is no restrictions on $t\to a(t)$ and $t\to b(t)$.

This is a local volatility model used to describe the dynamic of the price of an underlying $S$.

I implement an Euler scheme to approximate $S(T)$ at a given horizon $T$.

I realize something wrong with my implementation: In fact, if there exists $t'$ such that $a(t')+b(t')S(t')<0$, the values of $\{S(t'')\}_{t'\le t''\le T}$ are negative and very large and the calculations using $S(T)$ are false. But it works fine if we have $(\forall t\ge 0): a(t')+b(t')S(t')\ge0$.

For me, If I define $\sigma(t,S(t)) = \lambda(t)(a(t)+b(t)S(t))$ so that we can write $dS(t) = \sigma(t,S(t))dW(t)$, the sign of $\sigma(t, S(t))$ doesn't matter because $W(t)$ and $-W(t)$ have the same probability law.

Have you an idea about the source of the problem? And how can we correct it?

Thank you in advance for any help you can provide!

• A local volatility model would actually be $dS(t)/S(t) = \sigma(t,S(t)) dW(t)$ not $dS(t) = \sigma(t,S(t)) dW(t)$. Nothing guarantees prices from going negative in the latter "arithmetic" version. – Quantuple Nov 29 '17 at 9:16
• Thank you @Quantuple! I agree with what you have said in your comment! What about the Euler scheme divergence problem? Is there a justification? – Zoro-X Nov 29 '17 at 20:38
• @Quantuple: Yes. Let me write the correspondent Euler scheme: $$S(t_{i+1})-S(t_i)=\lambda(t_i)\big(a(t_i)+b(t_i)S(t_i)\big)\big(W(t_{i+1})-W(t_i)\big)$$ – Zoro-X Nov 30 '17 at 19:30
• Well as you've described it the dynamics is not locally lognormal so nothing prevents prices from going negative as previously said. It's not a discretisation method problem, it's a model specification problem. – Quantuple Dec 1 '17 at 18:11