QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
One factor model float float swaption engine. More...
#include <gaussian1dfloatfloatswaptionengine.hpp>
Public Types | |
enum | Probabilities { None , Naive , Digital } |
Public Types inherited from BasketGeneratingEngine | |
enum | CalibrationBasketType { Naive , MaturityStrikeByDeltaGamma } |
typedef enum QuantLib::BasketGeneratingEngine::CalibrationBasketType | CalibrationBasketType |
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< YieldTermStructure > | discountingCurve () const |
Public Member Functions inherited from BasketGeneratingEngine | |
virtual | ~BasketGeneratingEngine ()=default |
std::vector< ext::shared_ptr< BlackCalibrationHelper > > | calibrationBasket (const ext::shared_ptr< Exercise > &exercise, const ext::shared_ptr< SwapIndex > &standardSwapBase, const ext::shared_ptr< SwaptionVolatilityStructure > &swaptionVolatility, CalibrationBasketType basketType=MaturityStrikeByDeltaGamma) const |
Public Member Functions inherited from GenericModelEngine< Gaussian1dModel, FloatFloatSwaption::arguments, FloatFloatSwaption::results > | |
GenericModelEngine (Handle< Gaussian1dModel > model=Handle< Gaussian1dModel >()) | |
GenericModelEngine (const ext::shared_ptr< Gaussian1dModel > &model) | |
Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType > | |
PricingEngine::arguments * | getArguments () const override |
const PricingEngine::results * | getResults () const override |
void | reset () override |
void | update () override |
Public Member Functions inherited from PricingEngine | |
~PricingEngine () override=default | |
virtual arguments * | getArguments () const =0 |
virtual const results * | getResults () const =0 |
virtual void | reset ()=0 |
virtual void | calculate () const =0 |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~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 | update ()=0 |
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 |
Protected Member Functions inherited from BasketGeneratingEngine | |
BasketGeneratingEngine (const ext::shared_ptr< Gaussian1dModel > &model, Handle< Quote > oas, Handle< YieldTermStructure > discountCurve) | |
BasketGeneratingEngine (Handle< Gaussian1dModel > model, Handle< Quote > oas, Handle< YieldTermStructure > discountCurve) | |
virtual Real | underlyingNpv (const Date &expiry, Real y) const =0 |
virtual Swap::Type | underlyingType () const =0 |
virtual const Date | underlyingLastDate () const =0 |
virtual const Array | initialGuess (const Date &expiry) const =0 |
Private Member Functions | |
std::pair< Real, Real > | npvs (const Date &expiry, Real y, bool includeExerciseOnxpiry, bool considerProbabilities=false) const |
Private Attributes | |
const int | integrationPoints_ |
const Real | stddevs_ |
const bool | extrapolatePayoff_ |
const bool | flatPayoffExtrapolation_ |
const Handle< Quote > | oas_ |
const Handle< YieldTermStructure > | discountCurve_ |
const bool | includeTodaysExercise_ |
const Probabilities | probabilities_ |
ext::shared_ptr< RebatedExercise > | rebatedExercise_ |
Additional Inherited Members | |
Protected Attributes inherited from GenericModelEngine< Gaussian1dModel, FloatFloatSwaption::arguments, FloatFloatSwaption::results > | |
Handle< Gaussian1dModel > | model_ |
Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType > | |
ArgumentsType | arguments_ |
ResultsType | results_ |
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.
Definition at line 57 of file gaussian1dfloatfloatswaptionengine.hpp.
enum Probabilities |
Enumerator | |
---|---|
None | |
Naive | |
Digital |
Definition at line 63 of file gaussian1dfloatfloatswaptionengine.hpp.
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 |
||
) |
Definition at line 69 of file gaussian1dfloatfloatswaptionengine.hpp.
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 |
||
) |
Definition at line 97 of file gaussian1dfloatfloatswaptionengine.hpp.
|
overridevirtual |
Implements PricingEngine.
Definition at line 27 of file gaussian1dfloatfloatswaptionengine.cpp.
Handle< YieldTermStructure > discountingCurve | ( | ) | const |
Definition at line 127 of file gaussian1dfloatfloatswaptionengine.hpp.
Implements BasketGeneratingEngine.
Definition at line 55 of file gaussian1dfloatfloatswaptionengine.cpp.
|
overrideprotectedvirtual |
Implements BasketGeneratingEngine.
Definition at line 60 of file gaussian1dfloatfloatswaptionengine.cpp.
|
overrideprotectedvirtual |
Implements BasketGeneratingEngine.
Definition at line 65 of file gaussian1dfloatfloatswaptionengine.cpp.
Implements BasketGeneratingEngine.
Definition at line 72 of file gaussian1dfloatfloatswaptionengine.cpp.
|
private |
Definition at line 104 of file gaussian1dfloatfloatswaptionengine.cpp.
|
private |
Definition at line 139 of file gaussian1dfloatfloatswaptionengine.hpp.
|
private |
Definition at line 140 of file gaussian1dfloatfloatswaptionengine.hpp.
|
private |
Definition at line 141 of file gaussian1dfloatfloatswaptionengine.hpp.
|
private |
Definition at line 141 of file gaussian1dfloatfloatswaptionengine.hpp.
Definition at line 142 of file gaussian1dfloatfloatswaptionengine.hpp.
|
private |
Definition at line 143 of file gaussian1dfloatfloatswaptionengine.hpp.
|
private |
Definition at line 144 of file gaussian1dfloatfloatswaptionengine.hpp.
|
private |
Definition at line 145 of file gaussian1dfloatfloatswaptionengine.hpp.
|
mutableprivate |
Definition at line 152 of file gaussian1dfloatfloatswaptionengine.hpp.