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

Predictor-Corrector. More...

#include <lognormalfwdratepc.hpp>

+ Inheritance diagram for LogNormalFwdRatePc:
+ Collaboration diagram for LogNormalFwdRatePc:

Public Member Functions

 LogNormalFwdRatePc (const ext::shared_ptr< MarketModel > &, const BrownianGeneratorFactory &, 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 CurveState & currentState () const =0
 
virtual void setInitialState (const CurveState &)=0
 

MarketModel interface

ext::shared_ptr< MarketModel > marketModel_
 
std::vector< Size > numeraires_
 
Size initialStep_
 
ext::shared_ptr< BrownianGenerator > generator_
 
std::vector< std::vector< Real > > fixedDrifts_
 
Size numberOfRates_
 
Size numberOfFactors_
 
LMMCurveState curveState_
 
Size currentStep_
 
std::vector< Rate > forwards_
 
std::vector< Rate > displacements_
 
std::vector< Rate > logForwards_
 
std::vector< Rate > initialLogForwards_
 
std::vector< Real > drifts1_
 
std::vector< Real > drifts2_
 
std::vector< Real > initialDrifts_
 
std::vector< Real > brownians_
 
std::vector< Real > correlatedBrownians_
 
std::vector< Size > alive_
 
std::vector< LMMDriftCalculator > calculators_
 
const std::vector< Size > & numeraires () const override
 
Real startNewPath () override
 
Real advanceStep () override
 
Size currentStep () const override
 
const CurveState & currentState () const override
 
void setInitialState (const CurveState &) override
 
void setForwards (const std::vector< Real > &forwards)
 

Detailed Description

Predictor-Corrector.

Examples
MarketModels.cpp.

Definition at line 35 of file lognormalfwdratepc.hpp.

Constructor & Destructor Documentation

◆ LogNormalFwdRatePc()

LogNormalFwdRatePc ( const ext::shared_ptr< MarketModel > &  marketModel,
const BrownianGeneratorFactory &  factory,
const std::vector< Size > &  numeraires,
Size  initialStep = 0 
)

Definition at line 29 of file lognormalfwdratepc.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 75 of file lognormalfwdratepc.cpp.

+ Here is the caller graph for this function:

◆ startNewPath()

Real startNewPath ( )
overridevirtual

Implements MarketModelEvolver.

Definition at line 93 of file lognormalfwdratepc.cpp.

◆ advanceStep()

Real advanceStep ( )
overridevirtual

Implements MarketModelEvolver.

Definition at line 100 of file lognormalfwdratepc.cpp.

+ Here is the call graph for this function:

◆ currentStep()

Size currentStep ( ) const
overridevirtual

Implements MarketModelEvolver.

Definition at line 143 of file lognormalfwdratepc.cpp.

◆ currentState()

const CurveState & currentState ( ) const
overridevirtual

Implements MarketModelEvolver.

Definition at line 147 of file lognormalfwdratepc.cpp.

◆ setInitialState()

void setInitialState ( const CurveState &  cs)
overridevirtual

Implements MarketModelEvolver.

Definition at line 89 of file lognormalfwdratepc.cpp.

+ Here is the call graph for this function:

◆ setForwards()

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

Definition at line 79 of file lognormalfwdratepc.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ marketModel_

ext::shared_ptr<MarketModel> marketModel_
private

Definition at line 53 of file lognormalfwdratepc.hpp.

◆ numeraires_

std::vector<Size> numeraires_
private

Definition at line 54 of file lognormalfwdratepc.hpp.

◆ initialStep_

Size initialStep_
private

Definition at line 55 of file lognormalfwdratepc.hpp.

◆ generator_

ext::shared_ptr<BrownianGenerator> generator_
private

Definition at line 56 of file lognormalfwdratepc.hpp.

◆ fixedDrifts_

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

Definition at line 58 of file lognormalfwdratepc.hpp.

◆ numberOfRates_

Size numberOfRates_
private

Definition at line 60 of file lognormalfwdratepc.hpp.

◆ numberOfFactors_

Size numberOfFactors_
private

Definition at line 60 of file lognormalfwdratepc.hpp.

◆ curveState_

LMMCurveState curveState_
private

Definition at line 61 of file lognormalfwdratepc.hpp.

◆ currentStep_

Size currentStep_
private

Definition at line 62 of file lognormalfwdratepc.hpp.

◆ forwards_

std::vector<Rate> forwards_
private

Definition at line 63 of file lognormalfwdratepc.hpp.

◆ displacements_

std::vector<Rate> displacements_
private

Definition at line 63 of file lognormalfwdratepc.hpp.

◆ logForwards_

std::vector<Rate> logForwards_
private

Definition at line 63 of file lognormalfwdratepc.hpp.

◆ initialLogForwards_

std::vector<Rate> initialLogForwards_
private

Definition at line 63 of file lognormalfwdratepc.hpp.

◆ drifts1_

std::vector<Real> drifts1_
private

Definition at line 64 of file lognormalfwdratepc.hpp.

◆ drifts2_

std::vector<Real> drifts2_
private

Definition at line 64 of file lognormalfwdratepc.hpp.

◆ initialDrifts_

std::vector<Real> initialDrifts_
private

Definition at line 64 of file lognormalfwdratepc.hpp.

◆ brownians_

std::vector<Real> brownians_
private

Definition at line 65 of file lognormalfwdratepc.hpp.

◆ correlatedBrownians_

std::vector<Real> correlatedBrownians_
private

Definition at line 65 of file lognormalfwdratepc.hpp.

◆ alive_

std::vector<Size> alive_
private

Definition at line 66 of file lognormalfwdratepc.hpp.

◆ calculators_

std::vector<LMMDriftCalculator> calculators_
private

Definition at line 68 of file lognormalfwdratepc.hpp.