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

One factor model non standard swaption engine. More...

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

Inheritance diagram for Gaussian1dNonstandardSwaptionEngine:

Public Types

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

Public Member Functions

 Gaussian1dNonstandardSwaptionEngine (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 Probabilities probabilities=None)
 Gaussian1dNonstandardSwaptionEngine (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 Probabilities probabilities=None)
void calculate () const override
Public Member Functions inherited from GenericModelEngine< Gaussian1dModel, NonstandardSwaption::arguments, NonstandardSwaption::results >
 GenericModelEngine (Handle< Gaussian1dModel > model=Handle< Gaussian1dModel >())
Public Member Functions inherited from GenericEngine< NonstandardSwaption::arguments, NonstandardSwaption::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, NonstandardSwaption::arguments, NonstandardSwaption::results >
Handle< Gaussian1dModelmodel_
Protected Attributes inherited from GenericEngine< NonstandardSwaption::arguments, NonstandardSwaption::results >
NonstandardSwaption::arguments arguments_
NonstandardSwaption::results results_

Detailed Description

One factor model non standard swaption engine.

All fixed coupons with start date greater or equal to the respective option expiry are considered to be part of the exercise into right.

All float coupons with start date greater or equal to the respective option expiry are consideres to be part of the exercise into right.

For redemption flows an associated start date is considered in the criterion, which is the start date of the regular xcoupon period with same payment date as the redemption flow.

Warning
Cash settled swaptions are not supported

Member Function Documentation

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.