Accelerating the pace of engineering and science

# binprice

Binomial put and call pricing

## Syntax

```[AssetPrice, OptionValue] = binprice(Price, Strike, Rate, Time,Increment, Volatility, Flag, DividendRate, Dividend, ExDiv)
```

## Arguments

 Price Underlying asset price. A scalar. Strike Option exercise price. A scalar. Rate Risk-free interest rate. A scalar. Enter as a decimal fraction. Time Option's time until maturity in years. A scalar. Increment Time increment. A scalar. Increment is adjusted so that the length of each interval is consistent with the maturity time of the option. (Increment is adjusted so that Time divided by Increment equals an integer number of increments.) Volatility Asset's volatility. A scalar. Flag Specifies whether the option is a call (Flag = 1) or a put (Flag = 0). A scalar. DividendRate (Optional) The dividend rate, as a decimal fraction. A scalar. Default = 0. If you enter a value for DividendRate, set Dividend and ExDiv = 0 or do not enter them. If you enter values for Dividend and ExDiv, set DividendRate = 0. Dividend (Optional) The dividend payment at an ex-dividend date, ExDiv. A row vector. For each dividend payment, there must be a corresponding ex-dividend date. Default = 0. If you enter values for Dividend and ExDiv, set DividendRate = 0. ExDiv (Optional) Ex-dividend date, specified in number of periods. A row vector. Default = 0.

## Description

[AssetPrice, OptionValue] = binprice(Price, Strike, Rate, Time, Increment, Volatility, Flag, DividendRate, Dividend, ExDiv) prices an American option using the Cox-Ross-Rubinstein binomial pricing model.

## Examples

expand all

### Price an American Option Using the Cox-Ross-Rubinstein Binomial Pricing Model

This example shows how to price an American put option with an exercise price of \$50 that matures in 5 months. The current asset price is \$52, the risk-free interest rate is 10%, and the volatility is 40%. There is one dividend payment of \$2.06 in 3-1/2 months. When specifying the input argument ExDiv in terms of number of periods, divide the ex-dividend date, specified in years, by the time Increment.

ExDiv = ( 3.5/12) / (1/12) = 3.5

```[Price, Option] = binprice(52, 50, 0.1, 5/12, 1/12, 0.4, 0, 0, 2.06, 3.5)
```
```Price =

52.0000   58.1367   65.0226   72.7494   79.3515   89.0642
0   46.5642   52.0336   58.1706   62.9882   70.6980
0         0   41.7231   46.5981   49.9992   56.1192
0         0         0   37.4120   39.6887   44.5467
0         0         0         0   31.5044   35.3606
0         0         0         0         0   28.0688

Option =

4.4404    2.1627    0.6361         0         0         0
0    6.8611    3.7715    1.3018         0         0
0         0   10.1591    6.3785    2.6645         0
0         0         0   14.2245   10.3113    5.4533
0         0         0         0   18.4956   14.6394
0         0         0         0         0   21.9312

```

The output returned is the asset price and American option value at each node of the binary tree.

## References

Cox, J., S. Ross, and M. Rubenstein, "Option Pricing: A Simplified Approach", Journal of Financial Economics 7, Sept. 1979, pp. 229-263.

Hull, John C., Options, Futures, and Other Derivative Securities, 2nd edition, Chapter 14.