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

Euler. More...

#include <lognormalfwdrateeuler.hpp>

+ Inheritance diagram for LogNormalFwdRateEuler:
+ Collaboration diagram for LogNormalFwdRateEuler:

Public Member Functions

 LogNormalFwdRateEuler (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 CurveStatecurrentState () const =0
 
virtual void setInitialState (const CurveState &)=0
 

MarketModel interface

ext::shared_ptr< MarketModelmarketModel_
 
std::vector< Sizenumeraires_
 
Size initialStep_
 
ext::shared_ptr< BrownianGeneratorgenerator_
 
std::vector< std::vector< Real > > fixedDrifts_
 
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< RealinitialDrifts_
 
std::vector< Realbrownians_
 
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
 
const std::vector< Real > & browniansThisStep () const
 accessor methods useful for doing pathwise vegas More...
 
void setForwards (const std::vector< Real > &forwards)
 

Detailed Description

Euler.

Examples
MarketModels.cpp.

Definition at line 35 of file lognormalfwdrateeuler.hpp.

Constructor & Destructor Documentation

◆ LogNormalFwdRateEuler()

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

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

+ Here is the caller graph for this function:

◆ startNewPath()

Real startNewPath ( )
overridevirtual

Implements MarketModelEvolver.

Definition at line 92 of file lognormalfwdrateeuler.cpp.

◆ advanceStep()

Real advanceStep ( )
overridevirtual

Implements MarketModelEvolver.

Definition at line 99 of file lognormalfwdrateeuler.cpp.

+ Here is the call graph for this function:

◆ currentStep()

Size currentStep ( ) const
overridevirtual

Implements MarketModelEvolver.

Definition at line 135 of file lognormalfwdrateeuler.cpp.

◆ currentState()

const CurveState & currentState ( ) const
overridevirtual

Implements MarketModelEvolver.

Definition at line 139 of file lognormalfwdrateeuler.cpp.

◆ setInitialState()

void setInitialState ( const CurveState cs)
overridevirtual

Implements MarketModelEvolver.

Definition at line 88 of file lognormalfwdrateeuler.cpp.

+ Here is the call graph for this function:

◆ browniansThisStep()

const std::vector< Real > & browniansThisStep ( ) const

accessor methods useful for doing pathwise vegas

Definition at line 52 of file lognormalfwdrateeuler.hpp.

◆ setForwards()

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

Definition at line 78 of file lognormalfwdrateeuler.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ marketModel_

ext::shared_ptr<MarketModel> marketModel_
private

Definition at line 62 of file lognormalfwdrateeuler.hpp.

◆ numeraires_

std::vector<Size> numeraires_
private

Definition at line 63 of file lognormalfwdrateeuler.hpp.

◆ initialStep_

Size initialStep_
private

Definition at line 64 of file lognormalfwdrateeuler.hpp.

◆ generator_

ext::shared_ptr<BrownianGenerator> generator_
private

Definition at line 65 of file lognormalfwdrateeuler.hpp.

◆ fixedDrifts_

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

Definition at line 67 of file lognormalfwdrateeuler.hpp.

◆ numberOfRates_

Size numberOfRates_
private

Definition at line 69 of file lognormalfwdrateeuler.hpp.

◆ numberOfFactors_

Size numberOfFactors_
private

Definition at line 69 of file lognormalfwdrateeuler.hpp.

◆ curveState_

LMMCurveState curveState_
private

Definition at line 70 of file lognormalfwdrateeuler.hpp.

◆ currentStep_

Size currentStep_
private

Definition at line 71 of file lognormalfwdrateeuler.hpp.

◆ forwards_

std::vector<Rate> forwards_
private

Definition at line 72 of file lognormalfwdrateeuler.hpp.

◆ displacements_

std::vector<Rate> displacements_
private

Definition at line 72 of file lognormalfwdrateeuler.hpp.

◆ logForwards_

std::vector<Rate> logForwards_
private

Definition at line 72 of file lognormalfwdrateeuler.hpp.

◆ initialLogForwards_

std::vector<Rate> initialLogForwards_
private

Definition at line 72 of file lognormalfwdrateeuler.hpp.

◆ drifts1_

std::vector<Real> drifts1_
private

Definition at line 73 of file lognormalfwdrateeuler.hpp.

◆ initialDrifts_

std::vector<Real> initialDrifts_
private

Definition at line 73 of file lognormalfwdrateeuler.hpp.

◆ brownians_

std::vector<Real> brownians_
private

Definition at line 74 of file lognormalfwdrateeuler.hpp.

◆ correlatedBrownians_

std::vector<Real> correlatedBrownians_
private

Definition at line 74 of file lognormalfwdrateeuler.hpp.

◆ alive_

std::vector<Size> alive_
private

Definition at line 75 of file lognormalfwdrateeuler.hpp.

◆ calculators_

std::vector<LMMDriftCalculator> calculators_
private

Definition at line 77 of file lognormalfwdrateeuler.hpp.