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
MultiStepRatchet Class Reference

#include <multistepratchet.hpp>

+ Inheritance diagram for MultiStepRatchet:
+ Collaboration diagram for MultiStepRatchet:

Public Member Functions

 MultiStepRatchet (const std::vector< Time > &rateTimes, std::vector< Real > accruals, const std::vector< Time > &paymentTimes, Real gearingOfFloor, Real gearingOfFixing, Rate spreadOfFloor, Rate spreadOfFixing, Real initialFloor, bool payer=true)
 
- 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

std::vector< Realaccruals_
 
std::vector< TimepaymentTimes_
 
Real gearingOfFloor_
 
Real gearingOfFixing_
 
Rate spreadOfFloor_
 
Rate spreadOfFixing_
 
Real multiplier_
 
Size lastIndex_
 
Real initialFloor_
 
Real floor_
 
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 &currentState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< CashFlow > > &cashFlowsGenerated) 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

Definition at line 27 of file multistepratchet.hpp.

Constructor & Destructor Documentation

◆ MultiStepRatchet()

MultiStepRatchet ( const std::vector< Time > &  rateTimes,
std::vector< Real accruals,
const std::vector< Time > &  paymentTimes,
Real  gearingOfFloor,
Real  gearingOfFixing,
Rate  spreadOfFloor,
Rate  spreadOfFixing,
Real  initialFloor,
bool  payer = true 
)

Definition at line 28 of file multistepratchet.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ possibleCashFlowTimes()

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

Implements MarketModelMultiProduct.

Definition at line 66 of file multistepratchet.hpp.

◆ numberOfProducts()

Size numberOfProducts ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 70 of file multistepratchet.hpp.

◆ maxNumberOfCashFlowsPerProductPerStep()

Size maxNumberOfCashFlowsPerProductPerStep ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 75 of file multistepratchet.hpp.

◆ reset()

void reset ( )
overridevirtual

during simulation put product at start of path

Implements MarketModelMultiProduct.

Definition at line 79 of file multistepratchet.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 45 of file multistepratchet.cpp.

+ Here is the call graph for this function:

◆ clone()

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

returns a newly-allocated copy of itself

Implements MarketModelMultiProduct.

Definition at line 69 of file multistepratchet.cpp.

Member Data Documentation

◆ accruals_

std::vector<Real> accruals_
private

Definition at line 50 of file multistepratchet.hpp.

◆ paymentTimes_

std::vector<Time> paymentTimes_
private

Definition at line 51 of file multistepratchet.hpp.

◆ gearingOfFloor_

Real gearingOfFloor_
private

Definition at line 52 of file multistepratchet.hpp.

◆ gearingOfFixing_

Real gearingOfFixing_
private

Definition at line 52 of file multistepratchet.hpp.

◆ spreadOfFloor_

Rate spreadOfFloor_
private

Definition at line 53 of file multistepratchet.hpp.

◆ spreadOfFixing_

Rate spreadOfFixing_
private

Definition at line 53 of file multistepratchet.hpp.

◆ multiplier_

Real multiplier_
private

Definition at line 54 of file multistepratchet.hpp.

◆ lastIndex_

Size lastIndex_
private

Definition at line 55 of file multistepratchet.hpp.

◆ initialFloor_

Real initialFloor_
private

Definition at line 56 of file multistepratchet.hpp.

◆ floor_

Real floor_
private

Definition at line 58 of file multistepratchet.hpp.

◆ currentIndex_

Size currentIndex_
private

Definition at line 59 of file multistepratchet.hpp.