|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
#include <fdmklugeextouop.hpp>
Inheritance diagram for FdmKlugeExtOUOp:
Collaboration diagram for FdmKlugeExtOUOp: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.
Here is the call graph for this function:Implements FdmLinearOpComposite.
Definition at line 81 of file fdmklugeextouop.cpp.
Here is the call graph for this function: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.
Here is the call graph for this function:
|
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.