Re: impliedVolatility always throws exception instead of 0 or 1

Posted by Grant Birchmeier on
URL: http://quantlib.414.s1.nabble.com/impliedVolatility-always-throws-exception-instead-of-0-or-1-tp7284p7286.html

I was actually computing a European Call option.  I'm not sure how you
got "1.5065" -- as I understand it, strike+value=underly
(2+1.505=3.505), which implies a volatility 0.  (I'm not very skilled
with the financial theory yet, so forgive me if my details are wrong.)

My C# program is reading a *lot* of data about Futures and Options
from the CME/CBOT, and these price data values are real values from
that set.  My program was computing volatilities and greeks from a
very large set of options, and everything runs smoothly until this
entry, which throws an exception and ends the program.

If you are certain that there is no issue or no better behavior for
handling such a set of inputs, then I trust your judgement.  We have
decided on another avenue for our program, thus this issue no longer
affects our project.

-Grant


On Wed, Mar 25, 2009 at 1:45 PM, Ferdinando Ametrano <[hidden email]> wrote:

> On Tue, Mar 24, 2009 at 5:11 PM, Grant Birchmeier
> <[hidden email]> wrote:
>> I have a large set of options that I'm running this on; some of them
>> are at parity, which implies volatility=0.
> < [...]
>> 3) data values:
>>            double underly = 3.505;
>>            double strike = 2;
>>            double rate = .00445;
>>            double value = 1.505;
>>            QuantLib.Date todaysDate = new QuantLib.Date(1,
>> QuantLib.Month.March, 2009);
>>            QuantLib.Date maturityDate = new QuantLib.Date(1,
>> QuantLib.Month.May, 2009);
>
> from the value you provide I guess an American call option on a
> non-dividend-paying stock (non-dividend-paying in 20090301-20090501).
> Risk Free rate is 0.445%.
>
> It is never optimal to exercise such an option before the expiration
> date, so it is worth as much as the European equivalent.
> The European one is worth 1.5065 with 0% volatility and more as the
> volatility increase: so it is not possible to find an implied vol for
> a lower value such as 1.5050.
>
> Anyway there are some numerical stability issues for *_VERY_* deep in
> the money option, which are not hard to imagine given the lack of
> sensitiveness to volatility.
>
> You can verify these statements using a fairly recent QuantLibXL with
> the attached spreadsheet
>
> ciao -- Nando
>

------------------------------------------------------------------------------
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users