29 const ext::shared_ptr<StochasticProcess1D>& process,
34 for (
Size l=1; l<=tAvgSteps; ++l) {
35 const Real t = (maturity*l)/tAvgSteps;
40 const Real qMin = std::min({
43 process->evolve(0, process->x0(),
t,
46 const Real qMax = std::max({
49 process->evolve(0, process->x0(),
t,
59 locations_[i] += process->evolve(0, process->x0(),
t,
65 [=](
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