QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Continuous-partial-floating lookback option. More...
#include <lookbackoption.hpp>
Classes | |
class | arguments |
Arguments for continuous partial floating lookback option calculation More... | |
class | engine |
Continuous partial floating lookback engine base class More... | |
Public Member Functions | |
ContinuousPartialFloatingLookbackOption (Real currentMinmax, Real lambda, Date lookbackPeriodEnd, const ext::shared_ptr< TypePayoff > &payoff, const ext::shared_ptr< Exercise > &exercise) | |
void | setupArguments (PricingEngine::arguments *) const override |
Public Member Functions inherited from ContinuousFloatingLookbackOption | |
ContinuousFloatingLookbackOption (Real currentMinmax, const ext::shared_ptr< TypePayoff > &payoff, const ext::shared_ptr< Exercise > &exercise) | |
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 | |
Real | lambda_ |
Date | lookbackPeriodEnd_ |
Protected Attributes inherited from ContinuousFloatingLookbackOption | |
Real | minmax_ |
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) |
Continuous-partial-floating lookback option.
From http://help.rmetrics.org/fExoticOptions/LookbackOptions.html :
For a partial-time floating strike lookback option, the lookback period starts at time zero and ends at an arbitrary date before expiration. Except for the partial lookback period, the option is similar to a floating strike lookback option. The partial-time floating strike lookback option is cheaper than a similar standard floating strike lookback option. Partial-time floating strike lookback options can be priced analytically using a model introduced by Heynen and Kat (1994).
Definition at line 84 of file lookbackoption.hpp.
ContinuousPartialFloatingLookbackOption | ( | Real | currentMinmax, |
Real | lambda, | ||
Date | lookbackPeriodEnd, | ||
const ext::shared_ptr< TypePayoff > & | payoff, | ||
const ext::shared_ptr< Exercise > & | exercise | ||
) |
Definition at line 78 of file lookbackoption.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 ContinuousFloatingLookbackOption.
Definition at line 88 of file lookbackoption.cpp.
|
protected |
Definition at line 98 of file lookbackoption.hpp.
|
protected |
Definition at line 99 of file lookbackoption.hpp.