26#include <ql/instruments/dividendschedule.hpp>
27#include <ql/methods/finitedifferences/meshers/fdm1dmesher.hpp>
29#include <ql/handle.hpp>
30#include <ql/quote.hpp>
32#include <ql/tuple.hpp>
36class YieldTermStructure;
37class GeneralizedBlackScholesProcess;
49 FdmBlackScholesMesher(Size size,
const ext::shared_ptr<GeneralizedBlackScholesProcess>& process, Time maturity,
50 Real strike, Real xMinConstraint = Null<Real>(), Real xMaxConstraint = Null<Real>(),
51 Real eps = 0.0001, Real scaleFactor = 1.5,
52 const std::vector<QuantLib::ext::tuple<Real, Real, bool>>& cPoints = {},
53 const DividendSchedule& dividendSchedule = DividendSchedule(),
54 const ext::shared_ptr<FdmQuantoHelper>& fdmQuantoHelper = ext::shared_ptr<FdmQuantoHelper>(),
55 Real spotAdjustment = 0.0);
57 static ext::shared_ptr<GeneralizedBlackScholesProcess>
processHelper(
const Handle<Quote>& s0,
58 const Handle<YieldTermStructure>& rTS,
59 const Handle<YieldTermStructure>& qTS,
static ext::shared_ptr< GeneralizedBlackScholesProcess > processHelper(const Handle< Quote > &s0, const Handle< YieldTermStructure > &rTS, const Handle< YieldTermStructure > &qTS, Volatility vol)