These toolbox functions compute prices, sensitivities, and profits for portfolios of options or other equity derivatives. They use the Black-Scholes model for European options and the binomial model for American options. Such measures are useful for managing portfolios and for executing collars, hedges, and straddles:
A collar is an interest-rate option that guarantees that the rate on a floating-rate loan will not exceed a certain upper level nor fall below a lower level. It is designed to protect an investor against wide fluctuations in interest rates.
A hedge is a securities transaction that reduces or offsets the risk on an existing investment position.
A straddle is a strategy used in trading options or futures. It involves simultaneously purchasing put and call options with the same exercise price and expiration date, and it is most profitable when the price of the underlying security is very volatile.
There are six basic sensitivity measures associated with option pricing: delta, gamma, lambda, rho, theta, and vega — the “greeks.” The toolbox provides functions for calculating each sensitivity and for implied volatility.
Delta of a derivative security is the rate of change of its price relative to the price of the underlying asset. It is the first derivative of the curve that relates the price of the derivative to the price of the underlying security. When delta is large, the price of the derivative is sensitive to small changes in the price of the underlying security.
Gamma of a derivative security is the rate of change of delta relative to the price of the underlying asset; that is, the second derivative of the option price relative to the security price. When gamma is small, the change in delta is small. This sensitivity measure is important for deciding how much to adjust a hedge position.
Lambda, also known as the elasticity of an option, represents the percentage change in the price of an option relative to a 1% change in the price of the underlying security.
Rho is the rate of change in option price relative to the risk-free interest rate.
Theta is the rate of change in the price of a derivative security relative to time. Theta is usually small or negative since the value of an option tends to drop as it approaches maturity.
Vega is the rate of change in the price of a derivative security relative to the volatility of the underlying security. When vega is large the security is sensitive to small changes in volatility. For example, options traders often must decide whether to buy an option to hedge against vega or gamma. The hedge selected usually depends upon how frequently one rebalances a hedge position and also upon the standard deviation of the price of the underlying asset (the volatility). If the standard deviation is changing rapidly, balancing against vega is preferable.
The implied volatility of an option is the standard deviation that makes an option price equal to the market price. It helps determine a market estimate for the future volatility of a stock and provides the input volatility (when needed) to the other Black-Scholes functions.
Toolbox functions for analyzing equity derivatives use the Black-Scholes model for European options and the binomial model for American options. The Black-Scholes model makes several assumptions about the underlying securities and their behavior. The Black-Scholes model was the first complete mathematical model for pricing options, developed by Fischer Black and Myron Scholes. It examines market price, strike price, volatility, time to expiration, and interest rates. It is limited to only certain kinds of options.
The binomial model, on the other hand, makes far fewer assumptions about the processes underlying an option. A binomial model is a method of pricing options or other equity derivatives in which the probability over time of each possible price follows a binomial distribution. The basic assumption is that prices can move to only two values (one higher and one lower) over any short time period. For further explanation, see Options, Futures, and Other Derivatives by John Hull in Bibliography.
Using the Black-Scholes model entails several assumptions:
The prices of the underlying asset follow an Ito process. (See Hull, page 222.)
The option can be exercised only on its expiration date (European option).
Short selling is permitted.
There are no transaction costs.
All securities are divisible.
There is no riskless arbitrage (where arbitrage is the purchase of securities on one market for immediate resale on another market to profit from a price or currency discrepancy).
Trading is a continuous process.
The risk-free interest rate is constant and remains the same for all maturities.
If any of these assumptions is untrue, Black-Scholes may not be an appropriate model.
To illustrate toolbox Black-Scholes functions, this example computes the call and put prices of a European option and its delta, gamma, lambda, and implied volatility. The asset price is $100.00, the exercise price is $95.00, the risk-free interest rate is 10%, the time to maturity is 0.25 years, the volatility is 0.50, and the dividend rate is 0. Simply executing the toolbox functions
[OptCall, OptPut] = blsprice(100, 95, 0.10, 0.25, 0.50, 0); [CallVal, PutVal] = blsdelta(100, 95, 0.10, 0.25, 0.50, 0); GammaVal = blsgamma(100, 95, 0.10, 0.25, 0.50, 0); VegaVal = blsvega(100, 95, 0.10, 0.25, 0.50, 0); [LamCall, LamPut] = blslambda(100, 95, 0.10, 0.25, 0.50, 0);
The option call price
OptCall = $13.70
The option put price
OptPut = $6.35
delta for a call
CallVal = 0.6665 and delta for a put
PutVal = -0.3335
GammaVal = 0.0145
VegaVal = 18.1843
lambda for a call
LamCall = 4.8664 and lambda for a put
LamPut = –5.2528
Now as a computation check, find the implied volatility of the option using the call option price from
Volatility = blsimpv(100, 95, 0.10, 0.25, OptCall);
The function returns an implied volatility of 0.500, the original
The binomial model for pricing options or other equity derivatives assumes that the probability over time of each possible price follows a binomial distribution. The basic assumption is that prices can move to only two values, one up and one down, over any short time period. Plotting the two values, and then the subsequent two values each, and then the subsequent two values each, and so on over time, is known as “building a binomial tree.”. This model applies to American options, which can be exercised any time up to and including their expiration date.
This example prices an American call option using a binomial model. Again, the asset price is $100.00, the exercise price is $95.00, the risk-free interest rate is 10%, and the time to maturity is 0.25 years. It computes the tree in increments of 0.05 years, so there are 0.25/0.05 = 5 periods in the example. The volatility is 0.50, this is a call (
flag = 1), the dividend rate is 0, and it pays a dividend of $5.00 after three periods (an ex-dividend date). Executing the toolbox function
[StockPrice, OptionPrice] = binprice(100, 95, 0.10, 0.25,... 0.05, 0.50, 1, 0, 5.0, 3);
returns the tree of prices of the underlying asset
StockPrice = 100.00 111.27 123.87 137.96 148.69 166.28 0 89.97 100.05 111.32 118.90 132.96 0 0 81.00 90.02 95.07 106.32 0 0 0 72.98 76.02 85.02 0 0 0 0 60.79 67.98 0 0 0 0 0 54.36
and the tree of option values.
OptionPrice = 12.10 19.17 29.35 42.96 54.17 71.28 0 5.31 9.41 16.32 24.37 37.96 0 0 1.35 2.74 5.57 11.32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The output from the binomial function is a binary tree. Read the
StockPrice matrix this way: column 1 shows the price for period 0, column 2 shows the up and down prices for period 1, column 3 shows the up-up, up-down, and down-down prices for period 2, and so on. Ignore the zeros. The
OptionPrice matrix gives the associated option value for each node in the price tree. Ignore the zeros that correspond to a zero in the price tree.