euroOpt.hpp
1 #ifndef MARIAN_EUROOPT_HPP
2 #define MARIAN_EUROOPT_HPP
3 
4 #include <iostream>
5 #include <types.hpp>
6 #include <financial/options/option.hpp>
7 namespace marian {
8 
12  class EuroOpt : public DCOption<EuroOpt> {
13  public:
19  EuroOpt() {};
26  EuroOpt(double strike, double T, OptionType type):
27  strike_(strike), T_(T), type_(type) {}
28 
30 
32 
35  double getK() const;
36  double getT() const override;
37  OptionType getType() const;
39  double payoff(const double s) const;
40 
41  friend std::ostream& operator<<(std::ostream&, EuroOpt&);
42  private:
43  double strike_;
44  double T_;
46  };
47 } // namespace marian
48 
49 #endif /* MARIAN_EUROOPT_HPP */
OptionType
Types of options.
Definition: types.hpp:8
OptionType type_
Option&#39;s type.
Definition: euroOpt.hpp:45
SmartPointer< AbstractPricerFactory > allocateFactory() const override
Method allocating Abstract Factory.
Definition: euroOpt.cpp:54
double getK() const
Returns strike.
Definition: euroOpt.cpp:9
Template of deep-coping smart pointer.
Definition: smartPointer.hpp:9
Definition: backwardKolmogorovEq.cpp:5
double getT() const override
Returns maturity.
Definition: euroOpt.cpp:16
double T_
Option&#39;s maturity.
Definition: euroOpt.hpp:44
double payoff(const double s) const
Calculates payoff.
Definition: euroOpt.cpp:37
double strike_
Option&#39;s strike.
Definition: euroOpt.hpp:43
EuroOpt()
Default constructor.
Definition: euroOpt.hpp:19
Class implementing a European options.
Definition: euroOpt.hpp:12
EuroOpt(double strike, double T, OptionType type)
Constructor.
Definition: euroOpt.hpp:26
OptionType getType() const
Returns option&#39;s type.
Definition: euroOpt.cpp:23
Deeply copyable Option.
Definition: option.hpp:50