GenCurveBondPriceRV_FShock() function |

**GenCurveBondPriceRV_FShock() function**

**GenCurveBondPriceRV_FShock(argument list…)**

This function returns the price of a bond, and allows the curve to be shocked using forward curve shocks in addition to the "normal" shocks. This function is called internally by the HW_Bond_ED_Hedge function, and is exported for testing purposes only (one can determine the forward rate curve shocks for a 1 tick move in the Eurodollar contract, and see the effect that this shock has on the bond price). The function uses the following arguments:

Argument |
Description |
Restrictions |

Valuation_Date |
valuation date (e.g. today) | valid Excel date number |

Settlement_Date |
bond settlement date | valid Excel date number >= Valuation_Date |

Maturity_Date |
bond maturity date | valid Excel date number >= Settlement_Date |

Coupon |
annual bond coupon in decimal form (e.g. six percent entered as 0.06). For zero coupon (strip) bonds, enter 0. | >= 0 |

Freq |
number of bond coupons per annum | 1, 2, 4, or 12 |

DCB |
day count basis | 0 = 30/360 (US) 1 = act/act for US T-Bonds 2 = act/360 3 = act/365 4 = 30/360 (European) 5 = Canadian modified act/365 |

Redemption |
redemption value of bond per $100 par | typically $100 [always $100 in the HW_Bond_ED_Hedge routine] |

Curve_Type |
defines how the Zero_Rates array is to be interpreted | 0 = continuously compounded riskless rates in, decimal form 1 = discount factors (first must be 1.0, and must be declining) |

Interpolation |
the interpolation method to employ for the Zero_Rates array | 0 = cubic-spline 1 = linear 2 = log-linear |

Zero_Dates |
array of zero coupon curve dates | strictly ascending orderThe first date of this array must be Valuation_Date |

Zero_Rates |
an array of zero rates or discount factors corresponding to Zero_Dates | |

OAS |
parallel shift of the zero curve in decimal form | |

Bucket_Start |
beginning of bucket for zero curve shifts | set to 0 if curve shift is not desired |

Bucket_End |
end of bucket for zero curve shift | >= Bucket_Start |

Bucket_Shift |
parallel shift of the zero curve between Bucket_Start and Bucket_End in decimal form | set to 0 if curve shock is not desired |

Fwd_Bucket_Start |
beginning of bucket for shift of continuously compounded FORWARD RATE curve (in addition to any other of the above shocks) | >= Valuation_Date |

Fwd_Bucket_End |
end of bucket for FORWARD RATE curve shift | > Fwd_Bucket_Start |

Fwd_Bucket_Shift |
parallel shift of the continuously compounded forward rate curve between Fwd_Bucket_Start and Fwd_Bucket_End in decimal form | set to 0 if curve shock is not desired |

Fwd_Buck_Dir |
the method used to shock the forward rate curve; -1 should be used for the nearest futures contract (in order to capture the effect from stub rate to the first futures date); 0 should be used for "middle" contracts, and 1 should be used for the final contract (in order to capture shocks beyond the final futures contract) | -1: applies the forward rate shock from valuation date until the Deposit_Expiry date 0: applies the shock only from the Futures_Expiry date until the Deposit_Expiry date 1: applies the shock from the Futures_Expiry date onwards |

© 1995-98 Leap of Faith Research Inc.