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

#include <ql/models/marketmodels/evolvers/svddfwdratepc.hpp>

+ Inheritance diagram for SVDDFwdRatePc:
+ Collaboration diagram for SVDDFwdRatePc:

Public Member Functions

 SVDDFwdRatePc (const ext::shared_ptr< MarketModel > &, const BrownianGeneratorFactory &, const ext::shared_ptr< MarketModelVolProcess > &volProcess, Size firstVolatilityFactor, Size volatilityFactorStep, const std::vector< Size > &numeraires, Size initialStep=0)
 
- Public Member Functions inherited from MarketModelEvolver
virtual ~MarketModelEvolver ()=default
 
virtual const std::vector< Size > & numeraires () const =0
 
virtual Real startNewPath ()=0
 
virtual Real advanceStep ()=0
 
virtual Size currentStep () const =0
 
virtual const CurveStatecurrentState () const =0
 
virtual void setInitialState (const CurveState &)=0
 

MarketModel interface

ext::shared_ptr< MarketModelmarketModel_
 
ext::shared_ptr< BrownianGeneratorgenerator_
 
ext::shared_ptr< MarketModelVolProcessvolProcess_
 
Size firstVolatilityFactor_
 
Size volFactorsPerStep_
 
std::vector< Sizenumeraires_
 
Size initialStep_
 
std::vector< std::vector< Real > > fixedDrifts_
 
std::valarray< boolisVolVariate_
 
Size numberOfRates_
 
Size numberOfFactors_
 
LMMCurveState curveState_
 
Size currentStep_
 
std::vector< Rateforwards_
 
std::vector< Ratedisplacements_
 
std::vector< RatelogForwards_
 
std::vector< RateinitialLogForwards_
 
std::vector< Realdrifts1_
 
std::vector< Realdrifts2_
 
std::vector< RealinitialDrifts_
 
std::vector< RealallBrownians_
 
std::vector< Realbrownians_
 
std::vector< RealvolBrownians_
 
std::vector< RealcorrelatedBrownians_
 
std::vector< Sizealive_
 
std::vector< LMMDriftCalculatorcalculators_
 
const std::vector< Size > & numeraires () const override
 
Real startNewPath () override
 
Real advanceStep () override
 
Size currentStep () const override
 
const CurveStatecurrentState () const override
 
void setInitialState (const CurveState &) override
 
void setForwards (const std::vector< Real > &forwards)
 

Detailed Description

Displaced diffusion LMM with uncorrelated vol process. Called "Shifted BGM" with Heston vol by Brac in "Engineering BGM." Vol process is an external input.

Definition at line 40 of file svddfwdratepc.hpp.

Constructor & Destructor Documentation

◆ SVDDFwdRatePc()

SVDDFwdRatePc ( const ext::shared_ptr< MarketModel > &  marketModel,
const BrownianGeneratorFactory factory,
const ext::shared_ptr< MarketModelVolProcess > &  volProcess,
Size  firstVolatilityFactor,
Size  volatilityFactorStep,
const std::vector< Size > &  numeraires,
Size  initialStep = 0 
)

Definition at line 29 of file svddfwdratepc.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ numeraires()

const std::vector< Size > & numeraires ( ) const
overridevirtual

Implements MarketModelEvolver.

Definition at line 95 of file svddfwdratepc.cpp.

+ Here is the caller graph for this function:

◆ startNewPath()

Real startNewPath ( )
overridevirtual

Implements MarketModelEvolver.

Definition at line 114 of file svddfwdratepc.cpp.

◆ advanceStep()

Real advanceStep ( )
overridevirtual

Implements MarketModelEvolver.

Definition at line 123 of file svddfwdratepc.cpp.

+ Here is the call graph for this function:

◆ currentStep()

Size currentStep ( ) const
overridevirtual

Implements MarketModelEvolver.

Definition at line 191 of file svddfwdratepc.cpp.

◆ currentState()

const CurveState & currentState ( ) const
overridevirtual

Implements MarketModelEvolver.

Definition at line 195 of file svddfwdratepc.cpp.

◆ setInitialState()

void setInitialState ( const CurveState cs)
overridevirtual

Implements MarketModelEvolver.

Definition at line 109 of file svddfwdratepc.cpp.

+ Here is the call graph for this function:

◆ setForwards()

void setForwards ( const std::vector< Real > &  forwards)
private

Definition at line 99 of file svddfwdratepc.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ marketModel_

ext::shared_ptr<MarketModel> marketModel_
private

Definition at line 63 of file svddfwdratepc.hpp.

◆ generator_

ext::shared_ptr<BrownianGenerator> generator_
private

Definition at line 64 of file svddfwdratepc.hpp.

◆ volProcess_

ext::shared_ptr<MarketModelVolProcess> volProcess_
private

Definition at line 65 of file svddfwdratepc.hpp.

◆ firstVolatilityFactor_

Size firstVolatilityFactor_
private

Definition at line 67 of file svddfwdratepc.hpp.

◆ volFactorsPerStep_

Size volFactorsPerStep_
private

Definition at line 68 of file svddfwdratepc.hpp.

◆ numeraires_

std::vector<Size> numeraires_
private

Definition at line 70 of file svddfwdratepc.hpp.

◆ initialStep_

Size initialStep_
private

Definition at line 71 of file svddfwdratepc.hpp.

◆ fixedDrifts_

std::vector<std::vector<Real> > fixedDrifts_
private

Definition at line 75 of file svddfwdratepc.hpp.

◆ isVolVariate_

std::valarray<bool> isVolVariate_
private

Definition at line 76 of file svddfwdratepc.hpp.

◆ numberOfRates_

Size numberOfRates_
private

Definition at line 78 of file svddfwdratepc.hpp.

◆ numberOfFactors_

Size numberOfFactors_
private

Definition at line 78 of file svddfwdratepc.hpp.

◆ curveState_

LMMCurveState curveState_
private

Definition at line 79 of file svddfwdratepc.hpp.

◆ currentStep_

Size currentStep_
private

Definition at line 80 of file svddfwdratepc.hpp.

◆ forwards_

std::vector<Rate> forwards_
private

Definition at line 81 of file svddfwdratepc.hpp.

◆ displacements_

std::vector<Rate> displacements_
private

Definition at line 81 of file svddfwdratepc.hpp.

◆ logForwards_

std::vector<Rate> logForwards_
private

Definition at line 81 of file svddfwdratepc.hpp.

◆ initialLogForwards_

std::vector<Rate> initialLogForwards_
private

Definition at line 81 of file svddfwdratepc.hpp.

◆ drifts1_

std::vector<Real> drifts1_
private

Definition at line 82 of file svddfwdratepc.hpp.

◆ drifts2_

std::vector<Real> drifts2_
private

Definition at line 82 of file svddfwdratepc.hpp.

◆ initialDrifts_

std::vector<Real> initialDrifts_
private

Definition at line 82 of file svddfwdratepc.hpp.

◆ allBrownians_

std::vector<Real> allBrownians_
private

Definition at line 83 of file svddfwdratepc.hpp.

◆ brownians_

std::vector<Real> brownians_
private

Definition at line 83 of file svddfwdratepc.hpp.

◆ volBrownians_

std::vector<Real> volBrownians_
private

Definition at line 83 of file svddfwdratepc.hpp.

◆ correlatedBrownians_

std::vector<Real> correlatedBrownians_
private

Definition at line 83 of file svddfwdratepc.hpp.

◆ alive_

std::vector<Size> alive_
private

Definition at line 84 of file svddfwdratepc.hpp.

◆ calculators_

std::vector<LMMDriftCalculator> calculators_
private

Definition at line 86 of file svddfwdratepc.hpp.