QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Discrete-averaging Asian option. More...
#include <asianoption.hpp>
Classes | |
class | arguments |
Extra arguments for single-asset discrete-average Asian option. More... | |
class | engine |
Discrete-averaging Asian engine base class. More... | |
Public Member Functions | |
DiscreteAveragingAsianOption (Average::Type averageType, Real runningAccumulator, Size pastFixings, std::vector< Date > fixingDates, const ext::shared_ptr< StrikedTypePayoff > &payoff, const ext::shared_ptr< Exercise > &exercise) | |
DiscreteAveragingAsianOption (Average::Type averageType, std::vector< Date > fixingDates, const ext::shared_ptr< StrikedTypePayoff > &payoff, const ext::shared_ptr< Exercise > &exercise, std::vector< Real > allPastFixings=std::vector< Real >()) | |
void | setupArguments (PricingEngine::arguments *) const override |
Public Member Functions inherited from OneAssetOption | |
OneAssetOption (const ext::shared_ptr< Payoff > &, const ext::shared_ptr< Exercise > &) | |
bool | isExpired () const override |
returns whether the instrument might have value greater than zero. More... | |
Real | delta () const |
Real | deltaForward () const |
Real | elasticity () const |
Real | gamma () const |
Real | theta () const |
Real | thetaPerDay () const |
Real | vega () const |
Real | rho () const |
Real | dividendRho () const |
Real | strikeSensitivity () const |
Real | itmCashProbability () const |
void | fetchResults (const PricingEngine::results *) 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... | |
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 () | |
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 Attributes | |
Average::Type | averageType_ |
Real | runningAccumulator_ |
Size | pastFixings_ |
std::vector< Date > | fixingDates_ |
bool | allPastFixingsProvided_ |
std::vector< Real > | allPastFixings_ |
Protected Attributes inherited from OneAssetOption | |
Real | delta_ |
Real | deltaForward_ |
Real | elasticity_ |
Real | gamma_ |
Real | theta_ |
Real | thetaPerDay_ |
Real | vega_ |
Real | rho_ |
Real | dividendRho_ |
Real | strikeSensitivity_ |
Real | itmCashProbability_ |
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_ |
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 OneAssetOption | |
void | setupExpired () const override |
Protected Member Functions inherited from Instrument | |
void | calculate () const override |
void | performCalculations () const override |
Protected Member Functions inherited from LazyObject | |
Related Functions inherited from Option | |
std::ostream & | operator<< (std::ostream &, Option::Type) |
Discrete-averaging Asian option.
Definition at line 57 of file asianoption.hpp.
DiscreteAveragingAsianOption | ( | Average::Type | averageType, |
Real | runningAccumulator, | ||
Size | pastFixings, | ||
std::vector< Date > | fixingDates, | ||
const ext::shared_ptr< StrikedTypePayoff > & | payoff, | ||
const ext::shared_ptr< Exercise > & | exercise | ||
) |
This constructor takes the running sum or product of past fixings, depending on the average type. The fixing dates passed here can be only the future ones.
Definition at line 29 of file asianoption.cpp.
DiscreteAveragingAsianOption | ( | Average::Type | averageType, |
std::vector< Date > | fixingDates, | ||
const ext::shared_ptr< StrikedTypePayoff > & | payoff, | ||
const ext::shared_ptr< Exercise > & | exercise, | ||
std::vector< Real > | allPastFixings = std::vector<Real>() |
||
) |
This constructor takes past fixings as a vector, defaulting to an empty vector representing an unseasoned option. This constructor expects all fixing dates to be provided, including those in the past, and to be already sorted. During the calculations, the option will compare them to the evaluation date to determine which are historic; it will then take as many values from allPastFixings as needed and ignore the others. If not enough fixings are provided, it will raise an error.
Definition at line 54 of file asianoption.cpp.
|
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 64 of file asianoption.cpp.
|
protected |
Definition at line 88 of file asianoption.hpp.
|
protected |
Definition at line 89 of file asianoption.hpp.
|
protected |
Definition at line 90 of file asianoption.hpp.
|
protected |
Definition at line 91 of file asianoption.hpp.
|
protected |
Definition at line 96 of file asianoption.hpp.
|
protected |
Definition at line 97 of file asianoption.hpp.