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).