European and American Generic Option Functions

European and American Generic Option Functions

Generic option values and risk measures can be computed on a number of different underlyings, including currencies, commodities, futures, stock indexes, and non-dividend-paying stocks. Four option models have been implemented in the current version of the software: the payout-adjusted European Black-Scholes (BS), the control-variate American binomial model (Bin), the control-variate American trinomial model (Trin), and the American option approximation due to Ho, Stapleton, and Subrahmanyam (HSS). These models are discussed in Option Methodology.

There are eight calling or "wrapper" functions comprising the set of generic option functions:

 EuroCallBS(argument list…) European call using the BS model EuroPutBS(argument list…) European put using the BS model AmerCallHSS(argument list…) American call using the HSS model AmerPutHSS(argument list…) American put using the HSS model AmerCallBin(argument list…) American call using the Bin model AmerPutBin(argument list…) American put using the Bin model AmerCallTrin(argument list…) American call using the Trin model AmerPutTrin(argument list…) American put using the Trin model

Each of the eight wrapper functions allow the user to choose from eight different calculations, indexed by an alphabetic Output_Type code:

 P option price D delta (derivative with respect to price G gamma (second derivative with respect to price) V vega (derivative with respect to volatility, 1% change) T theta (time decay over next day) R rho (sensitivity to the riskless rate, per 1% change) Y Yield rho (sensitivity to the payout rate, per 1% change) I implied volatility

An Output_Type may be entered in either upper or lower case, and the user many substitute the entire word for the first letter if so desired (only the first letter is scanned).

The functions use the following arguments:

 Argument Description Restrictions Output_Type desired option calculation P, D, G, V, T, R, Y, or I (see above) Asset_Price price of the underlying asset > 0 Strike strike price of the option > 0 Payout_Rate continuously compounded asset payout rate in decimal form (e.g. six percent entered as 0.06) >= 0 Riskless_Rate continuously compounded riskfree interest rate in decimal form (e.g. six percent entered as 0.06) >= 0 Time_in_Years option maturity in years >= 0 Vol, or Opt_Price underlying asset price volatility in decimal form (e.g. twenty percent entered as 0.20), or market price of the option (when Output_Type = I) > 0 Tree_Steps extra argument used in binomial and trinomial models to specify number of tree steps in the lattice > 0 <= 300

In the case of a stock index option, Payout_Rate is interpreted as the annualized dividend payout rate. In the case of a commodity option, Payout_Rate is interpreted as the annualized percentage cost of storing the asset less and convenience yield (excluding interest). In the case of a foreign exchange option, Payout_Rate is interpreted as the annualized foreign riskless rate of interest. For use with futures options, set Asset_Price equal to the futures price and set Payout_Rate equal to the riskless rate of interest. For equity options on non-dividend paying stocks, set Payout_Rate equal to zero.

© 1995-98 Leap of Faith Research Inc.