NAME
VolSurface::Calibration::Equities
DESCRIPTION
This module implements Binary.com's volatility surface calibration algorithm which is based on SABR. The SABR (Stochastic alpha, beta, rho) model is a stochastic volatility model, which is used to estimate the volatility smile in the derivatives market. For a more general overview of the general SABR model, please refer https://en.wikipedia.org/wiki/SABR_volatility_model.
calibration_param_names
Calibration parameter names. It is hard-coded here because it needs to be in this sequence.
term_by_day
Get all the terms in a surface in ascending order.
parameterization
The parameterized (and, thus, smoothed) version of this surface.
smile_points
The points across a smile.
It can be delta points, moneyness points or any other points that we might have in the future.
function_to_optimize
The function that we want to optimize.
default_initial_guess
Initial guess for parameters. We need to start with something.
strike_ratio
Bounds for moneyness (strike ratio of 1 is equivalent to 100% moneyness).
compute_parameterization
Returns a hash reference with new parameterization and calibration_error. These new parameters are calculated using the current parameterization values saved in cache if present, else it would use default parameterization.
my $new_values = $self->compute_parameterization; my $new_params = $new_values->{values}; my $new_calibration_error = $new_values->{calibration_error};
get_calibrated_surface
compute the calibrated surface with the parameters being passed. my $calibrated = $calibrator->get_calibrated_surface($parameters);
_calculate_calibrated_vol
The method that calculates calibrated vol using given parameters
_get_params_from
calculation metohds which mostly do "mathematical" jobs.
_calculate_skew
The calibration approach is based upon modeling the term structure of ATM Volatility and ATM Skew using exponential functions.
_calculate_kurtosis
kurtosis can be manipulated using a simple growth rate function. Kurtosis provides a symmetric control over the wings of a surface. Kurtosis basically shifts the wings of the curve in a symetric way.
_optimize
Algorithm change - now based on centroid calculations A function that optimizes a set of parameters against a function. This optimization method is based on Amoeba optimization. We use a form of the Downhill Simplex Method or Nelder-Mead (available as the R function optim). This can also be coded in other languages.
AUTHOR
Binary.com, <support at binary.com>
BUGS
Please report any bugs or feature requests to bug-volsurface-calibration-equities at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=VolSurface-Calibration-Equities. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command. perldoc VolSurface::Calibration::Equities You can also look for information at:
RT: CPAN's request tracker (report bugs here) http://rt.cpan.org/NoAuth/Bugs.html?Dist=VolSurface-Calibration-Equities
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
http://cpanratings.perl.org/d/VolSurface-Calibration-Equities
Search CPAN