European and American Bond Option Functions  Previous topicNext topicFirst topicLast topic

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
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.