FdmPricer.hpp
1 #ifndef MARIAN_FDMPRIZER_H
2 #define MARIAN_FDMPRIZER_H
3 
4 #include <FDM/schemes/fdScheme.hpp>
5 #include <FDM/gridBuilders/gridBuilder.hpp>
6 #include <financial/options/option.hpp>
7 #include <financial/market.hpp>
8 #include <financial/gridRange/rangeSetup.hpp>
9 
10 namespace marian {
11 
26  class FDMPricer {
27  public:
34  SmartPointer<RangeSetup> range_setter):
35  scheme_(scheme), sgrid_(sgrid), tgrid_(tgrid), range_setter_(range_setter) {
36  scheme_->setSolver(solver);
37  }
38 
39 
40  double price(Market m, SmartPointer<Option> o, int Ns = 100, int Nt = 200);
41  void solveAndSave(Market market, SmartPointer<Option> option, std::string file, int Ns = 100, int Nt = 200);
42  private:
47  };
48 
49 } // namespace marian
50 #endif /* MARIAN_FDMPRIZER_H */
void solveAndSave(Market market, SmartPointer< Option > option, std::string file, int Ns=100, int Nt=200)
Method solves pricing PDE and save results to csv.
Definition: FdmPricer.cpp:79
SmartPointer< GridBuilder > tgrid_
Algorithm generating time grid.
Definition: FdmPricer.hpp:45
Data structure holding the market data.
Definition: market.hpp:11
SmartPointer< RangeSetup > range_setter_
Algorithm defining range of grid.
Definition: FdmPricer.hpp:46
FDMPricer(SmartPointer< FDScheme > scheme, SmartPointer< TridiagonalSolver > solver, SmartPointer< GridBuilder > sgrid, SmartPointer< GridBuilder > tgrid, SmartPointer< RangeSetup > range_setter)
Constructor.
Definition: FdmPricer.hpp:30
SmartPointer< FDScheme > scheme_
FD scheme (Explicit, Implicit, etc)
Definition: FdmPricer.hpp:43
Template of deep-coping smart pointer.
Definition: smartPointer.hpp:9
Definition: backwardKolmogorovEq.cpp:5
double price(Market m, SmartPointer< Option > o, int Ns=100, int Nt=200)
Method pricing option.
Definition: FdmPricer.cpp:25
SmartPointer< GridBuilder > sgrid_
Algorithm generating spatial grid.
Definition: FdmPricer.hpp:44
Class implements algorithm solving pricing PDE.
Definition: FdmPricer.hpp:26