Logo
Reference manual - version ored_version
SingleBarrierOptionWrapper Class Reference
Inheritance diagram for SingleBarrierOptionWrapper:

Public Member Functions

 SingleBarrierOptionWrapper (const QuantLib::ext::shared_ptr< QuantLib::Instrument > &inst, const bool isLongOption, const QuantLib::Date &exerciseDate, const QuantLib::Date &settlementDate, const bool isPhysicalDelivery, const QuantLib::ext::shared_ptr< QuantLib::Instrument > &undInst, Barrier::Type barrierType, Handle< Quote > spot, Real barrier, Real rebate, const QuantLib::Currency ccy, const QuantLib::Date &startDate, const QuantLib::ext::shared_ptr< QuantLib::Index > &index, const QuantLib::Calendar &calendar, 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 >(), const std::optional< bool > &overrideTriggered=std::nullopt, const QuantLib::ext::shared_ptr< QuantLib::Index > &indexLows=nullptr, const QuantLib::ext::shared_ptr< QuantLib::Index > &indexHighs=nullptr, const int strictBarrier=0)
bool exercise () const override
Public Member Functions inherited from BarrierOptionWrapper
 BarrierOptionWrapper (const QuantLib::ext::shared_ptr< QuantLib::Instrument > &inst, const bool isLongOption, const QuantLib::Date &exerciseDate, const QuantLib::Date &settlementDate, const bool isPhysicalDelivery, const QuantLib::ext::shared_ptr< QuantLib::Instrument > &undInst, Barrier::Type barrierType, Handle< Quote > spot, Real rebate, const QuantLib::Currency ccy, const QuantLib::Date &startDate, const QuantLib::ext::shared_ptr< QuantLib::Index > &index, const QuantLib::Calendar &calendar, 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 >(), const std::optional< bool > &overrideTriggered=std::nullopt, const QuantLib::ext::shared_ptr< QuantLib::Index > &indexLows=nullptr, const QuantLib::ext::shared_ptr< QuantLib::Index > &indexHighs=nullptr, const int strictBarrier=0)
const std::map< std::string, QuantLib::ext::any > & additionalResults () const override
 Return the additional results of this instrument.
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 std::vector< QuantLib::Date > &settlementDate, 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.
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.
QuantLib::Real NPV () const override
 Return the NPV of this instrument.
Real multiplier2 () const override
const std::map< std::string, QuantLib::ext::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< QuantLib::ext::shared_ptr< QuantLib::Instrument > > & underlyingInstruments () const
 return the underlying instruments
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
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
Real cachedExerciseValue () const
Public Member Functions inherited from 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 >())
QuantLib::Real additionalInstrumentsNPV () const
QuantLib::ext::shared_ptr< QuantLib::Instrument > qlInstrument (const bool calculate=false) const
 Inspectors.
Real multiplier () 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.
std::size_t getNumberOfPricings () const
 Get number of pricings.
void resetPricingStats () const
 Reset pricing statistics.

Protected Member Functions

bool strikeAtBarrier (Real strike) const override
bool checkBarrier (Real spot) const
Protected Member Functions inherited from BarrierOptionWrapper
QuantLib::Real NPV () const override
 Return the NPV of this instrument.
Protected Member Functions inherited from InstrumentWrapper
Real getTimedNPV (const QuantLib::ext::shared_ptr< QuantLib::Instrument > &instr) const

Protected Attributes

Real barrier_
Protected Attributes inherited from BarrierOptionWrapper
Handle< Quote > spot_
Barrier::Type barrierType_
Real rebate_
const QuantLib::Currency ccy_
const QuantLib::Date startDate_
QuantLib::ext::shared_ptr< QuantLib::Index > index_
QuantLib::Calendar calendar_
std::optional< bool > overrideTriggered_
QuantLib::ext::shared_ptr< QuantLib::Index > indexLows_
QuantLib::ext::shared_ptr< QuantLib::Index > indexHighs_
int strictBarrier_
bool isLong_
bool isPhysicalDelivery_
std::vector< QuantLib::Date > contractExerciseDates_
std::vector< QuantLib::Date > effectiveExerciseDates_
std::vector< QuantLib::Date > settlementDates_
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_
QuantLib::Date settlementDate_
Real cachedNpv_
Real cachedExerciseValue_ = QuantLib::Null<Real>()
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

Member Function Documentation

◆ exercise()

bool exercise ( ) const
overridevirtual

Implements OptionWrapper.

◆ strikeAtBarrier()

bool strikeAtBarrier ( Real strike) const
overrideprotectedvirtual

Implements BarrierOptionWrapper.