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

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

+ Inheritance diagram for MarketModelPathwiseCashRebate:
+ Collaboration diagram for MarketModelPathwiseCashRebate:

Public Member Functions

 MarketModelPathwiseCashRebate (EvolutionDescription evolution, const std::vector< Time > &paymentTimes, Matrix amounts, Size numberOfProducts)
 
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 alreadyDeflated () const override
 
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...
 
- 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...
 

Private Attributes

EvolutionDescription evolution_
 
std::vector< TimepaymentTimes_
 
Matrix amounts_
 
Size numberOfProducts_
 
Size currentIndex_
 

Detailed Description

Swap for doing simple cash rebate. Fairly useless when used directly, but if we want to look a breakable swap it becomes useful.

Definition at line 42 of file pathwiseproductcashrebate.hpp.

Constructor & Destructor Documentation

◆ MarketModelPathwiseCashRebate()

MarketModelPathwiseCashRebate ( EvolutionDescription  evolution,
const std::vector< Time > &  paymentTimes,
Matrix  amounts,
Size  numberOfProducts 
)

Definition at line 34 of file pathwiseproductcashrebate.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ suggestedNumeraires()

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

Implements MarketModelPathwiseMultiProduct.

Definition at line 78 of file pathwiseproductcashrebate.cpp.

◆ evolution()

const EvolutionDescription & evolution ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 83 of file pathwiseproductcashrebate.cpp.

◆ possibleCashFlowTimes()

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

Implements MarketModelPathwiseMultiProduct.

Definition at line 57 of file pathwiseproductcashrebate.cpp.

◆ numberOfProducts()

Size numberOfProducts ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 62 of file pathwiseproductcashrebate.cpp.

◆ maxNumberOfCashFlowsPerProductPerStep()

Size maxNumberOfCashFlowsPerProductPerStep ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 67 of file pathwiseproductcashrebate.cpp.

◆ reset()

void reset ( )
overridevirtual

during simulation put product at start of path

Implements MarketModelPathwiseMultiProduct.

Definition at line 72 of file pathwiseproductcashrebate.cpp.

◆ alreadyDeflated()

bool alreadyDeflated ( ) const
overridevirtual

Implements MarketModelPathwiseMultiProduct.

Definition at line 29 of file pathwiseproductcashrebate.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 89 of file pathwiseproductcashrebate.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 109 of file pathwiseproductcashrebate.cpp.

Member Data Documentation

◆ evolution_

EvolutionDescription evolution_
private

Definition at line 69 of file pathwiseproductcashrebate.hpp.

◆ paymentTimes_

std::vector<Time> paymentTimes_
private

Definition at line 70 of file pathwiseproductcashrebate.hpp.

◆ amounts_

Matrix amounts_
private

Definition at line 71 of file pathwiseproductcashrebate.hpp.

◆ numberOfProducts_

Size numberOfProducts_
private

Definition at line 72 of file pathwiseproductcashrebate.hpp.

◆ currentIndex_

Size currentIndex_
private

Definition at line 74 of file pathwiseproductcashrebate.hpp.