Research Discussion Paper – RDP 2018-02 Affine Endeavour: Estimating a Joint Model of the Nominal and Real Term Structures of Interest Rates in Australia

Supplementary Information

Read me file

This ‘read me’ file contains details of the code and data included in this archive that were used to generate the results reported in RDP 2018-02. Publically available plotting data for all figures appearing in the RDP can be found in the spreadsheet: rdp-2018-02-graph-data.xls.

The model uses data on the nominal and real zero-coupon yield, as well as survey measures of inflation and cash rate expectations, to construct estimates of future nominal and real rates, and expected inflation at any horizon. For more information on the model itself, see the RDP.


The following data sources were used:

  • Nominal zero-coupon bond yield data – ‘Some yields m.csv’:
    • Nominal zero-coupon yield data taken from Statistical table F17 ‘Zero-coupon Interest Rates – Analytical Series – 2009 to Current’ on RBA website.
  • Real zero-coupon bond yield data – ‘Some yields m15 – real adj.csv’:
    • Real zero-coupon data constructed using CPI, zero-coupon nominal bond yields, and inflation-indexed bond yields (details on how to update below). All component data are from RBA website (Statistical tables F16, F17 and G1 ‘Consumer Price Inflation’).
  • Maturity of inflation indexed bonds data – ‘Closest_yield.csv’:
    • Data on maturities of inflation-indexed bonds. Constructed using data from RBA website (Statistical table F16 ‘Indicative Mid Rates of Selected Australian Government Securities’).
  • Cash rate forecasts:
    • From Bloomberg (March 2000 to June 2005) and RBA Survey of Market Economists (July 2005 onwards). Not available for release.
  • Inflation forecasts:
    • From Consensus Economics. Not available for release.

Figure data

Figure 1-11: Public availability OK

Figure D1-F6: Public availability OK

Figure F7: Filtered and unfiltered series public availability OK; surveys series from Consensus Economics public availability No


The real zero-coupon bond rate data were constructed in R version 3.4.1 using the following two programs ‘InterpolationAdj.txt’ and ‘fun.txt’. Both are found in the ‘Real rate zero coupon’ subfolder.

To run, run the ‘InterpolationAdj.txt’ program. This will pull data from the ‘RealDataAdj.csv’ file.
Column A of this file contains the relevant month. Column B is the date of the next CPI release.
Columns C–E have CPI inflation in the previous 3 quarters. Column F–R contains data on individual inflation indexed bond lines from Statistical table F17. The rest of the columns contain nominal zero-coupon yield data from Statistical table F16.

Running the program produces ‘FR_Interpolated_Adj.csv’ and ‘ZC_Interpolated_Adj.csv’. The latter are the data used to populate ‘Some yields m15 – real adj.csv’ in the main folder.

The term structure model was estimated using Matlab 2017a. It requires the use of the Statistics and Machine Leaning toolbox, and the Optimization toolbox.

The main program file used to run the models is:

  • sample_estimation_r_survey.m

To run, you must set the location of your data files in line 42. The code assumes the ‘jsz_library’ subfolder is in the current working directory. This subfolder includes all programs and routines called by the main program. Within this, ‘general’ contains some programs with wider applicability, whereas ‘jsz’ has programs specific to the model.

The outputs used to construct Figures 3-11 and Table 2 are stored in:

  • Fit_yrf_kf: Filtered expected nominal short rates
  • Fit_yrf_r_kf: Filtered expected short-term inflation (skip first column)
  • Fit_y_kf: Filtered fit nominal yields
  • Fit_y_r_kf: Filtered fit real yields

Outputs used for Figures 1 and 2 are stored in matrix W.
To change the sample (e.g. for results estimated from 1997 onwards in Appendix E) adjust data files.
No changes need to be made to program, except to tell it where the relevant data files are.

Output for non-filtered model (e.g. for Figures in Appendix F) are stored in:

  • Fit_yrf: Filtered expected nominal short rates
  • Fit_yrf_r: Filtered expected short-term inflation (skip first column)
  • Fit_y: Filtered fit nominal yields
  • Fit_y_r: Filtered fit real yields

Standard errors in Table 1 are obtained using the mr_hessian.m program found in the subfolder ‘jsz_library’ -> ‘general’.

  • Supplementary information

Back to abstract