Calculates option's gamma. More...
#include <optionGamma.hpp>
Public Member Functions | |
OptionGamma (SmartPointer< OptionGreeks > input, double h, NumDiffScheme scheme, std::string risk_name="Gamma") | |
constructor More... | |
GreeksIntermediateResults | calculateRisks (const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates the option's gamma. More... | |
std::map< std::string, double > | getRisks (const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Returns the PV and Greek parameter. More... | |
OptionGamma * | clone () const |
virtual copy constructor More... | |
Public Member Functions inherited from julian::OptionGreeksDecorator | |
OptionGreeksDecorator (SmartPointer< OptionGreeks > risks) | |
Constructor. More... | |
OptionGreeksDecorator * | clone () const |
Virtual copy constructor. More... | |
Public Member Functions inherited from julian::OptionGreeks | |
virtual | ~OptionGreeks () |
Destructor. More... | |
Private Member Functions | |
void | CntrGamma (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates gamma using central differencing scheme. More... | |
void | FwdGamma (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates gamma using forward differencing scheme. More... | |
void | BwdGamma (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates gamma using backward differencing scheme. More... | |
Private Attributes | |
double | h_ |
Increment used in differencing scheme. More... | |
NumDiffScheme | scheme_ |
Scheme used in differencing. More... | |
std::string | risk_name_ |
Risk name that will be used as key for result map. Default name is Gamma. More... | |
Detailed Description
Calculates option's gamma.
This method calculates Gamma. Using the method prize of julian::PricingEngine and bumpSpot of julian::MarketModel it calculates the second derivative of option prize wrt to spot prize. Delta of option is calculated using the finite difference scheme
- when forward scheme is used,
- when backward scheme is used,
- when central scheme is used.
The result is saved in map. OptionGamma is a concrete decorator in decorator structure. Concrete Decorator is a class that altered alters the behaviour of Concrete Component.
Constructor & Destructor Documentation
|
inline |
constructor
Member Function Documentation
|
private |
Calculates gamma using backward differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Gamma. If they were not calculated, it performs calculations, saves them and then calculates Gamma.
|
virtual |
Calculates the option's gamma.
Delta of option is calculated using the finite difference scheme
- when forward scheme is used,
- when backward scheme is used,
- when central scheme is used.
Reimplemented from julian::OptionGreeksDecorator.
|
virtual |
virtual copy constructor
Reimplemented from julian::OptionGreeks.
|
private |
Calculates gamma using central differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Gamma. If they were not calculated, it performs calculations, saves them and then calculates Gamma.
|
private |
Calculates gamma using forward differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Gamma. If they were not calculated, it performs calculations, saves them and then calculates Gamma.
|
virtual |
Returns the PV and Greek parameter.
- Returns
- method returns map with name of Greeks as key and the value of Greeks as value
Reimplemented from julian::OptionGreeksDecorator.
Member Data Documentation
|
private |
Increment used in differencing scheme.
|
private |
Risk name that will be used as key for result map. Default name is Gamma.
|
private |
Scheme used in differencing.
The documentation for this class was generated from the following files:
- C:/Unix/home/OEM/jULIAN/src/pricingEngines/optionGreeks/optionGamma.hpp
- C:/Unix/home/OEM/jULIAN/src/pricingEngines/optionGreeks/optionGamma.cpp