Bermudan Option Wrapper. More...
#include <ored/portfolio/optionwrapper.hpp>
Public Member Functions | |
BermudanOptionWrapper (const boost::shared_ptr< QuantLib::Instrument > &inst, const bool isLongOption, const std::vector< QuantLib::Date > &exerciseDates, const bool isPhysicalDelivery, const std::vector< boost::shared_ptr< QuantLib::Instrument >> &undInsts, const Real multiplier=1.0, const Real undMultiplier=1.0, const std::vector< boost::shared_ptr< QuantLib::Instrument >> &additionalInstruments=std::vector< boost::shared_ptr< QuantLib::Instrument >>(), const std::vector< Real > &additionalMultipliers=std::vector< Real >()) | |
bool | exercise () const override |
Public Member Functions inherited from OptionWrapper | |
OptionWrapper (const boost::shared_ptr< QuantLib::Instrument > &inst, const bool isLongOption, const std::vector< QuantLib::Date > &exerciseDate, const bool isPhysicalDelivery, const std::vector< boost::shared_ptr< QuantLib::Instrument >> &undInst, const Real multiplier=1.0, const Real undMultiplier=1.0, const std::vector< boost::shared_ptr< QuantLib::Instrument >> &additionalInstruments=std::vector< boost::shared_ptr< QuantLib::Instrument >>(), const std::vector< Real > &additionalMultipliers=std::vector< Real >()) | |
Constructor. | |
void | initialise (const std::vector< QuantLib::Date > &dates) override |
Initialise with the given date grid. | |
void | reset () override |
reset is called every time a new path is about to be priced. More... | |
QuantLib::Real | NPV () const override |
Return the NPV of this instrument. | |
Real | multiplier2 () const override |
const std::map< std::string, boost::any > & | additionalResults () const override |
Return the additional results of this instrument. | |
void | updateQlInstruments () override |
call update on enclosed instrument(s) | |
bool | isOption () override |
is it an Option? | |
const std::vector< boost::shared_ptr< QuantLib::Instrument > > & | underlyingInstruments () const |
return the underlying instruments | |
const boost::shared_ptr< QuantLib::Instrument > & | activeUnderlyingInstrument (const bool calculate=false) const |
bool | isLong () const |
return true if option is long, false if option is short | |
bool | isExercised () const |
return true if option is exercised | |
bool | isPhysicalDelivery () const |
return true for physical delivery, false for cash settlement | |
Real | underlyingMultiplier () const |
the underlying multiplier | |
const QuantLib::Date & | exerciseDate () const |
the (actual) date the option was exercised | |
void | enableExercise () |
disable exercise decisions | |
void | disableExercise () |
enable exercise decisions | |
Public Member Functions inherited from InstrumentWrapper | |
InstrumentWrapper (const boost::shared_ptr< QuantLib::Instrument > &inst, const Real multiplier=1.0, const std::vector< boost::shared_ptr< QuantLib::Instrument >> &additionalInstruments=std::vector< boost::shared_ptr< QuantLib::Instrument >>(), const std::vector< Real > &additionalMultipliers=std::vector< Real >()) | |
QuantLib::Real | additionalInstrumentsNPV () const |
boost::shared_ptr< QuantLib::Instrument > | qlInstrument (const bool calculate=false) const |
Inspectors. More... | |
Real | multiplier () const |
const std::vector< boost::shared_ptr< QuantLib::Instrument > > & | additionalInstruments () const |
const std::vector< Real > & | additionalMultipliers () const |
boost::timer::nanosecond_type | getCumulativePricingTime () const |
Get cumulative timing spent on pricing. | |
std::size_t | getNumberOfPricings () const |
Get number of pricings. | |
void | resetPricingStats () const |
Reset pricing statistics. | |
Additional Inherited Members | |
Protected Member Functions inherited from InstrumentWrapper | |
Real | getTimedNPV (const boost::shared_ptr< QuantLib::Instrument > &instr) const |
Protected Attributes inherited from OptionWrapper | |
bool | isLong_ |
bool | isPhysicalDelivery_ |
std::vector< QuantLib::Date > | contractExerciseDates_ |
std::vector< QuantLib::Date > | effectiveExerciseDates_ |
std::vector< boost::shared_ptr< QuantLib::Instrument > > | underlyingInstruments_ |
boost::shared_ptr< QuantLib::Instrument > | activeUnderlyingInstrument_ |
Real | undMultiplier_ |
bool | exercised_ |
bool | exercisable_ |
QuantLib::Date | exerciseDate_ |
Protected Attributes inherited from InstrumentWrapper | |
boost::shared_ptr< QuantLib::Instrument > | instrument_ |
Real | multiplier_ |
std::vector< boost::shared_ptr< QuantLib::Instrument > > | additionalInstruments_ |
std::vector< Real > | additionalMultipliers_ |
std::size_t | numberOfPricings_ = 0 |
boost::timer::nanosecond_type | cumulativePricingTime_ = 0 |