25#ifndef quantlib_fd_kluge_extou_spread_engine_hpp
26#define quantlib_fd_kluge_extou_spread_engine_hpp
28#include <ql/pricingengine.hpp>
29#include <ql/instruments/vanillaoption.hpp>
30#include <ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp>
31#include <ql/experimental/finitedifferences/fdmextoujumpmodelinnervalue.hpp>
32#include <ql/experimental/finitedifferences/fdmexpextouinnervaluecalculator.hpp>
33#include <ql/experimental/processes/klugeextouprocess.hpp>
37 class YieldTermStructure;
38 class ExtOUWithJumpsProcess;
39 class ExtendedOrnsteinUhlenbeckProcess;
43 VanillaOption::results> {
49 ext::shared_ptr<KlugeExtOUProcess> klugeOUProcess,
50 ext::shared_ptr<YieldTermStructure> rTS,
55 ext::shared_ptr<GasShape> gasShape = ext::shared_ptr<GasShape>(),
56 ext::shared_ptr<PowerShape> powerShape = ext::shared_ptr<PowerShape>(),
63 const ext::shared_ptr<YieldTermStructure>
rTS_;
const ext::shared_ptr< GasShape > gasShape_
void calculate() const override
const ext::shared_ptr< KlugeExtOUProcess > klugeOUProcess_
const ext::shared_ptr< PowerShape > powerShape_
const ext::shared_ptr< YieldTermStructure > rTS_
FdmExtOUJumpModelInnerValue::Shape PowerShape
FdmExtOUJumpModelInnerValue::Shape GasShape
const FdmSchemeDesc schemeDesc_
std::vector< std::pair< Time, Real > > Shape
template base class for option pricing engines
std::size_t Size
size of a container
static FdmSchemeDesc Hundsdorfer()