PROGRAM AND FIGURES FILE FOR ANDERSON'S MBS PAPER- NOVEMBER 1993
The following RATS program is used for calculating a liquidations level of each
MBS, a prepayments level of each MBS, the MBS effects on demand deposits, and
levels of monetary aggregates adjusted for these MBS effects. Many of these
series are used in the figures of the paper.
*
* Filename: c:\refin\rats\ratsprg1.prg
* 16 November 1993
* This program calculates a simple mbs effect on demand deposit accounts
* and outputs it and adjusted levels of monetary aggregates to a spreadsheet
* called OUTPUT1.WK1. Series used in some figures are output to a spreadsheet
* called OUTPUT2.WK1. It reads in the raw data from spreadsheets called
* RAWDATA1.WK1 and RAWDATA2.WK1.
* This program is written for Rats 4.0.
*
cntrl(interactive)
cal 72 1 12
all 9 1993:9
*
* =================== LOADING RAW DATA ==========================
* Data are loaded from the spreadsheets contained in the root directory
* The variable names are hard-coded into the spreadsheets
*
open data c:\rawdata1.wk1
data(format=wks,org=obs) / m1sa m2sa ddansa ddasa
*
open data c:\rawdata2.wk1
data(format=wks,org=obs) / gnma gissue fnma fissue fhlmc fhissue
*
* =================== BASIC CALCULATIONS ========================
* The equations are identities for liquidations of the MBS
*
set gnliqud / = (gissue(t)-gnma(t)+gnma(t-1))/1000
set fnliqud / = (fissue(t)-fnma(t)+fnma(t-1))/1000
set fhliqud / = (fhissue(t)-fhlmc(t)+fhlmc(t-1))/1000
set toliqud / = gnliqud(t)+fnliqud(t)+fhliqud(t)
*
* =================== ASSUMPTIONS ===============================
* >> assume normal monthly principal payments are about 1 percent
* (at an annual rate) of outstandings. .01/12 = .001
*
* PARAMETERS:
* (1) gddadays = number of days GNMA funds remain in dda during
* the month following refinancing before being paid to
* investors
* alternative values = {15,20}
* (2) fddadays = same for FNMA funds
* alternative values = {18,23}
* (3) fmdadays = same for FNMA funds in money market demand accounts.
* alternative values = {18,23}
* (4) spread = weighted average of timing of closings during month.
* .36 = more closings later in month
* .50 = uniform rate of mortgage closings throughout month
* .64 = more closings earlier in month
* (5) mdashare = proportion of funds kept in mmda accounts
* alternative values = {.25,.35}
*
* calculate prepayments of MBS
compute [real] payrate = 0.001
set gnrepay / = gnliqud(t)-payrate*gnma(t-1)/1000.
set fnrepay / = fnliqud(t)-payrate*fnma(t-1)/1000.
set fhrepay / = fhliqud(t)-payrate*fhlmc(t-1)/1000.
* calculate individual MBS effects on dda
compute [real] gddadays=20,fddadays=23,fmdadays=23,spread=.50,mdashare=.25
set gndda / = spread*gnrepay(t) + gddadays/30*gnrepay(t-1)
set fndda / = (1.0-mdashare)*(spread*fnrepay(t)+fmdadays/30.0*fnrepay(t-1))
set fhdda / = 0.15*fhrepay(t)
set fnmda / = mdashare*(spread*fnrepay+fmdadays/30*fnrepay(t-1))
* calculate total MBS effect on dda
set dda_mbs / = gndda+fndda+fhdda
*
* ====================== OUTPUT =====================================
* calculate dda seasonal factors
* Note: this assumes that seasonal factor is unaffected by mbs effect
set ddasf / = ddansa/ddasa
* calculate seasonally adjusted dda adjusted for MBS effect
set dda_sa / = (ddansa-dda_mbs)/ddasf
* calculate seasonally adjusted M1 adjusted for MBS effect on dda
set m1_sa / = m1sa-ddasa+dda_sa
* calculate seasonally adjusted M2 using adjusted M1
set m2_sa / = m2sa(t) - m1sa(t) + m1_sa(t) - fnmda(t)
* calculate growth rates for levels and levels adjusted for MBS effects
set gddasa / = (ddasa(t)/ddasa(t-1)-1)*1200
set gdda_sa / = (dda_sa(t)/dda_sa(t-1)-1)*1200
set gm1sa / = (m1sa(t)/m1sa(t-1)-1)*1200
set gm1_sa / = (m1_sa(t)/m1_sa(t-1)-1)*1200
set gm2sa / = (m2sa(t)/m2sa(t-1)-1)*1200
set gm2_sa / = (m2_sa(t)/m2_sa(t-1)-1)*1200
*
* output selected results to a spreadsheet
open copy c:\output1.wk1
copy(org=obs,unit=copy,format=wks,dates) / ddasa dda_sa $
m1sa m1_sa gddasa gdda_sa gm1sa gm1_sa $
m2sa m2_sa gm2sa gm2_sa $
gndda fndda fhdda fnmda gnrepay fnrepay fhrepay dda_mbs
close copy
*
* output selected results to a spreadsheet
open copy c:\output2.wk1
copy(org=obs,unit=copy,format=wks,dates) / gnliqud fnliqud fhliqud toliqud
close copy
*
* end of program
*
>>>> FIGURE 1 <<<<
Figure 1 plots the toliqud series calculated in the above RATS program, stored
in OUTPUT2.WK1 and the rate series listed in the data file, contract rate on 30-
year, fixed-rate conventional home mortgages.
>>>> FIGURE 2 <<<<
Figure 2 plots the toliqud series (as in figure 1) and liquid deposits,
calculated as ddasa+ocdsa+mmdsa.
>>>> FIGURE 3 <<<<
Figure 3 plots the monthly change in M1, calculated as M1-lag(M1) and the
coefficient of variation, calculated as the standard deviation of the most recent
12 months of M1 data divided by the average of the most recent 12 months of M1
data.
>>>> FIGURE 4 <<<<
Figure 4 plots the same series as figure 3 except M1 is replaced with M2.
>>>> FIGURE 5 <<<<
The upper panel of figure 5 plots the December level of each year as the MBS
outstanding at the end of the year.
The lower panel of figure 5 plots the gnliqud, fnliqud, and fhliqud series
calculated in the above RATS program, stored in OUTPUT2.WK1.
>>>> FIGURE 6 <<<<
The first panel in figure 6 plots the difference between the gddasa and gdda_sa
series calculated in the above RATS program, stored in OUTPUT1.WK1,
gddasa-gdda_sa.
The second panel in figure 6 plots the difference between the gm1sa and gm1_sa
series calculated in the above RATS program, stored in OUTPUT1.WK1,
gm1sa-gm1_sa.
The third panel in figure 6 plots the difference between the gm2sa and gm2_sa
series calculated in the above RATS program, stored in OUTPUT1.WK1,
gm2sa-gm2_sa.
>>>> FIGURE 7 <<<<
The upper and lower panels of figure 7 plots the quarterly changes in ddasa and
ocdsa, calculated as the changes in the 3-month averages of the levels.
>>>> FIGURE 8 <<<<
Figure 8 plots the toliqud series calculated in the above RATS program, stored
in OUTPUT2.WK1 and the change in hel, revolving credit real estate (home equity)
loans at domestically chartered commercial banks, hel-lag(hel).