Calculates option's vega. More...
#include <optionVega.hpp>
Public Member Functions | |
OptionVega (SmartPointer< OptionGreeks > input, double h, NumDiffScheme scheme, std::string risk_name="Vega") | |
Constructor. More... | |
GreeksIntermediateResults | calculateRisks (const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
calculates the option's Vega 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... | |
OptionVega * | clone () const |
virtual copy constructor More... | |
Public Member Functions inherited from julian::OptionGreeksDecorator | |
OptionGreeksDecorator (SmartPointer< OptionGreeks > risks) | |
Constructor. More... | |
Public Member Functions inherited from julian::OptionGreeks | |
virtual | ~OptionGreeks () |
Destructor. More... | |
Private Member Functions | |
void | CntrVega (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates Vega using central differencing scheme. More... | |
void | FwdVega (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates Vega using forward differencing scheme. More... | |
void | BwdVega (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates Vega 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 Vega. More... | |
Detailed Description
Calculates option's vega.
This method calculates Vega. Using the method prize of julian::PricingEngine and bumpVolatility of julian::MarketModel it calculates the option sensitivity to asset volatility. Vega of option is can be calculated using the finite difference scheme
- when forward differencing is used
- when backward differencing is used
- when central differencing is used
The result is saved in map. OptionVega 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 Vega using backward differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Vega. If they were not calculated, it performs calculations, saves them and then calculates Vega.
|
virtual |
calculates the option's Vega
Vega of option is calculated using the finite difference scheme
- when forward differencing is used
- when backward differencing is used
- when central differencing is used
- Returns
- method returns map with key "Vega" and value of Vega
Reimplemented from julian::OptionGreeksDecorator.
|
virtual |
virtual copy constructor
Reimplemented from julian::OptionGreeksDecorator.
|
private |
Calculates Vega using central differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Vega. If they were not calculated, it performs calculations, saves them and then calculates Vega.
|
private |
Calculates Vega using forward differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Vega. If they were not calculated, it performs calculations, saves them and then calculates Vega.
|
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 Vega.
|
private |
Scheme used in differencing.
The documentation for this class was generated from the following files:
- C:/Unix/home/OEM/jULIAN/src/pricingEngines/optionGreeks/optionVega.hpp
- C:/Unix/home/OEM/jULIAN/src/pricingEngines/optionGreeks/optionVega.cpp