Interpolation Sensitivity in Hull–White Bond Curve Calibration
Summary
The document describes a one-factor Hull–White calibration workflow based on a yield curve. Zero-coupon bond prices are derived from the curve, their logarithms are interpolated with cubic splines, and the instantaneous forward curve is computed from the negative time derivative of log bond prices. The author reports that the resulting forward rates fluctuate substantially and that model bond prices appear to differ from the input prices.
The response highlights interpolation as a source of sensitivity: differentiating a fitted bond-price curve can amplify interpolation choices, and piecewise linear interpolation may have unequal left and right derivatives at knots. This points to a potential numerical issue when extracting forwards from a curve. The excerpt does not provide the figures, full notebook, or a complete diagnosis of the calibration mismatch, so it cannot establish whether the model implementation or calibration is otherwise correct.
Key ideas
- Instantaneous forward rates can be obtained from the negative derivative of log discount bond prices.
- The derivative of an interpolated bond curve can be highly sensitive to the chosen interpolation method.
- Piecewise linear interpolation may produce different one-sided derivatives at interpolation points.
- The excerpt flags curve interpolation as a potential source of forward-rate swings but does not resolve the full calibration discrepancy.
Tags
Full text
# Zero Coupon Bond prices in One Factor Hull White model
# Zero Coupon Bond prices in One Factor Hull White model
I implemented the one factor Hull White model for educational purposes and I calibrated the model from a given (made up!) yield curve:
The Zero Coupon Bond Prices from this yield curve are:
Taking the log of the bond prices and use cubic splines for interpolation gives:
Calculating the instantaneous forward rates from the curve above using
$$ f^M(t) = -\frac{\partial \operatorname{log}P(t)}{\partial t} $$
where i use the first derivative of the cubic spline at time $t$ to calculate $\frac{\partial \operatorname{log}P(t)}{\partial t}$ results in
(blue are the forward rates, orange is the original yield curve)
When I calculate the Bond prices from the model I get the following result:
The orange line are the bond prices from the model, the blue dots are the original bond prices.
My questions:
- The forward curve has quite a swing. Is there a problem / fault in my approach?
- Is it plausible that the model prices (last image) differ that much from the data I used for calibration?
The whole jupyter notebook is available here: https://nbviewer.jupyter.org/gist/wpla/435437ddc5bcb1f6bdcae274117725e7
## Answer by Valometrics.com (score 2)
https://quant.stackexchange.com/a/50752
The derivative of the bond prices is very sensitive to the interpolation mode. actually, if you use a linear interpolation mode, you will have some cases for which the right derivative is different from the left derivative at a given point.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.