Greek-Neutral Portfolios of European Stock Options
This example shows how to create an equity option portfolio using the Black-Scholes model for European options that is simultaneously delta, gamma, and vega neutral.
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 Input Data Matrix
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
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 DataMatrix
to a column vector whose name reflects the type of financial data in the column.
StockPrice = DataMatrix(:,1); StrikePrice = DataMatrix(:,2); ExpiryTime = DataMatrix(:,3); Volatility = DataMatrix(:,4); DividendRate = DataMatrix(:,5);
Compute Prices, and Delta, Gamma, and Vega Sensitivity
Based on the Black-Scholes model, compute the prices, and the delta, gamma, and vega sensitivity greeks of each of the four options. The functions blsprice
and blsdelta
have two outputs, while blsgamma
and blsvega
have 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)'
Gammas = 1×4
0.0290 0.0353 0.0548 0.0074
Vegas = blsvega(StockPrice, StrikePrice, RiskFreeRate, ...
ExpiryTime, Volatility , DividendRate)'
Vegas = 1×4
17.4293 20.0347 9.5837 83.5225
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)]
Prices = 1×4
6.3441 6.6035 4.2993 22.7694
Deltas = [CallDeltas(1) PutDeltas(2) CallDeltas(3)... PutDeltas(4)]
Deltas = 1×4
0.5856 -0.6255 0.7003 -0.4830
Solve Linear System of Equations for Option Portfolio
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.
OptionQuantities = 4×1
104 ×
2.2333
0.6864
-1.5655
-0.4511
Compute Market Value, Delta, Gamma, and Vega of Portfolio
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
PortfolioValue = 17000
PortfolioDelta = Deltas * OptionQuantities
PortfolioDelta = 1.8190e-12
PortfolioGamma = Gammas * OptionQuantities
PortfolioGamma = -1.1369e-13
PortfolioVega = Vegas * OptionQuantities
PortfolioVega = 0
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 |
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.
See Also
bnddury
| bndconvy
| bndprice
| bndkrdur
| blsprice
| blsdelta
| blsgamma
| blsvega
| zbtprice
| zero2fwd
| zero2disc
Topics
- Pricing and Analyzing Equity Derivatives
- Sensitivity of Bond Prices to Interest Rates
- Bond Portfolio for Hedging Duration and Convexity
- Bond Prices and Yield Curve Parallel Shifts
- Bond Prices and Yield Curve Nonparallel Shifts
- Term Structure Analysis and Interest-Rate Swaps
- Plotting Sensitivities of an Option
- Plotting Sensitivities of a Portfolio of Options