|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Irregular Swaption class. More...
#include <irregularswaption.hpp>
Inheritance diagram for IrregularSwaption:
Collaboration diagram for IrregularSwaption:Classes | |
| class | arguments |
| Arguments for irregular-swaption calculation More... | |
| class | engine |
| base class for irregular-swaption engines More... | |
Public Member Functions | |
| IrregularSwaption (ext::shared_ptr< IrregularSwap > swap, const ext::shared_ptr< Exercise > &exercise, IrregularSettlement::Type delivery=IrregularSettlement::Physical) | |
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< IrregularSwap > | swap_ |
| IrregularSettlement::Type | settlementType_ |
| IrregularSettlement::Type | settlementType () const |
| Swap::Type | type () const |
| const ext::shared_ptr< IrregularSwap > & | underlyingSwap () 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) const |
| implied volatility More... | |
Additional Inherited Members | |
Public Types inherited from Option | |
| enum | Type { Put = -1 , Call = 1 } |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
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) |
Irregular Swaption class.
Definition at line 47 of file irregularswaption.hpp.
| IrregularSwaption | ( | ext::shared_ptr< IrregularSwap > | swap, |
| const ext::shared_ptr< Exercise > & | exercise, | ||
| IrregularSettlement::Type | delivery = IrregularSettlement::Physical |
||
| ) |
|
overridevirtual |
returns whether the instrument might have value greater than zero.
Implements Instrument.
Definition at line 107 of file irregularswaption.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 111 of file irregularswaption.cpp.
| IrregularSettlement::Type settlementType | ( | ) | const |
Definition at line 61 of file irregularswaption.hpp.
| Swap::Type type | ( | ) | const |
Definition at line 62 of file irregularswaption.hpp.
| const ext::shared_ptr< IrregularSwap > & underlyingSwap | ( | ) | const |
Definition at line 63 of file irregularswaption.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 |
||
| ) | const |
implied volatility
Definition at line 130 of file irregularswaption.cpp.
Here is the call graph for this function:
|
private |
Definition at line 78 of file irregularswaption.hpp.
|
private |
Definition at line 79 of file irregularswaption.hpp.