Black model for pricing futures options
[Call,Put] = blkprice(Price,Strike,Rate,Time,Volatility)
Any input argument can be a scalar, vector, or matrix. If a scalar, then that value is used to price all options. If more than one input is a vector or matrix, then the dimensions of those non-scalar inputs must be the same.
Volatility are expressed in consistent units of
This example shows how to price European futures options with exercise prices of $20 that expire in four months. Assume that the current underlying futures price is also $20 with a volatility of 25% per annum. The risk-free rate is 9% per annum.
[Call, Put] = blkprice(20, 20, 0.09, 4/12, 0.25)
Call = 1.1166
Put = 1.1166
Price— Current price of underlying asset
Current price of the underlying asset (that is, a futures contract), specified as a numeric value.
Strike— Exercise price of the futures option
Exercise price of the futures option, specified as a numeric value.
Rate— Annualized continuously compounded risk-free rate of return over life of the option
Annualized continuously compounded risk-free rate of return over the life of the option, specified as a positive decimal number.
Time— Time to expiration of option
Time to expiration of the option, specified as the number of
Time must be greater than
Volatility— Annualized asset price volatility
Annualized futures price volatility, specified as a positive decimal number.
Call— Price of a European call futures option
Price of a European call futures option, returned as a matrix.
Put— Price of a European put futures option
Price of a European put futures option, returned as a matrix.
 Hull, John C. Options, Futures, and Other Derivatives. 5th edition, Prentice Hall, , 2003, pp. 287–288.
 Black, Fischer. “The Pricing of Commodity Contracts.” Journal of Financial Economics. March 3, 1976, pp. 167–79.