Class implements factory for European OptionClass is implementation of marian::AbstractPricerFactory. It is use to create objects that parametrize the FDM pricer used to value European Option. More...

#include <euroOptFactory.hpp>

Inheritance diagram for marian::EuroOptFactory:
marian::DCAbstractPricerFactory< EuroOptFactory > marian::AbstractPricerFactory

Public Member Functions

 EuroOptFactory ()
 Default constructor.
 
 EuroOptFactory (EuroOpt option)
 Constructor. More...
 
std::vector< SmartPointer< BoundaryCondition > > getBoundarySpotConditions (Market m, double low, double upp) override
 Returns vector of boundary conditions for European Option. More...
 
std::vector< double > initialCondition (const std::vector< double > &grid)
 Returns vector initializing value of the option. More...
 
double lowerSpotLmt () override
 Returns 0 as upper limit of the spot.
 
double upperSpotLmt () override
 Returns $-\infty$ as upper limit of the spot.
 
double getConcentrationPoint () override
 Returns strike as concentration point.
 
- Public Member Functions inherited from marian::DCAbstractPricerFactory< EuroOptFactory >
virtual AbstractPricerFactoryclone () const
 Virtual copy constructor.
 
- Public Member Functions inherited from marian::AbstractPricerFactory
 AbstractPricerFactory ()
 Default constructor.
 
virtual ~AbstractPricerFactory ()
 destructor
 

Private Attributes

double k_
 Strike of the option.
 
double t_
 Maturity of the option.
 
OptionType type_
 Type of option.
 

Detailed Description

Parametrization provided by the class is as follows:

Initial condition

\[f(s) = max(i_{cp}(S-K))\]

where $i_{cp}$ is equal to 1 if option type is CALL and -1 otherwise.

Boundary condition

For call option

  • lower boundary: Dirichlet condition $\lim_{S \to 0} C(S) = 0$
  • upper boundary: Dirichlet condition $\lim_{S \to \infty} f(x) = S-K$

For put option

  • lower boundary: Dirichlet condition $\lim_{S \to 0} C(S) = K-S$
  • upper boundary: Dirichlet condition $\lim_{S \to \infty} f(x) = 0$

Concentration parameter for non-uniform grid

Option's strike

Constructor & Destructor Documentation

marian::EuroOptFactory::EuroOptFactory ( EuroOpt  option)
inline
Parameters
optionEuropean option for which factory will be constructed

Member Function Documentation

std::vector< SmartPointer< BoundaryCondition > > marian::EuroOptFactory::getBoundarySpotConditions ( Market  m,
double  low_boundary,
double  upp_boundary 
)
overridevirtual

For call option

  • lower boundary: Dirichlet condition $\lim_{S \to 0} C(S) = 0$
  • upper boundary: Dirichlet condition $\lim_{S \to \infty} f(x) = S-K$

For put option

  • lower boundary: Dirichlet condition $\lim_{S \to 0} C(S) = K-S$
  • upper boundary: Dirichlet condition $\lim_{S \to \infty} f(x) = 0$

Implements marian::AbstractPricerFactory.

std::vector< double > marian::EuroOptFactory::initialCondition ( const std::vector< double > &  grid)
virtual

\[initial(s) = max(i_{cp}(S-K))\]

where $i_{cp}$ is equal to 1 if option type is CALL and -1 otherwise.

Implements marian::AbstractPricerFactory.


The documentation for this class was generated from the following files:
  • C:/Unix/home/OEM/fdm/src/financial/options/euroOptFactory.hpp
  • C:/Unix/home/OEM/fdm/src/financial/options/euroOptFactory.cpp