Calculates option's Volga. More...
#include <optionVolga.hpp>
Public Member Functions | |
OptionVolga (SmartPointer< OptionGreeks > input, double h, NumDiffScheme scheme, std::string risk_name="Volga") | |
Constructor. 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... | |
GreeksIntermediateResults | calculateRisks (const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates the option's Volga. More... | |
OptionVolga * | 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 | CntrVolga (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates Volga using central scheme. More... | |
void | FwdVolga (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates Volga using forward differencing scheme. More... | |
void | BwdVolga (GreeksIntermediateResults &rr, const SmartPointer< MarketModel > &model, const SmartPointer< PricingEngine > &prizer, const SmartPointer< Option > &option) |
Calculates Volga using backward differencing scheme. More... | |
Private Attributes | |
NumDiffScheme | scheme_ |
Scheme used in differencing. More... | |
double | h_ |
Increment used in differencing scheme for volatility direction. More... | |
std::string | risk_name_ |
Risk name that will be used as key for result map. Default name is Volga. More... | |
Detailed Description
Calculates option's Volga.
This method calculates Volga. Using the method prize of julian::PricingEngine and bumpVolatility/bumpSpot of julian::MarketModel it calculates the cross-derivative of option prize wrt to spot and volatility.
Volga 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. OptionVolga 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 Volga using backward differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Volga. If they were not calculated, it performs calculations, saves them and then calculates Volga.
|
virtual |
Calculates the option's Volga.
Volga 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::OptionGreeksDecorator.
|
private |
Calculates Volga using central scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Volga. If they were not calculated, it performs calculations, saves them and then calculates Volga.
|
private |
Calculates Volga using forward differencing scheme.
Method checks if the PV for a given market shifts were calculated. If yes, it uses them in estimating the Volga. If they were not calculated, it performs calculations, saves them and then calculates Volga.
|
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 for volatility direction.
|
private |
Risk name that will be used as key for result map. Default name is Volga.
|
private |
Scheme used in differencing.
The documentation for this class was generated from the following files:
- C:/Unix/home/OEM/jULIAN/src/pricingEngines/optionGreeks/optionVolga.hpp
- C:/Unix/home/OEM/jULIAN/src/pricingEngines/optionGreeks/optionVolga.cpp