The Binomial function calculates the theoretical price, sensitivities, and the implied volatility of options using the Cox-Ross-Rubinstein and Hull models. See Vanilla Option Models for a further explanation.
Binomial |
(ExerciseType, OptionType, ModelStatistic, Iterations, AssetPrice, StrikePrice, TimeExpire, Volatility, InterestRate, YieldRate, MarketPrice, TimeFormat, DivAmount, TimeExDiv, DivFrequency, DividendStyle, InterestType, YieldType) |
BinomialDivArr |
(ExerciseType, OptionType, ModelStatistic, Iterations, AssetPrice, StrikePrice, TimeExpire, Volatility, InterestRate, YieldRate, Dividends, MarketPrice, TimeFormat, InterestType, YieldType) |
Note: Optional arguments are shown in Italics. MarketPrice is not Optional for the Implied Volatility Calculation.
Individual Models within the Binomial Model are as follow:
Black Model |
InterestRate = YieldRate |
Black-Scholes Model |
YieldRate = 0 |
Garman-Kohlhagen Model |
YieldRate = Foreign Interest Rate |
Argument |
Description |
ExerciseType |
Alphanumeric value indicating the exercise type: •American = 0 or "a" (case insensitive) •European = 1 or "e" (case insensitive) |
OptionType |
Alphanumeric value indicating the type of option: •Call = 1 or "c" (case insensitive) •Put = 2 or "p" (case insensitive) •Straddle = 3 or "s" (case insensitive) |
ModelStatistic |
Numeric value indicating the type of function required for the return value: •Theoretical = 1 •Delta = 2 •Gamma = 3 •Theta = 4 •ImpliedVol = 5 •Vega = 6 •Rho = 7 •Psi = 8 •Lambda = 9 •IntrinsicValue = 10 •StrikeSensitivity = 11 •TimeValue = 12 •Implied Strike = 13 |
Iterations |
The number of iterations used for the binomial model. Required for the binomial model. Must be between 5 and 500. |
AssetPrice |
The price of the underlying asset. Must be > 0. |
StrikePrice |
The price at which the asset can be purchased if the option is a call or sold if the option is a put. Must be > 0. |
TimeExpire |
Time expressed in either Days or Years (depending on the TimeFormat value) until the options expiration. Must be > 0. |
Volatility |
Annualized volatility of the underlying security. Must be > 0. |
InterestRate |
Risk-free interest rate expressed as a percentage. This rate is interpreted as a continuously compounded rate unless otherwise specified in the InterestType argument. Must be > 0. |
YieldRate |
Yield expressed as a percentage (dividends or interest yield) of the underlying asset price. For futures contracts, the Yield Rate is the same as the Interest Rate. This rate is interpreted as a continuously compounded rate unless specified otherwise in the YieldType argument. |
Dividends* |
A two-dimensional array or range of Dividend Dates and Amount pairs where the first column is the date and the second is the amount. The Dividend Dates are a range (array) of ascending unique values. All dividend dates and amounts must both be > 0.
As an example: Dividends Date Amount 0.0 0.20 0.5 0.15 1.0 0.30 1.5 0.25 2.0 0.15 2.5 0.40
*Used for the DivArr (Dividend Array) based model only |
MarketPrice |
Optional. The selling price of the option in the marketplace. This input is required when implied volatility and strike are calculated. Price must be > 0. |
TimeFormat |
Optional. Alphanumeric value indicating the format of the time arguments (i.e. TimeExpire, TimeExDiv, DivFrequency). If omitted, Days are used as the default. Specified as either: •Days = 0 or "D" (case insensitive) •Years = 1 or "Y" (case insensitive) |
DivAmount |
Optional. The amount of the dividend(s). If omitted, an amount of 0 is used. Amount must be > 0. |
TimeExDiv |
Optional. The time in Days or Years until the first dividend is received. If omitted, a value of 0 is used and therefore no dividends are assessed. Value must be > 0 for dividends to be considered. |
DivFrequency |
Optional. The time in Days or Years between dividend payments. If omitted, a value of 0 is used and therefore the only dividend assessed occurs at the TimeExDiv time. The value must be > 0 for multiple dividends to be considered. |
DividendStyle |
Optional. Numeric value indicating the Style or method that dividends are handled. If omitted, the discrete cash method is used (i.e. DividendStyle = 0). •Discrete cash flow method = 0 •Continuous yield method = 1 •Discrete Control Variant = 2 •Continuous Control Variant = 3 |
InterestType |
Optional. Alphanumeric value indicating the type of InterestRate to use when evaluating the option. This value is converted to Continuously Compounded for the calculations. If omitted, a continuously compounded rate is used. |
YieldType |
Optional. Alphanumeric value indicating the type of YieldRate to use when evaluating the option. This value is converted to Continuously Compounded for the calculations. If omitted, a continuously compounded rate is used. |
Examples
Calculate all of functions for an American call option whose asset price 120 days from expiration of an option is $83.5, the exercise price of the option is $80, the risk-free interest rate is 6.5% per annum, the yield rate is 8% per annum, the annual volatility is 30%, and the number of iterations is 75. This means that Iterations = 75, AssetPrice = $83.5, StrikePrice = $80, InterestRate = 6.5%, YieldRate = 8%, TimeExpire = 120 days and Volatility = 30%. There are no dividends and all interest rates are considered continuous. So, |
Input |
|
Output |
|||
Variable |
Value |
|
Function |
Name |
Value |
ExerciseType |
American |
|
1 |
Theoretical: |
7.21819 |
OptionType |
Call |
|
2 |
Delta: |
0.61515 |
Iterations |
75 |
|
3 |
Gamma: |
0.02664 |
Asset |
83.5 |
|
4 |
Theta: |
-0.01964 |
Strike |
80 |
|
5 |
Implied Vol: |
0.28781 |
TimeExpire |
120 |
|
6 |
Vega: |
0.17903 |
Volatility |
30% |
|
7 |
Rho: |
0.11362 |
InterestRate |
6.50% |
|
8 |
Psi: |
-0.12968 |
YieldRate |
8.00% |
|
9 |
Lambda: |
7.11604 |
MarketPrice |
7.00 |
|
11 |
Strike Sensitivity: |
-0.54391 |
TimeFormat |
Days |
|
13 |
Implied Strike: |
80.40146 |
Calculate all of functions for the same option as the example above, but with dividends. The first dividend is expected to occur in 30 days and the dividends occur every 35 days. The dividend amount is $1 for both dividends. So, |
Input |
|
Output |
|||
Variable |
Value |
|
Function |
Name |
Value |
ExerciseType |
American |
|
1 |
Theoretical: |
6.12189 |
OptionType |
Call |
|
2 |
Delta: |
0.61476 |
Iterations |
75 |
|
3 |
Gamma: |
0.03548 |
Asset |
83.5 |
|
4 |
Theta: |
-0.02558 |
Strike |
80 |
|
5 |
Implied Vol: |
0.35357 |
TimeExpire |
120 |
|
6 |
Vega: |
0.15933 |
Volatility |
30% |
|
7 |
Rho: |
0.07650 |
InterestRate |
6.50% |
|
8 |
Psi: |
-0.08291 |
YieldRate |
8.00% |
|
9 |
Lambda: |
8.38501 |
MarketPrice |
7.00 |
|
11 |
Strike Sensitivity: |
-0.55991 |
TimeFormat |
Days |
|
13 |
Implied Strike: |
78.47853 |
Div Amount |
1 |
|
|
|
|
Time Ex-Div |
30 |
|
|
|
|
Div Frequency |
35 |
|
|
|
|
For a further example on this model see the included Excel Template located in the root directory of the add-in. This example can be accessed through the Vanilla Options Template menu item after the add-in has been installed properly.
A list of all of the possible Error Messages is included for convenience.