Call Option Sensitivity Measures (single option)

Financial Toolbox™ Graphics Example 2

This example creates a three-dimensional plot showing how gamma changes relative to price for a Black-Scholes option. Recall that gamma is the second derivative of the option price relative to the underlying security price. The plot shows a three-dimensional surface whose z-value is the gamma of an option as price (x-axis) and time (y-axis) vary. It adds yet a fourth dimension by showing option delta (the first derivative of option price to security price) as the color of the surface.

Set Up

if ~exist('normpdf')
  msgbox('The Statistics and Machine Learning Toolbox is required to run this example.', ...
	  'Product dependency')

Set Up Option Parameters

% Range of stock prices
range = 10:70;
span = length(range);
j = 1:0.5:12;
% Years until option expiration
newj = j(ones(span,1),:)'/12;

jspan = ones(length(j),1);
newrange = range(jspan,:);
pad = ones(size(newj));

Calculate Some "Greeks", e.g., Delta and Gamma

zval = blsgamma(newrange, 40*pad, 0.1*pad, newj, 0.35*pad);
color = blsdelta(newrange, 40*pad, 0.1*pad, newj, 0.35*pad);

Display "Greeks" as a Function of Price and Time

  • Height is gamma (second derivative of option price with respect to stock price)

  • Color is delta (first derivative of option price with respect to stock price)

% Plotting Sensitivities of an Option
figure('NumberTitle', 'off', ...
       'Name', 'Call Option Price Sensitivity');

mesh(range, j, zval, color);
xlabel('Stock Price ($)');
ylabel('Time (months)');
title('Call Option Price Sensitivity');
axis([10 70  1 12  -inf inf]);

cbx = colorbar('horiz');
ax = gca;
apos = ax.Position;
cpos = cbx.Position;
cbx.Position = [cpos(1) .075 cpos(3) cpos(4)];
ax.Position = [apos(1) .25 apos(3) .68];
box on

Was this topic helpful?