Bootstrapping Yield Curve

Bootstrap the yield curve, discount curve and forward curve from bond market prices. Plot results.
2.2K Downloads
Updated 7 Dec 2010

View License

Bootstrap the yield curve, discount curve and the forward curve from market data

***************** BOOTSTRAPPING RESULTS **********************

Time (Years)| Yield Curve | Discount Curve| Forward Curve |
-----------------------------------------------------------------------
0.51 | 1.2404% | 0.9938 | 1.2366% |
1.01 | 1.1857% | 0.9881 | 1.1282% |
1.52 | 1.4177% | 0.9788 | 1.8735% |
2.03 | 1.8191% | 0.9641 | 3.0081% |
2.54 | 2.2704% | 0.9447 | 4.0628% |
3.04 | 2.6798% | 0.9226 | 4.6925% |
3.55 | 3.0091% | 0.9001 | 4.9538% |
4.06 | 3.2662% | 0.8777 | 5.0182% |
4.56 | 3.4694% | 0.8559 | 5.0521% |
5.07 | 3.6464% | 0.8339 | 5.1832% |
5.58 | 3.8090% | 0.8117 | 5.3740% |
6.09 | 3.9591% | 0.7895 | 5.5457% |
6.59 | 4.0913% | 0.7676 | 5.6195% |
7.10 | 4.1997% | 0.7466 | 5.5403% |
7.61 | 4.2799% | 0.7270 | 5.3424% |
8.12 | 4.3337% | 0.7087 | 5.0797% |
8.62 | 4.3650% | 0.6919 | 4.8105% |
9.13 | 4.3803% | 0.6761 | 4.5880% |
9.64 | 4.3876% | 0.6611 | 4.4698% |
10.15 | 4.3963% | 0.6462 | 4.5122% |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[YieldCurve, DiscountCurve, ForwardCurve] = Bootstrap( Bond, Schedule, Solver )

======================================================
INPUTS:

Bond

  Bond.CashFlows - Matrix of all cash-flows of all bonds
one column represents one bond. one row represents one cash-flow date

  Bond.BondMarketPrices - Vector of bond market prices

Schedule

  Schedule.CashFlowSchedule - Times where future cash flows are paid.
This is common to all bonds. This needs inputing in years from today and accounting for the right day count convention.

Solver

  Solver.InterpolationMethod - Interpolation method to bootstrap the forward curve (the curve that is solved for). The valid inputs are:
'nearest' Nearest neighbor interpolation
'linear' Linear interpolation (default)
'spline' Cubic spline interpolation
'pchip' Piecewise cubic Hermite interpolation

Graph

  Graph - If graph = 'on', the bootstrapping automatically generates a graph that consists in four subplots: the yield curve (yield to maturity), the discount to par value curve, the discount curve and the forward curve.

======================================================
OUTPUTS: 

ForwardCurve - Vector of forward rates.
There are as many forward rates output as cash flow dates input. For a given date t, the forward rate at this date represents the rate tarting from the previous date t-1 and maturing at the given date t.

DiscountCurve - Vector of discount factors. There are as many discount factors output as cash flow dates input.

YieldCurve - Vector of bond yields to maturity.
There are as many bond yields output as cash flow dates input.

Cite As

Rodolphe Sitter (2026). Bootstrapping Yield Curve (https://www.mathworks.com/matlabcentral/fileexchange/29630-bootstrapping-yield-curve), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
1.1.0.0

new graph layout

1.0.0.0