QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
#include <multisteppathwisewrapper.hpp>
Public Member Functions | |
MultiProductPathwiseWrapper (const MarketModelPathwiseMultiProduct &innerProduct_) | |
std::vector< Time > | possibleCashFlowTimes () const override |
Size | numberOfProducts () const override |
Size | maxNumberOfCashFlowsPerProductPerStep () const override |
void | reset () override |
during simulation put product at start of path More... | |
bool | nextTimeStep (const CurveState ¤tState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< CashFlow > > &cashFlowsGenerated) override |
return value indicates whether path is finished, TRUE means done More... | |
std::unique_ptr< MarketModelMultiProduct > | clone () const override |
returns a newly-allocated copy of itself More... | |
std::vector< Size > | suggestedNumeraires () const override |
const EvolutionDescription & | evolution () const override |
Public Member Functions inherited from MarketModelMultiProduct | |
virtual | ~MarketModelMultiProduct ()=default |
virtual std::vector< Size > | suggestedNumeraires () const =0 |
virtual const EvolutionDescription & | evolution () const =0 |
virtual std::vector< Time > | possibleCashFlowTimes () const =0 |
virtual Size | numberOfProducts () const =0 |
virtual Size | maxNumberOfCashFlowsPerProductPerStep () const =0 |
virtual void | reset ()=0 |
during simulation put product at start of path More... | |
virtual bool | nextTimeStep (const CurveState ¤tState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< CashFlow > > &cashFlowsGenerated)=0 |
return value indicates whether path is finished, TRUE means done More... | |
virtual std::unique_ptr< MarketModelMultiProduct > | clone () const =0 |
returns a newly-allocated copy of itself More... | |
Private Attributes | |
Clone< MarketModelPathwiseMultiProduct > | innerProduct_ |
std::vector< std::vector< MarketModelPathwiseMultiProduct::CashFlow > > | cashFlowsGenerated_ |
Size | numberOfProducts_ |
MultiStepPathwiseWrapper Pathwise products do everything that ordinary products do and more. This lets you treat a pathwise product as an ordinary product. So you only have to write the product once.
Tested in MarketModels::testInverseFloater()
Definition at line 39 of file multisteppathwisewrapper.hpp.
MultiProductPathwiseWrapper | ( | const MarketModelPathwiseMultiProduct & | innerProduct_ | ) |
Definition at line 27 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
Implements MarketModelMultiProduct.
Definition at line 37 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
Implements MarketModelMultiProduct.
Definition at line 42 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
Implements MarketModelMultiProduct.
Definition at line 47 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
during simulation put product at start of path
Implements MarketModelMultiProduct.
Definition at line 52 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
return value indicates whether path is finished, TRUE means done
Implements MarketModelMultiProduct.
Definition at line 57 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
returns a newly-allocated copy of itself
Implements MarketModelMultiProduct.
Definition at line 87 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
Implements MarketModelMultiProduct.
Definition at line 76 of file multisteppathwisewrapper.cpp.
|
overridevirtual |
Implements MarketModelMultiProduct.
Definition at line 81 of file multisteppathwisewrapper.cpp.
|
private |
Definition at line 55 of file multisteppathwisewrapper.hpp.
|
private |
Definition at line 56 of file multisteppathwisewrapper.hpp.
|
private |
Definition at line 57 of file multisteppathwisewrapper.hpp.