28 const ext::shared_ptr<StochasticProcess1D>& process,
33 for (
Size l=1; l<=tAvgSteps; ++l) {
34 const Real t = (maturity*l)/tAvgSteps;
39 const Real qMin = std::min(std::min(mp, process->x0()),
40 process->evolve(0, process->x0(),
t,
42 const Real qMax = std::max(std::max(mp, process->x0()),
43 process->evolve(0, process->x0(),
t,
52 locations_[i] += process->evolve(0, process->x0(),
t,
58 [=](
Real x) ->
Real { return x / tAvgSteps; });
std::vector< Real > locations_
std::vector< Real > dplus_
std::vector< Real > dminus_
FdmSimpleProcess1dMesher(Size size, const ext::shared_ptr< StochasticProcess1D > &process, Time maturity, Size tAvgSteps=10, Real epsilon=0.0001, Real mandatoryPoint=Null< Real >())
Inverse cumulative normal distribution function.
template class providing a null value for a given type.
One-dimensional grid mesher.
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container
normal, cumulative and inverse cumulative distributions