Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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')
  return
end

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)');
zlabel('Gamma');
title('Call Option Price Sensitivity');
axis([10 70  1 12  -inf inf]);
view(-40,50)

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?