Hi,
I’m new to QuantLib and am having a problem generating
an implied volatility
for an Option when dividends are involved using
DividendVanillaOption and
FDDividendAmericanEngine. If there are no dividends on the
underlier I have
no problem generating a volatility using VanillaOption and
FDAmericanEngine.
The following code gives a “not enough points to
interpolate” error:
DividendVanillaOption option(stochasticProcess,
payoff,
amExercise,
dividendDates, dividendPayments);
Size timeSteps = 101;
// Finite
differences engine
option.setPricingEngine(boost::shared_ptr<PricingEngine>(
new
FDDividendAmericanEngine(timeSteps,timeSteps)));
// Sample
volatility given this FDDividendAmericanEngine..
Volatility v = option.impliedVolatility(optionPrice,
1.0e-4, 20, QL_MIN_VOLATILITY,
QL_MAX_VOLATILITY);
Being a newbie, I lifted this pretty much from the
AmericanOption sample but changed
to use the dividend classes. I populate dividendDates and
dividendPayments with Dates
and Amounts for each dividend payment. I’ve also tried
changing the timeSteps
parameter to be odd/even and no change – I always get
the “not enough points to
interpolate” error.
Like I say, code similar to above using VanillaOption and
FDAmericanEngine gives
me a reasonable looking volatility figure. Am I going about
generating implied
volatility in the right way? Any help pointers greatly
appreciated.
Thanks,
Ferghil O’Rourke
| Free forum by Nabble | Edit this page |