FXVolSurfaceIterator

FXVolSurfaceIterator#

class sigtech.framework.infra.analytics.fx.fx_vol_surface_iterator.FXVolSurfaceIterator

Class implementing an iterator for FX vol surfaces. The constructor takes a list of currency identifiers and loads all the combinations of FX vol surfaces.

Example of object creation:

vol_iterator = sig.FXVolSurfaceIterator(['USD', 'EUR', 'GBP'])

list_surfaces = list(vol_iterator.iterate_surfaces())
atm_vols_for_tenor(tenor: str) DataFrame

Return the history of ATM vols for each surface.

Parameters:

tenor – Tenor of risk reversal, e.g. '1W', '3M'.

Returns:

pandas DataFrame.

butterfly(tenor: str, delta: int) DataFrame

Return the history of butterfly, calculated as 0.5 * (Call Vol + Put Vol) - ATM vol for each surface.

Parameters:
  • tenor – Tenor of butterfly, e.g. '1W', '3M'.

  • delta – Delta of underlying options, according to FX conventions, e.g. 25 means delta of 0.25.

Returns:

pandas Dataframe.

static get_all_available_surfaces_names()

Return the list of all available FX vol surfaces.

static get_all_available_tenors()

Return the list of all available tenors.

iterate_surfaces()

Iterate though the list of vol surfaces loaded.

list_surfaces()

Return the list of vol surfaces loaded.

risk_reversal(tenor: str, delta: int) DataFrame

Return the history of Call Vol minus Put Vol for each surface.

Parameters:
  • tenor – Tenor of risk reversal, e.g. '1W', '3M'.

  • delta – Delta of underlying options, according to FX conventions, e.g. 25 means call with delta of 0.25 minus put with delta of -0.25.

Returns:

pandas Dataframe.