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 |
![]() | |
ContinuousFloatingLookbackOption (Real currentMinmax, const ext::shared_ptr< TypePayoff > &payoff, const ext::shared_ptr< Exercise > &exercise) | |
void | setupArguments (PricingEngine::arguments *) const override |
![]() | |
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 |
![]() | |
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 |
![]() | |
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... | |
![]() | |
LazyObject () | |
~LazyObject () override=default | |
void | update () override |
bool | isCalculated () const |
void | forwardFirstNotificationOnly () |
void | alwaysForwardNotifications () |
void | recalculate () |
void | freeze () |
void | unfreeze () |
![]() | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
![]() | |
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_ |
![]() | |
Real | minmax_ |
![]() | |
Real | delta_ |
Real | deltaForward_ |
Real | elasticity_ |
Real | gamma_ |
Real | theta_ |
Real | thetaPerDay_ |
Real | vega_ |
Real | rho_ |
Real | dividendRho_ |
Real | strikeSensitivity_ |
Real | itmCashProbability_ |
![]() | |
ext::shared_ptr< Payoff > | payoff_ |
ext::shared_ptr< Exercise > | exercise_ |
![]() | |
Real | NPV_ |
Real | errorEstimate_ |
Date | valuationDate_ |
std::map< std::string, ext::any > | additionalResults_ |
ext::shared_ptr< PricingEngine > | engine_ |
![]() | |
bool | calculated_ = false |
bool | frozen_ = false |
bool | alwaysForward_ |
Additional Inherited Members | |
![]() | |
enum | Type { Put = -1 , Call = 1 } |
![]() | |
typedef set_type::iterator | iterator |
![]() | |
void | setupExpired () const override |
![]() | |
void | calculate () const override |
void | performCalculations () const override |
![]() | |
![]() | |
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.