caplet stripper extrapolation problems

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

caplet stripper extrapolation problems

tarpanelli@libero.it
Hello,
I have created correctly an optionlet volatility structure and enabled the
extrapolation as follow

.......
boost::shared_ptr<IborIndex> EuriborIndex6M(new Euribor6M(iYieldTS));
boost::shared_ptr<OptionletStripper1> capletStripper1(new OptionletStripper1
(iCapVolSurface, EuriborIndex6M, Null<Rate>(),
                         1.0e-8));
boost::shared_ptr<OptionletStripper> capletStripper2(new OptionletStripper2
(capletStripper1,iATMCapVolCurve));
boost::shared_ptr<StrippedOptionletAdapter> strippedCapletAdapter(new
StrippedOptionletAdapter(capletStripper2));
Handle<OptionletVolatilityStructure> sigma_caplet(strippedCapletAdapter);
sigma_caplet->enableExtrapolation();

but when I try to compute the caplet vol:
sigma_caplet->volatility(1.05, 0.02)

it returns the followinig error:
time(29.5178) is past max curve time (29.5151)

any suggestion to solve this?

Thanks in advance
Paolo

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: caplet stripper extrapolation problems

Luigi Ballabio
Do you have other curves around that the call to volatility() might use?
(e.g., iYieldTS.)  You might want to enable extrapolation on those, too.

Luigi


On Tue, 2010-09-28 at 14:38 +0200, [hidden email] wrote:

> I have created correctly an optionlet volatility structure and enabled the
> extrapolation as follow
>
> .......
> boost::shared_ptr<IborIndex> EuriborIndex6M(new Euribor6M(iYieldTS));
> boost::shared_ptr<OptionletStripper1> capletStripper1(new OptionletStripper1
> (iCapVolSurface, EuriborIndex6M, Null<Rate>(),
> 1.0e-8));
> boost::shared_ptr<OptionletStripper> capletStripper2(new OptionletStripper2
> (capletStripper1,iATMCapVolCurve));
> boost::shared_ptr<StrippedOptionletAdapter> strippedCapletAdapter(new
> StrippedOptionletAdapter(capletStripper2));
> Handle<OptionletVolatilityStructure> sigma_caplet(strippedCapletAdapter);
> sigma_caplet->enableExtrapolation();
>
> but when I try to compute the caplet vol:
> sigma_caplet->volatility(1.05, 0.02)
>
> it returns the followinig error:
> time(29.5178) is past max curve time (29.5151)
>
> any suggestion to solve this?
>
> Thanks in advance
> Paolo
>
> ------------------------------------------------------------------------------
> Start uncovering the many advantages of virtual appliances
> and start using them to simplify application deployment and
> accelerate your shift to cloud computing.
> http://p.sf.net/sfu/novell-sfdev2dev
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users


--

Hanlon's Razor:
Never attribute to malice that which is adequately explained
by stupidity.



------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users