QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Himalaya option. More...
#include <himalayaoption.hpp>
Classes | |
class | arguments |
class | engine |
class | results |
Public Member Functions | |
HimalayaOption (const std::vector< Date > &fixingDates, Real strike) | |
void | setupArguments (PricingEngine::arguments *) const override |
![]() | |
MultiAssetOption (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 | gamma () const |
Real | theta () const |
Real | vega () const |
Real | rho () const |
Real | dividendRho () const |
void | setupArguments (PricingEngine::arguments *) const override |
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 () |
Private Attributes | |
std::vector< Date > | fixingDates_ |
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 |
![]() | |
![]() | |
Real | delta_ |
Real | gamma_ |
Real | theta_ |
Real | vega_ |
Real | rho_ |
Real | dividendRho_ |
![]() | |
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_ |
![]() | |
std::ostream & | operator<< (std::ostream &, Option::Type) |
Himalaya option.
The payoff of a Himalaya option is computed in the following way: Given a basket of N assets, and N time periods, at the end of each period the option who performed the best is added to the average and then discarded from the basket. At the end of the N, periods the option pays the max between the strike and the average of the best performers.
Definition at line 44 of file himalayaoption.hpp.
HimalayaOption | ( | const std::vector< Date > & | fixingDates, |
Real | strike | ||
) |
Definition at line 26 of file himalayaoption.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 34 of file himalayaoption.cpp.
|
private |
Definition at line 55 of file himalayaoption.hpp.