24#ifndef quantlib_normal_clv_model_hpp
25#define quantlib_normal_clv_model_hpp
44 class GBSMRNDCalculator;
45 class OrnsteinUhlenbeckProcess;
46 class GeneralizedBlackScholesProcess;
50 NormalCLVModel(
const ext::shared_ptr<GeneralizedBlackScholesProcess>& bsProcess,
51 ext::shared_ptr<OrnsteinUhlenbeckProcess> ouProcess,
52 const std::vector<Date>& maturityDates,
85 const ext::shared_ptr<OrnsteinUhlenbeckProcess>
ouProcess_;
98 const std::vector<Time>
t_;
102 const ext::shared_ptr<InterpolationData>
data_;
108 const ext::shared_ptr<GeneralizedBlackScholesProcess>
bsProcess_;
1-D array used in linear algebra.
Framework for calculation on demand and result caching.
Matrix used in linear algebra.
const ext::shared_ptr< InterpolationData > data_
Real operator()(Time t, Real x) const
const ext::shared_ptr< OrnsteinUhlenbeckProcess > ouProcess_
const std::vector< Date > maturityDates_
void performCalculations() const override
std::vector< Time > maturityTimes_
const ext::shared_ptr< GeneralizedBlackScholesProcess > bsProcess_
Real invCDF(const Date &d, Real q) const
Real cdf(const Date &d, Real x) const
ext::function< Real(Time, Real)> g_
const ext::shared_ptr< OrnsteinUhlenbeckProcess > ouProcess_
const ext::shared_ptr< GBSMRNDCalculator > rndCalculator_
Array collocationPointsX(const Date &d) const
Array collocationPointsY(const Date &d) const
ext::function< Real(Time, Real)> g() const
template class providing a null value for a given type.
date- and time-related classes, typedefs and enumerations
Maps function, bind and cref to either the boost or std implementation.
Real Time
continuous quantity with 1-year units
Real Volatility
volatility
std::size_t Size
size of a container
framework for calculation on demand and result caching
linear interpolation between discrete points
matrix used in linear algebra.
ext::shared_ptr< YieldTermStructure > q
std::vector< LinearInterpolation > interpl_
const LagrangeInterpolation lagrangeInterpl_
InterpolationData(const NormalCLVModel &model)
const std::vector< Time > t_