|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Swaption class More...
#include <swaption.hpp>
Inheritance diagram for Swaption:
Collaboration diagram for Swaption:Classes | |
| class | arguments |
| Arguments for swaption calculation More... | |
| class | engine |
| base class for swaption engines More... | |
Public Types | |
| enum | PriceType { Spot , Forward } |
Public Types inherited from Option | |
| enum | Type { Put = -1 , Call = 1 } |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Public Member Functions | |
| Swaption (ext::shared_ptr< FixedVsFloatingSwap > swap, const ext::shared_ptr< Exercise > &exercise, Settlement::Type delivery=Settlement::Physical, Settlement::Method settlementMethod=Settlement::PhysicalOTC) | |
Observer interface | |
| void | deepUpdate () override |
Instrument interface | |
| bool | isExpired () const override |
| returns whether the instrument might have value greater than zero. More... | |
| void | setupArguments (PricingEngine::arguments *) const override |
Public Member Functions inherited from Option | |
| Option (ext::shared_ptr< Payoff > payoff, ext::shared_ptr< Exercise > exercise) | |
| void | setupArguments (PricingEngine::arguments *) const override |
| ext::shared_ptr< Payoff > | payoff () const |
| ext::shared_ptr< Exercise > | exercise () const |
Public Member Functions inherited from Instrument | |
| Instrument () | |
| Real | NPV () const |
| returns the net present value of the instrument. More... | |
| Real | errorEstimate () const |
| returns the error estimate on the NPV when available. More... | |
| const Date & | valuationDate () const |
| returns the date the net present value refers to. More... | |
| template<typename T > | |
| T | result (const std::string &tag) const |
| returns any additional result returned by the pricing engine. More... | |
| const std::map< std::string, ext::any > & | additionalResults () const |
| returns all additional result returned by the pricing engine. More... | |
| void | setPricingEngine (const ext::shared_ptr< PricingEngine > &) |
| set the pricing engine to be used. More... | |
| virtual void | fetchResults (const PricingEngine::results *) const |
Public Member Functions inherited from LazyObject | |
| LazyObject () | |
| ~LazyObject () override=default | |
| void | update () override |
| bool | isCalculated () const |
| void | forwardFirstNotificationOnly () |
| void | alwaysForwardNotifications () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
Public Member Functions inherited from Observable | |
| Observable ()=default | |
| 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 () |
Inspectors | |
| ext::shared_ptr< FixedVsFloatingSwap > | swap_ |
| Settlement::Type | settlementType_ |
| Settlement::Method | settlementMethod_ |
| ext::shared_ptr< VanillaSwap > | vanilla_ |
| Settlement::Type | settlementType () const |
| Settlement::Method | settlementMethod () const |
| Swap::Type | type () const |
| const ext::shared_ptr< FixedVsFloatingSwap > & | underlying () const |
| Volatility | impliedVolatility (Real price, const Handle< YieldTermStructure > &discountCurve, Volatility guess, Real accuracy=1.0e-4, Natural maxEvaluations=100, Volatility minVol=1.0e-7, Volatility maxVol=4.0, VolatilityType type=ShiftedLognormal, Real displacement=0.0, PriceType priceType=Spot) const |
| implied volatility More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Instrument | |
| void | calculate () const override |
| virtual void | setupExpired () const |
| void | performCalculations () const override |
Protected Member Functions inherited from LazyObject | |
Protected Attributes inherited from Option | |
| ext::shared_ptr< Payoff > | payoff_ |
| ext::shared_ptr< Exercise > | exercise_ |
Protected Attributes inherited from Instrument | |
| Real | NPV_ |
| Real | errorEstimate_ |
| Date | valuationDate_ |
| std::map< std::string, ext::any > | additionalResults_ |
| ext::shared_ptr< PricingEngine > | engine_ |
Protected Attributes inherited from LazyObject | |
| bool | calculated_ = false |
| bool | frozen_ = false |
| bool | alwaysForward_ |
Related Functions inherited from Option | |
| std::ostream & | operator<< (std::ostream &, Option::Type) |
Swaption class
Definition at line 88 of file swaption.hpp.
| enum PriceType |
| Enumerator | |
|---|---|
| Spot | |
| Forward | |
Definition at line 90 of file swaption.hpp.
| Swaption | ( | ext::shared_ptr< FixedVsFloatingSwap > | swap, |
| const ext::shared_ptr< Exercise > & | exercise, | ||
| Settlement::Type | delivery = Settlement::Physical, |
||
| Settlement::Method | settlementMethod = Settlement::PhysicalOTC |
||
| ) |
|
overridevirtual |
This method allows to explicitly update the instance itself and nested observers. If notifications are disabled a call to this method ensures an update of such nested observers. It should be implemented in derived classes whenever applicable
Reimplemented from Observer.
Definition at line 153 of file swaption.cpp.
Here is the call graph for this function:
|
overridevirtual |
returns whether the instrument might have value greater than zero.
Implements Instrument.
Definition at line 158 of file swaption.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
When a derived argument structure is defined for an instrument, this method should be overridden to fill it. This is mandatory in case a pricing engine is used.
Reimplemented from Instrument.
Definition at line 162 of file swaption.cpp.
Here is the caller graph for this function:| Settlement::Type settlementType | ( | ) | const |
| Settlement::Method settlementMethod | ( | ) | const |
| Swap::Type type | ( | ) | const |
| const ext::shared_ptr< FixedVsFloatingSwap > & underlying | ( | ) | const |
Definition at line 113 of file swaption.hpp.
| Volatility impliedVolatility | ( | Real | price, |
| const Handle< YieldTermStructure > & | discountCurve, | ||
| Volatility | guess, | ||
| Real | accuracy = 1.0e-4, |
||
| Natural | maxEvaluations = 100, |
||
| Volatility | minVol = 1.0e-7, |
||
| Volatility | maxVol = 4.0, |
||
| VolatilityType | type = ShiftedLognormal, |
||
| Real | displacement = 0.0, |
||
| PriceType | priceType = Spot |
||
| ) | const |
implied volatility
Definition at line 182 of file swaption.cpp.
Here is the call graph for this function:
|
private |
Definition at line 131 of file swaption.hpp.
|
private |
Definition at line 133 of file swaption.hpp.
|
private |
Definition at line 134 of file swaption.hpp.
|
private |
Definition at line 136 of file swaption.hpp.