European and American Bond Option Functions |
European and American Bond
Option Functions (Black-Scholes World)
The following functions are specialized to bond options. They are suitable for options where the life of the option is short relative to the life of the underlying bond. The functions ensure that the risk-neutral forward price used in the option model is consistent with forward prices as calculated in bond markets (see the BondForwardPrice() function). 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 bond option functions:
BondEuroCallBS(argument list ) | European call using the BS model |
BondEuroPutBS(argument list ) | European put using the BS model |
BondAmerCallHSS(argument list ) | American call using the HSS model |
BondAmerPutHSS(argument list ) | American put using the HSS model |
BondAmerCallBin(argument list ) | American call using the Bin model |
BondAmerPutBin(argument list ) | American put using the Bin model |
BondAmerCallTrin(argument list ) | American call using the Trin model |
BondAmerPutTrin(argument list ) | American put using the Trin model |
Each of the eight wrapper functions allow the user to choose from six 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) |
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, or I (see above) |
Valuation_Date | valuation date (e.g. today) | valid Excel date number |
Bond_Settle_Lag | number of business days for bond settlement | >= 0 |
Bond_Maturity_Date | bond maturity date | valid Excel date
number > Valuation_Date + Bond_Settle_Lag |
Coupon | annual bond coupon rate in decimal form (e.g. six percent entered as 0.06) | >= 0 |
Bond_Price | bond price per $100 par | > 0 |
Frequency | coupon frequency per year | 1, 2, 4, or 12 |
DCB | bond day count basis | 0 = 30/360 (US) 1 = act/act 2 = act/360 3 = act/365 4 = 30/360 (European) 5 = CAD modified act/365 |
Option_Settle_Lag | number of business days for option premium settlement | >= 0 |
Option_Maturity_Date | date of option maturity | valid Excel date
number >= Valuation_Date < Bond_Maturity_Date |
Strike_Price | bond option strike per $100 par | > 0 |
Repo_Rate | bond repo rate over option period in decimal form | >= 0 |
Riskless_Rate | riskless interest rate in decimal form | >= 0 |
Rate_Basis | year basis for repo and riskless rates | 360 or 365 |
Yield_Vol or Opt_Price |
underlying asset yield volatility in decimal form, or market price of the option (when Output_Type = I) | > 0 |
Holidays | array of holiday dates | valid Excel date
numbers strictly ascending order |
Tree_Steps | extra argument used in binomial and trinomial models to specify number of tree steps in the lattice | > 0 <= 300 |
© 1995-98 Leap of Faith Research Inc.