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 |
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 |
Free forum by Nabble | Edit this page |