5.0

5.0 | 2 ratings Rate this file 26 Downloads (last 30 days) File Size: 3.72 KB File ID: #41473
image thumbnail

Fast Matrixwise Black-Scholes Implied Volatility

by

 

23 Apr 2013 (Updated )

Calculates Black-Scholes Implied Volatility for Full Surface at High Speed

| Watch this File

File Information
Description

Calculates Black-Scholes Implied Volatility Surface for an Option Price Matrix.
Uses Li's Rational Function Approximator for the Initial Estimate, followed by
3rd-Order Householder's Root Finder (i.e. using vega,vomma & ultima) for greater
convergence rate and wider domain-of-convergence relative to Newton-Raphson. Both
Li's Approximator and the Root Finder are calculated matrix-wise (i.e.
fully vectorized) for increased efficiency.

Acknowledgements

This file inspired Merton Jump Diffusion Option Price (Matrixwise).

Required Products MATLAB
MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
04 Oct 2013 Marco

I worked with it for a couple of hours and so far so good. Fast and smooth.

24 Apr 2013 Feargal Deery

simple and clean, this code dramatically speeds up calculating option implied vols. Especially useful for large surfaces. Thanks

Updates
24 Apr 2013

Fixed bug in Put-Call Parity line

P = P + S.*exp(-q.*T) - K.*exp(-r.*T); % Convert Put to Call by Parity Relation

25 Apr 2013

Added Comments

01 May 2013

Re-factoring of anonymous functions in Householder root solver to re-calculate derivatives & for only those points which have not converged. This increases speed by 20-50% (depending on particular surface).

27 Jun 2013

Changed comment
"S Underlying Price [m x n]"
to
"S Underlying Price [1 x 1]"
.. as was misleading
This version of the file handles S as a scalar only.

Contact us