Pricing Bonds with Nelson–Siegel–Svensson Discount Factors
Summary
The document addresses a question about applying the Nelson–Siegel–Svensson model to bond cash flows. The questioner is unsure whether bonds with different cash-flow dates require a shared discount vector sized to the longest bond, so that a cash-flow matrix can be multiplied by it. The response recommends calculating each bond separately instead of forcing its cash flows into a common matrix layout.
For each bond, associate every cash flow with a discount factor evaluated at that payment’s time to maturity, then sum the discounted cash flows to obtain the model price. Repeat this process for the bonds in the calibration set and minimize the aggregate weighted squared pricing errors. This explains the pricing objective at a conceptual level, but does not specify the exact Nelson–Siegel–Svensson parameterization, error weights, optimization procedure, or treatment of market conventions. Matrix implementations remain possible, but the answer does not develop one.
Key ideas
- Each bond has cash flows discounted at their own payment times.
- A bond’s theoretical price is the sum of its discounted cash flows.
- Calculate model prices separately for each bond in the calibration set.
- Fit the curve by minimizing the aggregate weighted squared pricing errors.
- The response does not specify parameterization or optimization details.
Tags
Full text
# Calculating discount factors using Nelson Siegel Svensson model # Calculating discount factors using Nelson Siegel Svensson model I am trying to understand how to calculate the discount factors $disc(TTM)$ mentioned on Page 9 of this pdf. When I'm calculating the discount factors, mentioned each bond has its own cash flow and cash flow time vector. Wouldn't this imply that since there are as many TTM Vectors as there are bonds, there will be as many $disc(TTM)$ values as there are bonds, and as a result the discount vector will have as many rows as there are bonds? However, shouldn't it have as many rows as the number of cash flows of the bond with the longest time to maturity (Only then would we be able to multiply the matrix of coupons and face values ($A$) with the discount vector ($P$) as listed here? Edit: I apologize if I've asked a question similar to this one. But I'm trying to gather as much information as I can and ask this question thats been plaguing me as clearly as possible. Thank You ## Answer by Helin (score 1, accepted) https://quant.stackexchange.com/a/19057 You really don't even need to put them into matrices, which I feel is confusing you more than helping... For each bond, you have a list of cash flows ($c_i$'s). For each cash flow, you can compute the corresponding discount factor ($d(t_i)$'s). Sum up the discounted cash flows gets you the theoretical price: $P = \sum_i c_i d(t_i)$. Repeat this for every bond, and add up all the (weighted squared) errors. That's the thing you need to minimize.
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.