QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
NormalCLVModel Class Reference

#include <normalclvmodel.hpp>

+ Inheritance diagram for NormalCLVModel:
+ Collaboration diagram for NormalCLVModel:

Classes

class  MappingFunction
 

Public Member Functions

 NormalCLVModel (const ext::shared_ptr< GeneralizedBlackScholesProcess > &bsProcess, ext::shared_ptr< OrnsteinUhlenbeckProcess > ouProcess, const std::vector< Date > &maturityDates, Size lagrangeOrder, Real pMax=Null< Real >(), Real pMin=Null< Real >())
 
Real cdf (const Date &d, Real x) const
 
Real invCDF (const Date &d, Real q) const
 
Array collocationPointsX (const Date &d) const
 
Array collocationPointsY (const Date &d) const
 
ext::function< Real(Time, Real)> g () const
 
- Public Member Functions inherited from LazyObject
 LazyObject ()
 
 ~LazyObject () override=default
 
void update () override
 
bool isCalculated () const
 
void forwardFirstNotificationOnly ()
 
void alwaysForwardNotifications ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 

Protected Member Functions

void performCalculations () const override
 
- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 

Private Attributes

const Array x_
 
const Volatility sigma_
 
const ext::shared_ptr< GeneralizedBlackScholesProcessbsProcess_
 
const ext::shared_ptr< OrnsteinUhlenbeckProcessouProcess_
 
const std::vector< DatematurityDates_
 
const ext::shared_ptr< GBSMRNDCalculatorrndCalculator_
 
std::vector< TimematurityTimes_
 
ext::function< Real(Time, Real)> g_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Attributes inherited from LazyObject
bool calculated_ = false
 
bool frozen_ = false
 
bool alwaysForward_
 

Detailed Description

Definition at line 48 of file normalclvmodel.hpp.

Constructor & Destructor Documentation

◆ NormalCLVModel()

NormalCLVModel ( const ext::shared_ptr< GeneralizedBlackScholesProcess > &  bsProcess,
ext::shared_ptr< OrnsteinUhlenbeckProcess ouProcess,
const std::vector< Date > &  maturityDates,
Size  lagrangeOrder,
Real  pMax = Null<Real>(),
Real  pMin = Null<Real>() 
)

Definition at line 39 of file normalclvmodel.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ cdf()

Real cdf ( const Date d,
Real  x 
) const

Definition at line 63 of file normalclvmodel.cpp.

◆ invCDF()

Real invCDF ( const Date d,
Real  q 
) const

Definition at line 68 of file normalclvmodel.cpp.

+ Here is the caller graph for this function:

◆ collocationPointsX()

Array collocationPointsX ( const Date d) const

Definition at line 72 of file normalclvmodel.cpp.

◆ collocationPointsY()

Array collocationPointsY ( const Date d) const

Definition at line 83 of file normalclvmodel.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ g()

ext::function< Real(Time, Real)> g ( ) const

Definition at line 95 of file normalclvmodel.cpp.

+ Here is the call graph for this function:

◆ performCalculations()

void performCalculations ( ) const
overrideprotectedvirtual

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Implements LazyObject.

Definition at line 134 of file normalclvmodel.cpp.

Member Data Documentation

◆ x_

const Array x_
private

Definition at line 106 of file normalclvmodel.hpp.

◆ sigma_

const Volatility sigma_
private

Definition at line 107 of file normalclvmodel.hpp.

◆ bsProcess_

const ext::shared_ptr<GeneralizedBlackScholesProcess> bsProcess_
private

Definition at line 108 of file normalclvmodel.hpp.

◆ ouProcess_

const ext::shared_ptr<OrnsteinUhlenbeckProcess> ouProcess_
private

Definition at line 109 of file normalclvmodel.hpp.

◆ maturityDates_

const std::vector<Date> maturityDates_
private

Definition at line 110 of file normalclvmodel.hpp.

◆ rndCalculator_

const ext::shared_ptr<GBSMRNDCalculator> rndCalculator_
private

Definition at line 111 of file normalclvmodel.hpp.

◆ maturityTimes_

std::vector<Time> maturityTimes_
private

Definition at line 113 of file normalclvmodel.hpp.

◆ g_

ext::function<Real(Time, Real)> g_
mutableprivate

Definition at line 114 of file normalclvmodel.hpp.