Himalaya option. More...
#include <ql/experimental/exoticoptions/himalayaoption.hpp>
Inheritance diagram for HimalayaOption:Public Member Functions | |
| HimalayaOption (const std::vector< Date > &fixingDates, Real strike) | |
| void | setupArguments (PricingEngine::arguments *) const |
Public Member Functions inherited from MultiAssetOption | |
| MultiAssetOption (const boost::shared_ptr< Payoff > &, const boost::shared_ptr< Exercise > &) | |
| void | setupArguments (PricingEngine::arguments *) const |
| void | fetchResults (const PricingEngine::results *) const |
| bool | isExpired () const |
| returns whether the instrument might have value greater than zero. | |
| Real | delta () const |
| Real | gamma () const |
| Real | theta () const |
| Real | vega () const |
| Real | rho () const |
| Real | dividendRho () const |
Public Member Functions inherited from Option | |
| Option (const boost::shared_ptr< Payoff > &payoff, const boost::shared_ptr< Exercise > &exercise) | |
| void | setupArguments (PricingEngine::arguments *) const |
| boost::shared_ptr< Payoff > | payoff () |
| boost::shared_ptr< Exercise > | exercise () |
Public Member Functions inherited from Instrument | |
| Real | NPV () const |
| returns the net present value of the instrument. | |
| Real | errorEstimate () const |
| returns the error estimate on the NPV when available. | |
| const Date & | valuationDate () const |
| returns the date the net present value refers to. | |
| template<typename T > | |
| T | result (const std::string &tag) const |
| returns any additional result returned by the pricing engine. | |
| const std::map< std::string, boost::any > & | additionalResults () const |
| returns all additional result returned by the pricing engine. | |
| void | setPricingEngine (const boost::shared_ptr< PricingEngine > &) |
| set the pricing engine to be used. More... | |
Public Member Functions inherited from LazyObject | |
| void | update () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| void | notifyObservers () |
Public Member Functions inherited from Observer | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
| void | registerWithObservables (const boost::shared_ptr< Observer > &) |
| Size | unregisterWith (const boost::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
Additional Inherited Members | |
Public Types inherited from Option | |
| enum | Type { Put = -1, Call = 1 } |
Protected Member Functions inherited from MultiAssetOption | |
| void | setupExpired () const |
Protected Member Functions inherited from Instrument | |
| void | calculate () const |
| virtual void | performCalculations () const |
Protected Member Functions inherited from LazyObject | |
Protected Attributes inherited from MultiAssetOption | |
| Real | delta_ |
| Real | gamma_ |
| Real | theta_ |
| Real | vega_ |
| Real | rho_ |
| Real | dividendRho_ |
Protected Attributes inherited from Option | |
| boost::shared_ptr< Payoff > | payoff_ |
| boost::shared_ptr< Exercise > | exercise_ |
Protected Attributes inherited from Instrument | |
| boost::shared_ptr< PricingEngine > | engine_ |
| Real | NPV_ |
| Real | errorEstimate_ |
| Date | valuationDate_ |
| std::map< std::string, boost::any > | additionalResults_ |
Protected Attributes inherited from LazyObject | |
| bool | calculated_ |
| bool | frozen_ |
Related Functions inherited from Option | |
| 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.
|
virtual |
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.