QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
MarketModelPathwiseMultiProduct Class Referenceabstract

market-model pathwise product More...

#include <ql/models/marketmodels/pathwisemultiproduct.hpp>

+ Inheritance diagram for MarketModelPathwiseMultiProduct:
+ Collaboration diagram for MarketModelPathwiseMultiProduct:

Classes

struct  CashFlow
 

Public Member Functions

virtual ~MarketModelPathwiseMultiProduct ()=default
 
virtual std::vector< SizesuggestedNumeraires () const =0
 
virtual const EvolutionDescriptionevolution () const =0
 
virtual std::vector< TimepossibleCashFlowTimes () const =0
 
virtual Size numberOfProducts () const =0
 
virtual Size maxNumberOfCashFlowsPerProductPerStep () const =0
 
virtual bool alreadyDeflated () const =0
 
virtual void reset ()=0
 during simulation put product at start of path More...
 
virtual bool nextTimeStep (const CurveState &currentState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< MarketModelPathwiseMultiProduct::CashFlow > > &cashFlowsGenerated)=0
 return value indicates whether path is finished, TRUE means done More...
 
virtual std::unique_ptr< MarketModelPathwiseMultiProductclone () const =0
 returns a newly-allocated copy of itself More...
 

Detailed Description

market-model pathwise product

This is the abstract base class that encapsulates the notion of a product: it contains the information that would be in the termsheet of the product.

It's useful to have it be able to do several products simultaneously. The products would have to have the same underlying rate times of course. The class is therefore really encapsulating the notion of a multi-product.

For each time evolved to, it generates the cash flows associated to that time for the state of the yield curve. If one was doing a callable product then this would encompass the product and its exercise strategy.

This class differs from market-model multi-product in that it also returns the derivative of the pay-off with respect to each forward rate

Definition at line 53 of file pathwisemultiproduct.hpp.

Constructor & Destructor Documentation

◆ ~MarketModelPathwiseMultiProduct()

virtual ~MarketModelPathwiseMultiProduct ( )
virtualdefault

Member Function Documentation

◆ suggestedNumeraires()

virtual std::vector< Size > suggestedNumeraires ( ) const
pure virtual

◆ evolution()

virtual const EvolutionDescription & evolution ( ) const
pure virtual

◆ possibleCashFlowTimes()

virtual std::vector< Time > possibleCashFlowTimes ( ) const
pure virtual

◆ numberOfProducts()

virtual Size numberOfProducts ( ) const
pure virtual

◆ maxNumberOfCashFlowsPerProductPerStep()

virtual Size maxNumberOfCashFlowsPerProductPerStep ( ) const
pure virtual

◆ alreadyDeflated()

virtual bool alreadyDeflated ( ) const
pure virtual

◆ reset()

virtual void reset ( )
pure virtual

◆ nextTimeStep()

virtual bool nextTimeStep ( const CurveState currentState,
std::vector< Size > &  numberCashFlowsThisStep,
std::vector< std::vector< MarketModelPathwiseMultiProduct::CashFlow > > &  cashFlowsGenerated 
)
pure virtual

◆ clone()

virtual std::unique_ptr< MarketModelPathwiseMultiProduct > clone ( ) const
pure virtual