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

#include <ql/models/marketmodels/products/pathwise/pathwiseproductcallspecified.hpp>

+ Inheritance diagram for CallSpecifiedPathwiseMultiProduct:
+ Collaboration diagram for CallSpecifiedPathwiseMultiProduct:

Public Member Functions

 CallSpecifiedPathwiseMultiProduct (const Clone< MarketModelPathwiseMultiProduct > &underlying, const Clone< ExerciseStrategy< CurveState > > &, Clone< MarketModelPathwiseMultiProduct > rebate=Clone< MarketModelPathwiseMultiProduct >())
 
- Public Member Functions inherited from MarketModelPathwiseMultiProduct
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...
 

MarketModelPathwiseMultiProduct interface

Clone< MarketModelPathwiseMultiProductunderlying_
 
Clone< ExerciseStrategy< CurveState > > strategy_
 
Clone< MarketModelPathwiseMultiProductrebate_
 
EvolutionDescription evolution_
 
std::vector< std::valarray< bool > > isPresent_
 
std::vector< TimecashFlowTimes_
 
Size rebateOffset_ = 0UL
 
bool wasCalled_ = false
 
std::vector< SizedummyCashFlowsThisStep_
 
std::vector< std::vector< CashFlow > > dummyCashFlowsGenerated_
 
Size currentIndex_ = 0UL
 
bool callable_ = true
 
std::vector< SizesuggestedNumeraires () const override
 
const EvolutionDescriptionevolution () const override
 
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 &currentState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< MarketModelPathwiseMultiProduct::CashFlow > > &cashFlowsGenerated) override
 return value indicates whether path is finished, TRUE means done More...
 
std::unique_ptr< MarketModelPathwiseMultiProductclone () const override
 returns a newly-allocated copy of itself More...
 
bool alreadyDeflated () const override
 
const MarketModelPathwiseMultiProductunderlying () const
 
const ExerciseStrategy< CurveState > & strategy () const
 
const MarketModelPathwiseMultiProductrebate () const
 
void enableCallability ()
 
void disableCallability ()
 

Detailed Description

Examples
MarketModels.cpp.

Definition at line 39 of file pathwiseproductcallspecified.hpp.

Constructor & Destructor Documentation

◆ CallSpecifiedPathwiseMultiProduct()

Definition at line 28 of file pathwiseproductcallspecified.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ suggestedNumeraires()

std::vector< Size > suggestedNumeraires ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 86 of file pathwiseproductcallspecified.cpp.

◆ evolution()

const EvolutionDescription & evolution ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 90 of file pathwiseproductcallspecified.cpp.

◆ possibleCashFlowTimes()

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

Implements MarketModelPathwiseMultiProduct.

Definition at line 94 of file pathwiseproductcallspecified.cpp.

◆ numberOfProducts()

Size numberOfProducts ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 98 of file pathwiseproductcallspecified.cpp.

◆ maxNumberOfCashFlowsPerProductPerStep()

Size maxNumberOfCashFlowsPerProductPerStep ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 102 of file pathwiseproductcallspecified.cpp.

◆ reset()

void reset ( )
overridevirtual

during simulation put product at start of path

Implements MarketModelPathwiseMultiProduct.

Definition at line 107 of file pathwiseproductcallspecified.cpp.

◆ nextTimeStep()

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

return value indicates whether path is finished, TRUE means done

Implements MarketModelPathwiseMultiProduct.

Definition at line 116 of file pathwiseproductcallspecified.cpp.

+ Here is the call graph for this function:

◆ clone()

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

returns a newly-allocated copy of itself

Implements MarketModelPathwiseMultiProduct.

Definition at line 157 of file pathwiseproductcallspecified.cpp.

◆ alreadyDeflated()

bool alreadyDeflated ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 82 of file pathwiseproductcallspecified.cpp.

◆ underlying()

const MarketModelPathwiseMultiProduct & underlying ( ) const

Definition at line 161 of file pathwiseproductcallspecified.cpp.

+ Here is the caller graph for this function:

◆ strategy()

const ExerciseStrategy< CurveState > & strategy ( ) const

Definition at line 165 of file pathwiseproductcallspecified.cpp.

+ Here is the caller graph for this function:

◆ rebate()

const MarketModelPathwiseMultiProduct & rebate ( ) const

Definition at line 169 of file pathwiseproductcallspecified.cpp.

◆ enableCallability()

void enableCallability ( )

Definition at line 173 of file pathwiseproductcallspecified.cpp.

◆ disableCallability()

void disableCallability ( )

Definition at line 175 of file pathwiseproductcallspecified.cpp.

Member Data Documentation

◆ underlying_

Clone<MarketModelPathwiseMultiProduct> underlying_
private

Definition at line 71 of file pathwiseproductcallspecified.hpp.

◆ strategy_

Clone<ExerciseStrategy<CurveState> > strategy_
private

Definition at line 72 of file pathwiseproductcallspecified.hpp.

◆ rebate_

Definition at line 73 of file pathwiseproductcallspecified.hpp.

◆ evolution_

EvolutionDescription evolution_
private

Definition at line 74 of file pathwiseproductcallspecified.hpp.

◆ isPresent_

std::vector<std::valarray<bool> > isPresent_
private

Definition at line 75 of file pathwiseproductcallspecified.hpp.

◆ cashFlowTimes_

std::vector<Time> cashFlowTimes_
private

Definition at line 76 of file pathwiseproductcallspecified.hpp.

◆ rebateOffset_

Size rebateOffset_ = 0UL
private

Definition at line 77 of file pathwiseproductcallspecified.hpp.

◆ wasCalled_

bool wasCalled_ = false
private

Definition at line 78 of file pathwiseproductcallspecified.hpp.

◆ dummyCashFlowsThisStep_

std::vector<Size> dummyCashFlowsThisStep_
private

Definition at line 79 of file pathwiseproductcallspecified.hpp.

◆ dummyCashFlowsGenerated_

std::vector<std::vector<CashFlow> > dummyCashFlowsGenerated_
private

Definition at line 80 of file pathwiseproductcallspecified.hpp.

◆ currentIndex_

Size currentIndex_ = 0UL
private

Definition at line 81 of file pathwiseproductcallspecified.hpp.

◆ callable_

bool callable_ = true
private

Definition at line 82 of file pathwiseproductcallspecified.hpp.