MarketModelComposite Class Reference

#include <ql/models/marketmodels/products/compositeproduct.hpp>

Inheritance diagram for MarketModelComposite:

Inheritance graph
[legend]
List of all members.

Detailed Description

Composition of two or more market-model products.

Instances of this class build a market-model product by composing one or more subproducts.

Precondition:
All subproducts must have the same rate times.


Public Member Functions

MarketModelMultiProduct interface
const EvolutionDescriptionevolution () 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 MarketModelMultiProductitem (Size i) const
MarketModelMultiProductitem (Size i)
Real multiplier (Size i) const

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::vector<
bool > > 
isInSubset_