Composite Instrument Wrapper. More...
#include <ored/portfolio/compositeinstrumentwrapper.hpp>
Inheritance diagram for CompositeInstrumentWrapper:
Collaboration diagram for CompositeInstrumentWrapper:Public Member Functions | |
| CompositeInstrumentWrapper (const std::vector< QuantLib::ext::shared_ptr< InstrumentWrapper > > &wrappers, const std::vector< Handle< Quote > > &fxRates={}, const Date &valuationDate=Date()) | |
| 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... | |
| 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... | |
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... | |
Protected Attributes | |
| bool | isOption_ |
| std::vector< QuantLib::ext::shared_ptr< InstrumentWrapper > > | wrappers_ |
| std::vector< QuantLib::Handle< Quote > > | fxRates_ |
| Date | valuationDate_ |
| std::map< std::string, boost::any > | additionalResults_ |
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 |
Additional Inherited Members | |
Protected Member Functions inherited from InstrumentWrapper | |
| Real | getTimedNPV (const QuantLib::ext::shared_ptr< QuantLib::Instrument > &instr) const |
Composite Instrument Wrapper.
A Composite Instrument Wrapper will return the sum npv for all wrappers passed in. Notice that qlInstrument() will return a nullptr.
Definition at line 52 of file compositeinstrumentwrapper.hpp.
| CompositeInstrumentWrapper | ( | const std::vector< QuantLib::ext::shared_ptr< InstrumentWrapper > > & | wrappers, |
| const std::vector< Handle< Quote > > & | fxRates = {}, |
||
| const Date & | valuationDate = Date() |
||
| ) |
Definition at line 24 of file compositeinstrumentwrapper.cpp.
|
overridevirtual |
Initialise with the given date grid.
Implements InstrumentWrapper.
Definition at line 40 of file compositeinstrumentwrapper.cpp.
|
overridevirtual |
reset is called every time a new path is about to be priced.
For path dependent Wrappers, this is when internal state should be reset
Implements InstrumentWrapper.
Definition at line 45 of file compositeinstrumentwrapper.cpp.
|
overridevirtual |
Return the NPV of this instrument.
Implements InstrumentWrapper.
Definition at line 51 of file compositeinstrumentwrapper.cpp.
|
overridevirtual |
Return the additional results of this instrument.
Implements InstrumentWrapper.
Definition at line 68 of file compositeinstrumentwrapper.cpp.
|
overridevirtual |
call update on enclosed instrument(s)
Reimplemented from InstrumentWrapper.
Definition at line 76 of file compositeinstrumentwrapper.cpp.
|
overridevirtual |
is it an Option?
Reimplemented from InstrumentWrapper.
Definition at line 82 of file compositeinstrumentwrapper.cpp.
|
protected |
Definition at line 65 of file compositeinstrumentwrapper.hpp.
|
protected |
Definition at line 66 of file compositeinstrumentwrapper.hpp.
|
protected |
Definition at line 67 of file compositeinstrumentwrapper.hpp.
|
protected |
Definition at line 68 of file compositeinstrumentwrapper.hpp.
|
mutableprotected |
Definition at line 69 of file compositeinstrumentwrapper.hpp.