Documentation

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.

See Also

|

Was this topic helpful?