Composition of two or more market-model products. More...
#include <ql/models/marketmodels/products/compositeproduct.hpp>
Public Member Functions | |
MarketModelMultiProduct interface | |
const EvolutionDescription & | evolution () const |
std::vector< Size > | suggestedNumeraires () const |
std::vector< Time > | possibleCashFlowTimes () const |
void | reset () |
during simulation put product at start of path | |
Composite facilities | |
void | add (const Clone< MarketModelMultiProduct > &, Real multiplier=1.0) |
void | subtract (const Clone< MarketModelMultiProduct > &, Real multiplier=1.0) |
void | finalize () |
Size | size () const |
const MarketModelMultiProduct & | item (Size i) const |
MarketModelMultiProduct & | item (Size i) |
Real | multiplier (Size i) const |
![]() | |
virtual Size | numberOfProducts () const =0 |
virtual Size | maxNumberOfCashFlowsPerProductPerStep () const =0 |
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 | |
virtual std::auto_ptr < MarketModelMultiProduct > | clone () const =0 |
returns a newly-allocated copy of itself | |
Protected Types | |
typedef std::vector < SubProduct >::iterator | iterator |
typedef std::vector < SubProduct >::const_iterator | const_iterator |
Protected Attributes | |
std::vector< SubProduct > | components_ |
std::vector< Time > | rateTimes_ |
std::vector< Time > | evolutionTimes_ |
EvolutionDescription | evolution_ |
bool | finalized_ |
Size | currentIndex_ |
std::vector< Time > | cashflowTimes_ |
std::vector< std::vector< Time > > | allEvolutionTimes_ |
std::vector< std::valarray < bool > > | isInSubset_ |
Composition of two or more market-model products.
Instances of this class build a market-model product by composing one or more subproducts.