QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.8
Public Member Functions | Protected Attributes | List of all members
MultiProductMultiStep Class Reference

Multiple-step market-model product. More...

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

+ Inheritance diagram for MultiProductMultiStep:

Public Member Functions

 MultiProductMultiStep (const std::vector< Time > &rateTimes)
 
MarketModelMultiProduct interface
std::vector< SizesuggestedNumeraires () const
 
const EvolutionDescriptionevolution () const
 
- Public Member Functions inherited from MarketModelMultiProduct
virtual std::vector< TimepossibleCashFlowTimes () const =0
 
virtual Size numberOfProducts () const =0
 
virtual Size maxNumberOfCashFlowsPerProductPerStep () const =0
 
virtual void reset ()=0
 during simulation put product at start of path
 
virtual bool nextTimeStep (const CurveState &currentState, 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< MarketModelMultiProductclone () const =0
 returns a newly-allocated copy of itself
 

Protected Attributes

std::vector< TimerateTimes_
 
EvolutionDescription evolution_
 

Detailed Description

Multiple-step market-model product.

This is the abstract base class that encapsulates the notion of a MarketModelMultiProduct which can be evaluated in a more than one step (aka Rebonato's long jump).