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