QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
Gaussian1dFloatFloatSwaptionEngine Class Reference

One factor model float float swaption engine. More...

#include <ql/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.hpp>

Inheritance diagram for Gaussian1dFloatFloatSwaptionEngine:

Public Types

enum  Probabilities { None , Naive , Digital }
Public Types inherited from Observer
typedef set_type::iterator iterator

Public Member Functions

 Gaussian1dFloatFloatSwaptionEngine (const ext::shared_ptr< Gaussian1dModel > &model, const int integrationPoints=64, const Real stddevs=7.0, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false, const Handle< Quote > &oas=Handle< Quote >(), const Handle< YieldTermStructure > &discountCurve=Handle< YieldTermStructure >(), const bool includeTodaysExercise=false, const Probabilities probabilities=None)
 Gaussian1dFloatFloatSwaptionEngine (const Handle< Gaussian1dModel > &model, const int integrationPoints=64, const Real stddevs=7.0, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false, const Handle< Quote > &oas=Handle< Quote >(), const Handle< YieldTermStructure > &discountCurve=Handle< YieldTermStructure >(), const bool includeTodaysExercise=false, const Probabilities probabilities=None)
void calculate () const override
Handle< YieldTermStructurediscountingCurve () const
Public Member Functions inherited from GenericModelEngine< Gaussian1dModel, FloatFloatSwaption::arguments, FloatFloatSwaption::results >
 GenericModelEngine (Handle< Gaussian1dModel > model=Handle< Gaussian1dModel >())
Public Member Functions inherited from GenericEngine< FloatFloatSwaption::arguments, FloatFloatSwaption::results >
PricingEngine::arguments * getArguments () const override
const PricingEngine::results * getResults () const override
void reset () override
void update () override
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()

Protected Member Functions

Real underlyingNpv (const Date &expiry, Real y) const override
Swap::Type underlyingType () const override
const Date underlyingLastDate () const override
const Array initialGuess (const Date &expiry) const override

Additional Inherited Members

Protected Attributes inherited from GenericModelEngine< Gaussian1dModel, FloatFloatSwaption::arguments, FloatFloatSwaption::results >
Handle< Gaussian1dModelmodel_
Protected Attributes inherited from GenericEngine< FloatFloatSwaption::arguments, FloatFloatSwaption::results >
FloatFloatSwaption::arguments arguments_
FloatFloatSwaption::results results_

Detailed Description

One factor model float float swaption engine.

All float coupons with fixing date greater or equal the respective option expiry are considered part of the exercise into right. Note that this is different from the usual accrual start date greater or equal exercise date if the fixing lag is strictly greater than the exercise lag (which should be a rare case). For the redepmtion flows the criterion is that the associated start date of the redemption flow (i.e. the start date of the regular coupon period with same payment date as the redemption flow) is greater or equal the exercise date.

The addtional result underlyingValue is the npv of the underlying (as seen from "today") including all fixings greater (or greater equal depending on includeTodaysExercise) today.

Member Function Documentation

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.