| Financial Toolbox | ![]() |
www.kxcad.net Home > CAE Software Index > MATLAB Index >
Implied volatility for futures options from Black's model
Volatility = blsimpv(Price, Strike, Rate, Time, Value, Limit, ... Tolerance, Class)
Price | Current price of the underlying asset (a futures contract). |
Strike | Exercise price of the futures option. |
Rate | Annualized, continuously compounded risk-free rate of return over the life of the option, expressed as a positive decimal number. |
Time | Time to expiration of the option, expressed in years. |
Value | Price of a European futures option from which the implied volatility of the underlying asset is derived. |
Limit | (Optional) Positive scalar representing the upper bound of the implied volatility search interval. If Limit is empty or unspecified, the default = 10, or 1000% per annum. |
Tolerance | (Optional) Implied volatility termination tolerance. A positive scalar. Default = 1e-6. |
Class | (Optional) Option class (call or put) indicating the option type from which the implied volatility is derived. May be either a logical indicator or a cell array of characters. To specify call options, set Class = true or Class = {'call'}; to specify put options, set Class = false or Class = {'put'}. If Class is empty or unspecified, the default is a call option. |
Volatility = blkimpv(Price, Strike, Rate, Time, CallPrice, MaxIterations, Tolerance) computes the implied volatility of a futures price from the market value of European futures options using Black's model.
Volatility is the implied volatility of the underlying asset derived from European futures option prices, expressed as a decimal number. If no solution is found, blkimpv returns NaN.
Any input argument may be a scalar, vector, or matrix. When a value is a scalar, that value is used to compute the implied volatility of all the options. If more than one input is a vector or matrix, the dimensions of all nonscalar inputs must be identical.
Rate and Time must be expressed in consistent units of time.
Consider a European call futures option that expires in four months, trading at $1.1166, with an exercise price of $20. Assume that the current underlying futures price is also $20 and that the risk-free rate is 9% per annum. Furthermore, assume that you are interested in implied volatilities no greater than 0.5 (50% per annum). Under these conditions, the following commands all return an implied volatility of 0.25, or 25% per annum:
Volatility = blkimpv(20, 20, 0.09, 4/12, 1.1166, 0.5)
Volatility = blkimpv(20, 20, 0.09, 4/12, 1.1166, 0.5, [],
{'Call'})
Volatility = blkimpv(20, 20, 0.09, 4/12, 1.1166, 0.5, [], true)
Hull, John C., Options, Futures, and Other Derivatives, Prentice Hall, 5th edition, 2003, pp. 287-288.
Black, Fischer, "The Pricing of Commodity Contracts," Journal of Financial Economics, March 3, 1976, pp. 167-79.
| binprice | blkprice | ![]() |
© 1984-2007 The MathWorks, Inc. Terms of Use Patents Trademarks Acknowledgments