RDP 2023-04: Can We Use High-frequency Yield Data to Better Understand the Effects of Monetary Policy and Its Communication? Yes and No! Read me file

This ‘read me’ file details the replication files for RDP 2023-04. The publicly available plotting data for figures appearing in the RDP can be found in the spreadsheet ‘rdp-2023-04-graph-data’.

Data and code

The data and code are separated into several subsections that must be run separately. All code shown relative to a root directory.

Nominal ATSM estimation

Code to construct nominal ATSM model for estimation. This does not need to be re-run as ATSM parameters are provided, but shows the estimation approach. Note this code is adapted from Adrian, Crump and Moench (2013), and subroutines are used elsewhere. This code was run in Matlab version 2021b.

  • Code folder:
    • \Code\Nom ATSM
  • Code file:
    • ‘ACMnomM93_zero_S.m’ (version with surveys)
    • ‘ACMnomM93.m’ (boostrapped and unadjusted versions)
  • Input folder:
    • \Input data\Nom ATSM\ATSM inputs\
  • Input files:
    • ‘Yields_m – extra.csv’ (end-month data from zero coupon yield curve)
    • ‘Returns_m_red – extra.csv’ (calculated excess returns)
    • ‘Cash forecasts – m.csv’ (cash rate forecasts from various sources) – not for public release due to confidentiality
    • ‘Forecasts_10__s.csv’ (10-year bond rate forecasts from various sources) –not for public release due to confidentiality
  • Output folder:
    • \Input data\Nom ATSM
  • Outputs:
    • ‘M93’ files (for each specification, contain estimated yields)
    • ‘param’ files (for each specification, contain estimated parameters)

Getting HF yield curve changes

Code files to pull together high-frequency interest rate changes, these files will not run as they are drawing from either confidential or 3rd party-provided data but are provided to help you understand the methodology. Based on code for He (2021). Run in RStudio 2022.

  • Code folder:
    • \Code\Yield data extract
  • Code file:
    • ‘mp_surprise_save_sub_set_curve_data_day.R’
  • Input folder:
    • \Input data\findur-outputs
  • Input files:
    • ‘Findur intraday OIS data.csv’ (monetary policy announcement OIS) – not for public release
    • ‘yield-curve.xlsx’ (monetary policy announcement yields – not for public release
    • ‘other events.csv’ (other announcements) – not for public release
  • Output folder:
    • \Input data\HF zcr\input
  • Output files:
    • ‘ois_pre.csv’ – not for public release
    • ‘ois_post.csv’ – not for public release
    • ‘yield details.csv’ – not for public release
    • ‘yield pre.csv’ – not for public release
    • ‘yield_post.csv’ – not for public release
    • ‘cash_rate_pre.csv’ – not for public release
    • ‘cash_rate_post.csv’ – not for public release

These output files are reformatted into ‘zero_input_pre’, ‘zero_input_post’, ‘zero_input_pre_extra’ and ‘zero_input_post_extra’, where the latter two are other announcements.

Zero-coupon yield curve fitting

Code files to take formatted high-frequency OIS and yield data and turn into a zero-coupon curve before and after the announcement, these files will not run as they are drawing from 3rd party-provided data but are provided to help you understand the methodology. Based on code for RBA statistical table F17 (Zero-coupon Interest Rates – Analytical Series) by Finlay and Olivan (2012). Run in RStudio 2022.

  • Code folder:
    • \Code\HF zcr\
  • Code file:
    • ‘run zeroes.r’
  • Input folder:
    • \Input data\ HF zcr\input
  • Input files:
    • ‘zero_input’ files (‘pre’ and ‘post’ are timing, MP announcements) – not for public release
    • ‘zero_input_extra’ files (‘pre’ and ‘post’ are timing, other announcements) – not for public release
  • Output folder:
    • \Input data\HF zcr\output
  • Output files:
    • ‘Yield.pre.csv’ and ‘Yield.post.csv’ (MP announcements) – not for public release
      • – Note 3-month and 2-year data are used for ‘pc_yield_simpler_shocks.csv’ below.
    • ‘Yield.pre_extra.csv’ and ‘Yield.post_extra.csv’ (other announcements) – not for public release

Decompose MP shocks

This code decomposes the high-frequency yield changes into the various monetary policy shock components. Based on code from Kaminska, Mumtaz and Šustek (2021). Draws on ATSM estimates from above. This code was run in Matlab version 2021b.

  • Code folder:
    • \Code\Decomposing shocks
  • Code files:
    • ‘Code_for_HF_shock_through_ACM1_baseline.m’ (baseline shocks)
    • ‘Code_for_HF_shock_through_ACM1_boot.m’ (bootstrapped shock)
    • ‘Code_for_HF_shock_through_ACM1_allevents.m’ (baseline shocks with other events)
    • ‘Orthogonolise_shocks.m’ (orthogonolise the estimated shocks)
    • ‘Running_unconv_through_model.m’ (decompose unconventional policy dates)
    • ‘Running_all_days_through_model_sample.m’ (decompose all days)
  • Input folder:
    • \Input data\HF zcr\output
  • Input files:
    • Yield.pre and Yield.post (MP announcements) – not for public release
    • Yield.pre_extra and Yield.post_extra (other announcements) – not for public release
    • \Input data\Nom ATSM\ATSM inputs\‘Yields_m – extra.csv’ (for sample comparison)
    • \Input data\HF zcr\input\‘Announcement ZCR.xls’ (for unconventional policy periods)
      • – Obtained from RBA statistical table F17
    • Input data\HF zcr\input\‘full_hist_day’ (daily data for all days)
      • – Obtained from RBA statistical table F17
    • Input data\VAR data\‘orthog_series.csv’
      • – Unemployment rate – ABS Labour Force Statistics, Australia, seasonally adjusted, %
      • – Employment – ABS Labour Force Statistics, Australia, seasonally adjusted, log*100
      • – Commodity prices – RBA Index of Commodity Prices, All Items; A$, end-month value of month prior to Board meeting; obtained from RBA statistical table I2 Commodity Prices
      • – Money market spread – money market spread between 3-month bank-accepted bill (BAB) rate and 3-month Australian dollar overnight indexed swap (OIS) rate (3-month zero-coupon forward rate prior to July 2001); end-month value
      • – TWI – nominal trade-weighted exchange rate; end-month value of month prior to Board meeting; obtained from RBA statistical table F11 Exchange Rates
      • – VIX – US VIX, end-month value; obtained from Federal Reserve Bank of St. Louis, Federal Reserve Economic Database (FRED)
      • – BAA – Moody's seasoned BAA corporate bond yield relative to yield on 10-year Treasury constant maturity, end-month value; obtained from FRED
      • – us_cp_spread – 90-day AA commercial paper rate, less Federal funds rate; obtained from FRED
      • – ASX 200 – ASX 200 index, log*100; obtained from Bloomberg
  • Output folder:
    • \Outputs\HF decomp\
  • Output files:
    • ‘Curve’ files (have data on yield, expected future short rates, and term premia before and after)
      • – Underlie Figures 1–3
    • ‘contrs’ files (contribution of each shock to changes in yields over time)
      • – Merged into ‘Chart of decomp’ files to underlie Figures 5–7
  • Alternate output folder:
    • \Input data\VAR data
  • Output files:
    • ‘pc_yield’ files (shock series for VAR analysis)

Run VAR models

This code runs the various IV-SVAR estimations. This code was run in Matlab version 2021b.

The main files to run to replicate the IV-SVAR results are as follows:

  • Code folder:
    • \Code\IV_SVAR
  • Code files:
    • ‘estimate_baseline_IV_SVAR.m’ (baseline, replicates Figures 8–10)
    • ‘estimate_quarterly_IV_SVAR.m’ (quarterly model replicates Figure 11)
    • ‘estimate_noGFC_IV_SVAR.m’ (replicates ‘No GFC’ responses in Figures B3 and B4).
    • ‘estimate_orthogonalized_IV_SVAR.m’ (replicates ‘Orthogonalised’ responses in Figures B3, B4 and B5).
    • ‘estimate_bootstrap_IV_SVAR.m’ (replicates ‘Bootstrapped’ responses in Figures B3, B4 and B5.)
    • ‘estimate_simpler_shocks_IV_SVAR.m’ (replicates ‘3-month OIS change’, ‘24-month OIS change’ and ‘First factor of expected rate changes’ responses in Figure B6)
    • ‘estimate_allevents_IV_SVAR.m’ (replicates Figure B7)
  • Input folder:
    • Input data\VAR data
  • Input files:
    • ‘var_data_m.csv’ (contains the data on the variables used in the IV-SVAR). Note the housing prices series is not available for public release as it is 3rd party-provided data.
      • – Unemployment rate – ABS Labour Force Statistics, Australia, seasonally adjusted, %
      • – Mortgage rate –Lending rates, Housing loans, Banks, Variable, Standard, Owner-occupier; obtained from RBA statistical table F5 Indicator Lending rates, FILRHLBVS
      • – Cash rate – obtained from RBA statistical table F17
      • – Mortgage spread – Mortgage rate less cash rate, break adjusted in 2009
      • – Aust housing prices – Home Value Index – Dwellings: Weighted 8 Capital City; Index, nsa, Mthly, log*100; obtained from CoreLogic – not for public release (3rd party-provided data)
      • – Dwelling approvals – ABS Building Approvals, Australia, national, seasonally adjusted, log*100
      • – Retail sales – ABS Retail Trade, Australia, national, seasonally adjusted, log*100
      • – TWI – nominal trade-weighted exchange rate; end-month value of month prior to Board meeting; obtained from RBA statistical table F11 Exchange Rates
      • – RTWI – Real trade-weighted exchange rate; obtained from RBA statistical table F15 Real Exchange Rate Measures
      • – Aust GDP – Real gross domestic product (GDP), seasonally adjusted, chain volume; obtained from ABS Australian National Accounts: National Income, Expenditure and Product
      • – CPI – Trimmed mean CPI; obtained from RBA statistical table G1 Consumer Price Inflation
      • – Qmle_f – QMLE factors from Hartigan and Morley (2020)
    • ‘Full_hist_month.csv’ (RBA statistical table F17 monthly yield data for PCs)
    • ‘pc_yield_baseline.csv’ (contains the baseline ‘Action’, ‘Path’ and ‘Premia’ shock series)
    • ‘pc_yield_noGFC.csv’ (contains the ‘Action’, ‘Path’ and ‘Premia’ shock series excluding the GFC period)
    • ‘pc_yield_orthog.csv’ (contains the orthogonalised ‘Action’, ‘Path’ and ‘Premia’ shock series)
    • ‘pc_yield_bootstrap.csv’ (contains the bootstrapped ‘Action’, ‘Path’ and ‘Premia’ shock series)
    • ‘pc_yield_simpler_shocks.csv’ (contains surprises changes in 3-month OIS, 24-month OIS and first factor of expected short-rate)
    • ‘pc_yield_shocks_allevents.csv’ (contains shock series for all forms of announcements)
  • Output folder:
    • \Outputs\VAR outputs
  • Output files:
    • Various charts, Matlab and xls files.

Run local projection models

This code runs the various local projection estimation used as robustness. This code was run in Matlab version 2021b. Based on code from Kaminska et al (2021), as are subroutines in ‘functions’ sub-folder

  • Code folder:
    • \Code\LP
  • Code files:
    • ‘estimate_shock1_internal_adj.m’ (baseline, replicates Figure B8)
  • Input folder:
    • Input data\VAR data
  • Input files:
    • As with the VAR models section
  • Output folder:
    • \Outputs\LP outputs
  • Output files:
    • Various charts and xls files (empty folder to be populated when code is run)

References

Adrian T, RK Crump and E Moench (2013), ‘Pricing the Term Structure with Linear Regressions’, Journal of Financial Economics, 110(1), pp 110–138.

Finlay R, D Titkov and M Xiang (2022), ‘The Yield and Market Function Effects of the Reserve Bank of Australia's Bond Purchases’, RBA Research Discussion Paper No 2022–02.

Hartigan L and J Morley (2020), ‘A Factor Model Analysis of the Australian Economy and the Effects of Inflation Targeting’, Economic Record, 96(314), pp 271–293.

He C (2021), ‘Monetary Policy, Equity Markets and the Information Effect’, RBA Research Discussion Paper No 2021–04.

Kaminska I, H Mumtaz and R Šustek (2021), ‘Monetary Policy Surprises and Their Transmission through Term Premia and Expected Interest Rates’, Journal of Monetary Economics, 124, pp 48–65.

12 May 2023

Back to abstract