# CAD Government Bond Curve Construction

&#x20;

CAD Government Bond Bootstrapping

&#x20;

An algorithm is presented for bootstrapping a discount factor curve. The bootstrapping procedure uses an input set of instruments with different maturities (i.e., Canadian government money market securities and bonds) to generate successive points on a discount factor curve.

&#x20;

The Canadian zero curves generated will be used to generate particular risk measures, for example DV01’s. Moreover, the zero rate curves are not intended for use in pricing (P\&L) applications (ref <https://finpricing.com/lib/IrInflationCurve.html>).

&#x20;

Canadian Government Bonds are traded and quoted based on yield to maturity (YTM). The actual settlement clean price depends on the number of coupons available. For bonds with a single remaining coupon, the bond trades at a pure discount (i.e., like a money market instrument). For bonds with multiple remaining coupons, these are priced with a special formula.

&#x20;

CAD government with a single coupon remaining are quoted using simple interest conventions. In this case, yield is quoted as a money market YTM.

&#x20;

*Example*: assuming a quoted YTM of 3.0%, a two-day settlement and 120 days to maturity, we compute

&#x20;

&#x20;                                 ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png),                                            &#x20;

&#x20;

and a dirty price

&#x20;

&#x20;                                   ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png).

&#x20;

The clean price is calculated

&#x20;

&#x20;                                       ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png).

&#x20;

The bond dirty price to trade date, is ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png).

&#x20;

Consider a CAD government bond with more than one coupon remaining. Let

&#x20;

§  ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png) denote the number of remaining coupons,

§  ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png) denote the number of days in the first coupon period that includes the settlement date,

§  ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png) denote the number of days between settlement date and coupon payment, and

§  ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png)denote the semiannual YTM of the bond.

&#x20;

Then, the unadjusted dirty price of the bond (at settlement) is

&#x20;

&#x20;                                ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png).                                           &#x20;

&#x20;

The unadjusted dirty price is used, along with an unadjusted accrued interest, to compute the true clean price. The unadjusted accrued interest is computed

&#x20;

&#x20;                                    ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png),

&#x20;

after which the true clean price is computed

&#x20;

&#x20;                                        ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png).

&#x20;

Finally, the true dirty price may be computed

&#x20;

&#x20;                                       ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png),

&#x20;

where ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png) is calculated as described in Equation (A1). Assuming ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png) days to settlement, the bond’s dirty price at trade date is ![](file:///C:/Users/Xiao/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png).

&#x20;

To determine discount factors at times intermediate to control points, We apply a particular interpolation technique. There are three available:

&#x20;

·         LINEAR

·         LOG\_LINEAR

·         TIME\_WEIGHTED\_LINEAR

&#x20;

The LINEAR scheme interpolates zero rates linearly between successive control points on the zero curve; that is, if and are bootstrapped continuously compounded zero rates at successive control points, then

&#x20;

&#x20;                           where .                           (1)

&#x20;

The LOG\_LINEAR scheme interpolates linearly between and , that is,

&#x20;

&#x20;  or &#x20;

&#x20;

.              (2)

&#x20;

The TIME\_WEIGHTED\_LINEAR scheme interpolates between  and ,

&#x20;

&#x20;                    ,                                 (3)

&#x20;

where and . Since t2>t1, the TIME\_WEIGHTED\_LINEAR scheme weights rate information farther in the future more heavily than rate information in the near future.
