QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | List of all members
MultiStepNothing Class Reference

#include <multistepnothing.hpp>

+ Inheritance diagram for MultiStepNothing:
+ Collaboration diagram for MultiStepNothing:

Public Member Functions

 MultiStepNothing (const EvolutionDescription &evolution, Size numberOfProducts=1, Size doneIndex=0)
 
- Public Member Functions inherited from MultiProductMultiStep
 MultiProductMultiStep (std::vector< Time > rateTimes)
 
std::vector< SizesuggestedNumeraires () const override
 
const EvolutionDescriptionevolution () const override
 
- Public Member Functions inherited from MarketModelMultiProduct
virtual ~MarketModelMultiProduct ()=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 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< CashFlow > > &cashFlowsGenerated)=0
 return value indicates whether path is finished, TRUE means done More...
 
virtual std::unique_ptr< MarketModelMultiProductclone () const =0
 returns a newly-allocated copy of itself More...
 

MarketModelMultiProduct interface

Size numberOfProducts_
 
Size doneIndex_
 
Size currentIndex_
 
std::vector< TimepossibleCashFlowTimes () 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 &, std::vector< Size > &, std::vector< std::vector< CashFlow > > &) override
 return value indicates whether path is finished, TRUE means done More...
 
std::unique_ptr< MarketModelMultiProductclone () const override
 returns a newly-allocated copy of itself More...
 

Additional Inherited Members

- Protected Attributes inherited from MultiProductMultiStep
std::vector< TimerateTimes_
 
EvolutionDescription evolution_
 

Detailed Description

Examples
MarketModels.cpp.

Definition at line 28 of file multistepnothing.hpp.

Constructor & Destructor Documentation

◆ MultiStepNothing()

MultiStepNothing ( const EvolutionDescription evolution,
Size  numberOfProducts = 1,
Size  doneIndex = 0 
)

Definition at line 24 of file multistepnothing.cpp.

Member Function Documentation

◆ possibleCashFlowTimes()

std::vector< Time > possibleCashFlowTimes ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 53 of file multistepnothing.hpp.

◆ numberOfProducts()

Size numberOfProducts ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 57 of file multistepnothing.hpp.

◆ maxNumberOfCashFlowsPerProductPerStep()

Size maxNumberOfCashFlowsPerProductPerStep ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 62 of file multistepnothing.hpp.

◆ reset()

void reset ( )
overridevirtual

during simulation put product at start of path

Implements MarketModelMultiProduct.

Definition at line 66 of file multistepnothing.hpp.

◆ nextTimeStep()

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

return value indicates whether path is finished, TRUE means done

Implements MarketModelMultiProduct.

Definition at line 30 of file multistepnothing.cpp.

◆ clone()

std::unique_ptr< MarketModelMultiProduct > clone ( ) const
overridevirtual

returns a newly-allocated copy of itself

Implements MarketModelMultiProduct.

Definition at line 42 of file multistepnothing.cpp.

Member Data Documentation

◆ numberOfProducts_

Size numberOfProducts_
private

Definition at line 45 of file multistepnothing.hpp.

◆ doneIndex_

Size doneIndex_
private

Definition at line 45 of file multistepnothing.hpp.

◆ currentIndex_

Size currentIndex_
private

Definition at line 47 of file multistepnothing.hpp.