I have a theoretical question about the value of an option when spot price goes to infinity as a function of volatility going to infinity.

I know that for a call option:

  • The option value equals the discounted payoff when there is zero volatility,

  • The option value at infinite volatility is equal to the spot. One can derive this fact by evaluating what happens when $\sigma \to \infty$ in the Black-Scholes PDE.

Now assume we add a dimension of, besides volatility, the spot price.

My question is, given "infinite" spot price, how will the option value approach the spot price by moving 'up' in the volatility dimension?

For example, a (EU) call with (A) strike $100$, spot $100000$, $\tau=1$ year, lets say $r=0$%, and volatility $200$% has value $V=99900.2846$, which is almost equal to payoff. when (B) vola $500$%, $V=99981.6396 \approx$ spot. And for (C) vola $1000$%, $99999.9985$, which is even closer to the exact spot. Now lets say in want to truncate my spot (and volatility) domain and need a boundary condition at the upper bound of this (truncated) spot domain. Is there a way to know how the option value on this bound (spot $\to \infty$, vola $\in (0,\to\infty)$) behaves?

  • $\begingroup$ Am I correct that this is an offshoot from this (quant.stackexchange.com/questions/40123/…) question of yours? I've hinted in my updated (15 Jun) answer for that question as to why your solution doesn't seem to converge to the spot S at your truncated $S_{max}, vol_{max}$ , but you didn't say if you tried my suggestion. All in all I think you're making this more complicated than it is. It's all about applying the boundary conditions correctly. I'd personally wouldn't use any PDE transformation either. $\endgroup$ – Yian Pap Jun 18 '18 at 17:32
  • 1
    $\begingroup$ And as I suggested in that other question, try using $\dfrac{\partial V}{\partial α}=0$ (Neumann) at the max vol boundary and not $V = S$ (Dirichlet). $\endgroup$ – Yian Pap Jun 18 '18 at 18:17

This does not directly answer your question, but here is a suggestion:

Most options, with the exception of barrier options, tend to behave linearly for extreme values of the model state variable(s). You can use this to program a very generic linear boundary condition that in my experience works fine for most pricings, again with the exception of barriers, for which Dirichlet applies.

Let $x$ be a state variable in your model (in your case Finite Difference method in Matlab for SABR volatility model fails to provide correct option values the forward $F$ or the stochastic volatility $\alpha$), then linearity in $x$ on the boundary $x_{\text{min}}$ or $x_{\text{max}}$ means the condition is $\frac{\partial^2V}{\partial x^2} = 0$ on the boundary. Plug that in your pricing PDE and you are left with a PDE on the boundary that has only 1st order derivatives in $x$, which you then approximate using the non centered finite difference $(V_{1,...} - V_{0,...})/\delta x$ or $(V_{i_{\text{max}},...} - V_{i_{\text{max}}-1,...} )/\delta x$. These give you the additional equations that you need to fill in the matrix that represent your discrete linear operator.

I have used this generic condition successfully in my implementation of many models, including SABR, for pricing all kinds of products.

Also as a general remark your should remember that a finite difference scheme is an approximation trough discretization of a continuous problem. For practical purpose it generally does not matter if the option value is slightly off near the boundary because the probability of getting there is very small (again with the exception of barriers).

  • $\begingroup$ @Antoine_Conze, starting with the PDE, setting $\dfrac{\partial^2 V}{\partial x^2}=0$, and substituting FD approx's that are one-sided in $x$. For the upper bound in $x$ I end up with $V_{i_{max},j-1}^k = [a]V_{i_{max}-1,j-1}^{k+1} + [b]V_{i_{max},j-1}^{k+1} + [c]V_{i_{max}-1,j}^{k+1} + [d]V_{i_{max},j}^{k+1} + [e]V_{i_{max}-1,j+1}^{k+1} + [f]V_{i_{max},j+1}^{k+1}$. How would I proceed to implement this in $A$ in; $V_{i_{min}+1:i_{max}-1,j_{min}+1:j_{max}-1}^{k} = A V_{i_{min}+1:i_{max}-1,j_{min}+1:j_{max}-1}^{k+1} $? $\endgroup$ – Pim Jun 26 '18 at 14:22
  • $\begingroup$ I don't see an easy implementation besides a very rigorous adjustment of particular matrix elements and corresponding '$C$' vector entries... $\endgroup$ – Pim Jun 26 '18 at 14:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.