Skip to content
All library documents

How Cubic Discount-Curve Interpolation Affects Forward Rates

Article Quant Q&A · Author: Riser

Summary

The document investigates why cubic interpolation of discount factors in QuantLib might produce zero or irregular forward rates near a curve endpoint, in contrast with log-linear interpolation. It describes a curve built from dated discount factors and compares natural cubic, monotonic log-cubic, and log-linear interpolation. The question suggests that endpoint conditions on second derivatives may be related to the observed behavior, while asking how to avoid it.

The accepted response presents a Python example that constructs several curves from a similar set of discount factors, enables extrapolation, and calculates zero and one-day forward rates at curve dates. It reports that the author could not reproduce the problem, but the excerpt ends before showing the resulting plot or offering a diagnosis. Consequently, it demonstrates a useful replication approach without establishing the cause or a fix. Results may depend on the exact dates, curve setup, interpolation class, and rate-query conventions.

Key ideas

  • Cubic interpolation of discount factors can behave differently from log-linear interpolation when deriving forward rates.
  • The question focuses on apparent zero forwards near the endpoint of a curve.
  • The response tests the issue by constructing multiple QuantLib discount curves from dated discount factors.
  • The example compares zero rates and one-day forwards but does not provide a diagnosis or remedy in the excerpt.

Tags

Full text
# Binary option expression


# Binary option expression












Given r=0, σ(K)=const Binary=lim┬(ε→0)⁡〖((C(K,σ(K))-C(K+ε,σ(K+ε))))/ε〗 What is the analytical expression for the binary option value?

σ(K)=const Therefore, Binary=lim┬(ε→0)⁡〖((C(K)-C(K+ε)))/ε〗

What is the next step? Thank you

## Answer by Mark Joshi (score 1)

https://quant.stackexchange.com/a/15374

if you let the implied vol depend on K you get two terms the first is

$N(d_2) $

but you get a correction term which is the slope times the vega

$$ \frac{\partial C}{\partial \sigma} \frac{\partial \sigma}{\partial K}.$$

(see eg my book)

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.