The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quant::Framework::VolSurface::Moneyness

DESCRIPTION

Base class for strike-based volatility surfaces by moneyness.

surface_data

The original surface data.

type

Return the surface type

min_vol_spread

minimum volatility spread that we can accept for this volatility surface.

spot_reference

Get the spot reference used to calculate the surface. We should always use reference spot of the surface for any moneyness-related vol calculation

get_volatility

USAGE:

  my $vol = $s->get_volatility({moneyness => 96, from => $from, to => $to});
  my $vol = $s->get_volatility({strike => $bet->barrier, from => $from, to => $to});
  my $vol = $s->get_volatility({moneyness => 90, from => $from, to => $to});

get_smile

Get the smile for specific day.

Usage:

    my $smile = $vol_surface->get_smile($days);

interpolate

This is how you could interpolate across smile. This uses the default interpolation method of the surface.

    $surface->interpolate({smile => $smile, sought_point => $sought_point});

get_market_rr_bf

Returns the rr and bf values for a given day

get_smile_expiries

An array reference of that contains expiry dates for smiles on the volatility surface.