Greeks.GreekFillers.VolgaGreekFiller

Classes

Dict(...[, two])

Methods

IGreekFiller General interface that retrieves the relevant market states for greek computation, computes the finite difference and fills the greeks dictionary.
MarketStateKey(id) Container class to identify a market state in a greeks run.
MarketStateKeys Static class regrouping the different market state keys used for greeks computation.
ResultKey(id) General container class to identify a computation result.
ResultKeys Static class regrouping the different market state keys used for greeks computation.
VolgaGreekFiller(vega_bump_size, volga_bump_size) Class that retrieves the relevant market states for volga computation, computes the finite difference and fills the greeks dictionary.
class Greeks.GreekFillers.VolgaGreekFiller.VolgaGreekFiller(vega_bump_size, volga_bump_size)[source]

Class that retrieves the relevant market states for volga computation, computes the finite difference and fills the greeks dictionary.

Parameters:

vega_bump_size : float

The additive bump \(\epsilon\) applied on the At-The-Money annualized volatility \(\sigma\) for vega computation.

volga_bump_size : float

The additive bump \(\epsilon\) applied on the At-The-Money annualized volatility \(\sigma\) for volga computation.

Methods

fill(...) Retrieve the relevant market states for volga computation, computes the finite difference and fills the greeks dictionary.
fill(pvs: typing.Dict[Common.MarketStateKey.MarketStateKey, Common.PricingResult.PricingResult], results: typing.Dict[Common.ResultKey.ResultKey, float]) → None[source]

Retrieve the relevant market states for volga computation, computes the finite difference and fills the greeks dictionary.

Parameters:

pvs : Dict[MarketStateKey, PricingResult]

Dictionary that maps each market state to the option price given that state.

results : Dict[ResultKey, float]

Dictionary that contains the results of greeks computation.

Returns:

None

Examples

>>> from Greeks.GreekFillers.VolgaGreekFiller import VolgaGreekFiller
>>> from Common.MarketStateKeys import MarketStateKeys
>>> from Common.ResultKeys import ResultKeys
>>> from Common.PricingResult import PricingResult
>>> pvs = dict()
>>> results = dict()
>>> pvs[MarketStateKeys.volga_up_up] = PricingResult(1.60,0.0,0.0,0.0)
>>> pvs[MarketStateKeys.volga_up_down] = PricingResult(1.52,0.0,0.0,0.0)
>>> pvs[MarketStateKeys.volga_down_up] = PricingResult(1.50,0.0,0.0,0.0)
>>> pvs[MarketStateKeys.volga_down_down] = PricingResult(1.48,0.0,0.0,0.0)
>>> gamma_filler = VolgaGreekFiller(vega_bump_size=0.01, volga_bump_size= 0.005)
>>> gamma_filler.fill(pvs, results)
>>> print(results[ResultKeys.volga])
300.0000000000003