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