1
$\begingroup$

I have a set of American options, for which I got the implied volatility thanks to the package "RQuantLib". I then used splines to interpolate my implied volatility as a function of my strikes. Practically speaking I got implied vol from 455 to 670, with a 0.0001 step. I then infer my prices thanks to the AmericanOption function.

Almost all of my points are OK, but I have one particular strange result. When I focus on a particular interval, here near a strike of 630, I see that the delta in option price for two consecutive strike seems to be a linear function of strike, which seems OK in this short interval. But for a particular point this relationship does not hold change in option price for two consecutive strikes

I don't understand why could cause this. Any idea ? This is quite annoying because my next step is to infer a risk-neutral density from this points, and this outlier causes a negative RND. Also, I don't have any option in my initial batch that contains this strike, and my error does not seem to come from my splines, but from the function. Thanks,

$\endgroup$
  • $\begingroup$ I am not really familiar with QuantLib but this is likely an artifact of the numerical algorithm. Looking at the magnitude of the price difference relative to the strike, it is still tiny though. When trying to compute implied densities from prices or implied volatilities, you should consider pre-smoothening your observations. $\endgroup$ – LocalVolatility Apr 6 '18 at 12:26
  • $\begingroup$ That's what I thought, thank you for your reply $\endgroup$ – DomingoBrown Apr 6 '18 at 14:25
1
$\begingroup$

American options are typically computed using a (binomial or trinomial) tree or a finite differences scheme.

When you move the strike by a tiny amount the number of nodes on each side of the strike does not change, hence the option numerical price is locally smooth in strike (in the case of a European option it is easy to see that the price is locally linear in strike, because the entire scheme can be viewed as one big linear operator applied to the payoff vector which itself is locally linear in strike). When you move the strike a little bit more the number of nodes on each side of the strike changes, hence a discontinuity. Then as you keep moving the strike the option price is again locally smooth in strike, then again a discontinuity as the number of nodes on each side changes again, etc.

$\endgroup$

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.