QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
#include <fdmklugeextouop.hpp>
Public Member Functions | |
FdmKlugeExtOUOp (const ext::shared_ptr< FdmMesher > &mesher, const ext::shared_ptr< KlugeExtOUProcess > &klugeOUProcess, const ext::shared_ptr< YieldTermStructure > &rTS, const FdmBoundaryConditionSet &bcSet, Size integroIntegrationOrder) | |
Size | size () const override |
void | setTime (Time t1, Time t2) override |
Time \(t1 <= t2\) is required. More... | |
Array | apply (const Array &r) const override |
Array | apply_mixed (const Array &r) const override |
Array | apply_direction (Size direction, const Array &r) const override |
Array | solve_splitting (Size direction, const Array &r, Real s) const override |
Array | preconditioner (const Array &r, Real s) const override |
std::vector< SparseMatrix > | toMatrixDecomp () const override |
Public Member Functions inherited from FdmLinearOpComposite | |
virtual Size | size () const =0 |
virtual void | setTime (Time t1, Time t2)=0 |
Time \(t1 <= t2\) is required. More... | |
virtual Array | apply_mixed (const Array &r) const =0 |
virtual Array | apply_direction (Size direction, const Array &r) const =0 |
virtual Array | solve_splitting (Size direction, const Array &r, Real s) const =0 |
virtual Array | preconditioner (const Array &r, Real s) const =0 |
virtual std::vector< SparseMatrix > | toMatrixDecomp () const |
SparseMatrix | toMatrix () const override |
Public Member Functions inherited from FdmLinearOp | |
virtual | ~FdmLinearOp ()=default |
virtual array_type | apply (const array_type &r) const =0 |
virtual SparseMatrix | toMatrix () const =0 |
Private Attributes | |
const ext::shared_ptr< FdmMesher > | mesher_ |
const ext::shared_ptr< ExtOUWithJumpsProcess > | kluge_ |
const ext::shared_ptr< ExtendedOrnsteinUhlenbeckProcess > | extOU_ |
const ext::shared_ptr< YieldTermStructure > | rTS_ |
const FdmBoundaryConditionSet | bcSet_ |
const ext::shared_ptr< FdmExtOUJumpOp > | klugeOp_ |
const ext::shared_ptr< FdmExtendedOrnsteinUhlenbeckOp > | ouOp_ |
const NinePointLinearOp | corrMap_ |
Additional Inherited Members | |
Public Types inherited from FdmLinearOp | |
typedef Array | array_type |
This class describes a correlated Kluge - extended Ornstein-Uhlenbeck process governed by
\[ \begin{array}{rcl} P_t &=& \exp(p_t + X_t + Y_t) \\ dX_t &=& -\alpha X_tdt + \sigma_x dW_t^x \\ dY_t &=& -\beta Y_{t-}dt + J_tdN_t \\ \omega(J) &=& \eta e^{-\eta J} \\ G_t &=& \exp(g_t + U_t) \\ dU_t &=& -\kappa U_tdt + \sigma_udW_t^u \\ \rho &=& \mathrm{corr} (dW_t^x, dW_t^u) \end{array} \]
References: Kluge, Timo L., 2008. Pricing Swing Options and other Electricity Derivatives, http://eprints.maths.ox.ac.uk/246/1/kluge.pdf
Definition at line 64 of file fdmklugeextouop.hpp.
FdmKlugeExtOUOp | ( | const ext::shared_ptr< FdmMesher > & | mesher, |
const ext::shared_ptr< KlugeExtOUProcess > & | klugeOUProcess, | ||
const ext::shared_ptr< YieldTermStructure > & | rTS, | ||
const FdmBoundaryConditionSet & | bcSet, | ||
Size | integroIntegrationOrder | ||
) |
Definition at line 40 of file fdmklugeextouop.cpp.
|
overridevirtual |
Implements FdmLinearOpComposite.
Definition at line 68 of file fdmklugeextouop.cpp.
Time \(t1 <= t2\) is required.
Implements FdmLinearOpComposite.
Definition at line 72 of file fdmklugeextouop.cpp.
Implements FdmLinearOp.
Definition at line 77 of file fdmklugeextouop.cpp.
Implements FdmLinearOpComposite.
Definition at line 81 of file fdmklugeextouop.cpp.
Implements FdmLinearOpComposite.
Definition at line 85 of file fdmklugeextouop.cpp.
Implements FdmLinearOpComposite.
Definition at line 91 of file fdmklugeextouop.cpp.
Implements FdmLinearOpComposite.
Definition at line 105 of file fdmklugeextouop.cpp.
|
overridevirtual |
Reimplemented from FdmLinearOpComposite.
Definition at line 109 of file fdmklugeextouop.cpp.
|
private |
Definition at line 87 of file fdmklugeextouop.hpp.
|
private |
Definition at line 88 of file fdmklugeextouop.hpp.
|
private |
Definition at line 89 of file fdmklugeextouop.hpp.
|
private |
Definition at line 91 of file fdmklugeextouop.hpp.
|
private |
Definition at line 92 of file fdmklugeextouop.hpp.
|
private |
Definition at line 94 of file fdmklugeextouop.hpp.
|
private |
Definition at line 95 of file fdmklugeextouop.hpp.
|
private |
Definition at line 97 of file fdmklugeextouop.hpp.