QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Barrier option on two assets More...
#include <twoassetbarrieroption.hpp>
Classes | |
class | arguments |
Arguments for two-asset barrier option calculation More... | |
class | engine |
Two-asset barrier-option engine base class More... | |
Public Member Functions | |
TwoAssetBarrierOption (Barrier::Type barrierType, Real barrier, const ext::shared_ptr< StrikedTypePayoff > &payoff, const ext::shared_ptr< Exercise > &exercise) | |
bool | isExpired () const override |
returns whether the instrument might have value greater than zero. More... | |
void | setupArguments (PricingEngine::arguments *) 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... | |
virtual void | fetchResults (const PricingEngine::results *) const |
![]() | |
LazyObject () | |
~LazyObject () override=default | |
void | update () override |
bool | isCalculated () const |
void | forwardFirstNotificationOnly () |
void | alwaysForwardNotifications () |
void | recalculate () |
void | freeze () |
void | unfreeze () |
![]() | |
Observable ()=default | |
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 | |
Barrier::Type | barrierType_ |
Real | barrier_ |
![]() | |
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 | calculate () const override |
virtual void | setupExpired () const |
void | performCalculations () const override |
![]() | |
![]() | |
std::ostream & | operator<< (std::ostream &, Option::Type) |
Barrier option on two assets
The value of the first asset is compared to the strike to determine the payoff, while the value of the second asset is monitored to check if the barrier is hit.
Definition at line 40 of file twoassetbarrieroption.hpp.
TwoAssetBarrierOption | ( | Barrier::Type | barrierType, |
Real | barrier, | ||
const ext::shared_ptr< StrikedTypePayoff > & | payoff, | ||
const ext::shared_ptr< Exercise > & | exercise | ||
) |
Definition at line 26 of file twoassetbarrieroption.cpp.
|
overridevirtual |
returns whether the instrument might have value greater than zero.
Implements Instrument.
Definition at line 42 of file twoassetbarrieroption.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 33 of file twoassetbarrieroption.cpp.
|
protected |
Definition at line 55 of file twoassetbarrieroption.hpp.
|
protected |
Definition at line 56 of file twoassetbarrieroption.hpp.