The option sensitivity measures familiar to most option traders are often referred to as the greeks: delta, gamma, vega, lambda, rho, and theta. Delta is the price sensitivity of an option with respect to changes in the price of the underlying asset. It represents a first-order sensitivity measure analogous to duration in fixed income markets. Gamma is the sensitivity of an option's delta to changes in the price of the underlying asset, and represents a second-order price sensitivity analogous to convexity in fixed income markets. Vega is the price sensitivity of an option with respect to changes in the volatility of the underlying asset. For more information, see Pricing and Analyzing Equity Derivatives.
The greeks of a particular option are a function of the model used to price the option. However, given enough different options to work with, a trader can construct a portfolio with any desired values for its greeks. For example, to insulate the value of an option portfolio from small changes in the price of the underlying asset, one trader might construct an option portfolio whose delta is zero. Such a portfolio is then said to be “delta neutral.” Another trader may want to protect an option portfolio from larger changes in the price of the underlying asset, and so might construct a portfolio whose delta and gamma are both zero. Such a portfolio is both delta and gamma neutral. A third trader may want to construct a portfolio insulated from small changes in the volatility of the underlying asset in addition to delta and gamma neutrality. Such a portfolio is then delta, gamma, and vega neutral.
Using the Black-Scholes model for European options, this example creates an equity option portfolio that is simultaneously delta, gamma, and vega neutral. The value of a particular greek of an option portfolio is a weighted average of the corresponding greek of each individual option. The weights are the quantity of each option in the portfolio. Hedging an option portfolio thus involves solving a system of linear equations, an easy process in MATLAB®.
Create an input data matrix to summarize the relevant information. Each row of the matrix contains the standard inputs to Financial Toolbox™ Black-Scholes suite of functions: column 1 contains the current price of the underlying stock; column 2 the strike price of each option; column 3 the time to-expiry of each option in years; column 4 the annualized stock price volatility; and column 5 the annualized dividend rate of the underlying asset. Rows 1 and 3 are data related to call options, while rows 2 and 4 are data related to put options.
DataMatrix = [100.000 100 0.2 0.3 0 % Call 119.100 125 0.2 0.2 0.025 % Put 87.200 85 0.1 0.23 0 % Call 301.125 315 0.5 0.25 0.0333] % Put
Also, assume that the annualized risk-free rate is 10% and is constant for all maturities of interest.
RiskFreeRate = 0.10;
For clarity, assign each column of
a column vector whose name reflects the type of financial data in
StockPrice = DataMatrix(:,1); StrikePrice = DataMatrix(:,2); ExpiryTime = DataMatrix(:,3); Volatility = DataMatrix(:,4); DividendRate = DataMatrix(:,5);
Based on the Black-Scholes model, compute the prices, and the
delta, gamma, and vega sensitivity greeks of each of the four options.
blsdelta have two outputs, while
only one. The price and delta of a call option differ from the price
and delta of an otherwise equivalent put option, in contrast to the
gamma and vega sensitivities, which are valid for both calls and puts.
[CallPrices, PutPrices] = blsprice(StockPrice, StrikePrice,... RiskFreeRate, ExpiryTime, Volatility, DividendRate); [CallDeltas, PutDeltas] = blsdelta(StockPrice,... StrikePrice, RiskFreeRate, ExpiryTime, Volatility,... DividendRate); Gammas = blsgamma(StockPrice, StrikePrice, RiskFreeRate,... ExpiryTime, Volatility , DividendRate)'; Vegas = blsvega(StockPrice, StrikePrice, RiskFreeRate,... ExpiryTime, Volatility , DividendRate)';
Extract the prices and deltas of interest to account for the distinction between call and puts.
Prices = [CallPrices(1) PutPrices(2) CallPrices(3)... PutPrices(4)]; Deltas = [CallDeltas(1) PutDeltas(2) CallDeltas(3)... PutDeltas(4)];
Now, assuming an arbitrary portfolio value of $17,000, set up
and solve the linear system of equations such that the overall option
portfolio is simultaneously delta, gamma, and vega-neutral. The solution
computes the value of a particular greek of a portfolio of options
as a weighted average of the corresponding greek of each individual
option in the portfolio. The system of equations is solved using the
back slash (
\) operator discussed in Solving Simultaneous Linear Equations.
A = [Deltas; Gammas; Vegas; Prices]; b = [0; 0; 0; 17000]; OptionQuantities = A\b; % Quantity (number) of each option.
Finally, compute the market value, delta, gamma, and vega of the overall portfolio as a weighted average of the corresponding parameters of the component options. The weighted average is computed as an inner product of two vectors.
PortfolioValue = Prices * OptionQuantities; PortfolioDelta = Deltas * OptionQuantities; PortfolioGamma = Gammas * OptionQuantities; PortfolioVega = Vegas * OptionQuantities;
The output for these computations is:
Option Price Delta Gamma Vega Quantity 1 6.3441 0.5856 0.0290 17.4293 22332.6131 2 6.6035 -0.6255 0.0353 20.0347 6864.0731 3 4.2993 0.7003 0.0548 9.5837 -15654.8657 4 22.7694 -0.4830 0.0074 83.5225 -4510.5153 Portfolio Value: $17000.00 Portfolio Delta: 0.00 Portfolio Gamma: -0.00 Portfolio Vega : 0.00
You can verify that the portfolio value is $17,000 and that the option portfolio is indeed delta, gamma, and vega neutral, as desired. Hedges based on these measures are effective only for small changes in the underlying variables.