' MODEL MOD8 - revised version of model DIS for Eviews version 5.1 ' from Wynne Godley & Marc Lavoie ' MONETARY ECONOMICS ' Chapter 8 ' This program creates a revised model DIS, described in chapter 9, and simulates the model ' to produce results in chapter 8, figure 8.1 ' **************************************************************************** ' Copyright (c) 2006 Gennaro Zezza ' Permission is hereby granted, free of charge, to any person obtaining a ' copy of this software and associated documentation files (the "Software"), ' to deal in the Software without restriction, including without limitation ' the rights to use, copy, modify, merge, publish, distribute, sublicense, ' and/or sell copies of the Software, and to permit persons to whom the ' Software is furnished to do so, subject to the following conditions: ' ' The above copyright notice and this permission notice shall be included in ' all copies or substantial portions of the Software. ' ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ' IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ' FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ' AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ' LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ' IN THE SOFTWARE. ' **************************************************************************** ' Create a workfile, naming it MOD8, to hold annual data from 1945 to 2010 wfcreate(wf=mod8, page=annual) a 1945 2010 ' Creates and documents series series add add.displayname Spread of loans rate over the deposit rate series c_k c_k.displayname Real consumption series cons cons.displayname Consumption at current prices series f f.displayname Realized firms profits series f_b f_b.displayname Realized banks profits series f_e f_e.displayname Expected firms profits series huc huc.displayname Historic unit costs series in in.displayname Stock of inventories at current costs series in_k in_k.displayname Real inventories series in_k_e in_k_e.displayname Expected real inventories series in_k_t in_k_t.displayname Target level of real inventories series l_d l_d.displayname Demand for loans series l_s l_s.displayname Supply of loans series m_h m_h.displayname Deposits held by households series m_h_k m_h_k.displayname Real value of deposits held by households series m_s m_s.displayname Supply of deposits series n n.displayname Employment level series nhuc nhuc.displayname Normal historic unit costs series pr pr.displayname Labour productivity series p p.displayname Price level series r_l r_l.displayname Interest rate on loans series r_l_bar r_l_bar.displayname Interest rate on loans - set exogenously series r_m r_m.displayname Interest rate on deposits series s s.displayname Sales at current prices series s_k s_k.displayname Real sales series s_k_e s_k_e.displayname Expected real sales series uc uc.displayname Unit costs series w w.displayname Wage rate series wb wb.displayname The wage bill series y_k y_k.displayname Real output series yd yd.displayname Disposable income series yd_k yd_k.displayname Real disposable income series yd_k_e yd_k_e.displayname Expected real disposable income ' Generate parameters series alpha0 alpha0.displayname Autonomous consumption series alpha1 alpha1.displayname Propensity to consume out of income series alpha2 alpha2.displayname Propensity to consume out of wealth series beta beta.displayname Parameter in expectation formations on real sales series eps eps.displayname Parameter in expectation formations on real disposable income series gamma gamma.displayname Speed of adjustment of inventories to the target level series phi phi.displayname Mark-up on unit costs series sigman sigman.displayname Ratio of opening inventories to expected sales series sigmat sigmat.displayname Target inventories to sales ratio ' Set sample size to all workfile range smpl @all ' Assign values for ' PARAMETERS alpha0 = 15 alpha1 = 0.8 alpha2 = 0.1 beta = 0.75 eps = 0.75 gamma = 0.25 phi = 0.25 sigman = 0.2 sigmat = 0.15 ' EXOGENOUS add = 0.02 pr = 1 r_l_bar = 0.04 w = 0.86 ' Steady state values uc = w/pr huc = (1+sigman*r_l_bar)*uc p = (1+phi)*huc yd_k = alpha0/(1-alpha1-alpha2*sigmat*uc/p) c_k = yd_k s_k = c_k ' STARTING VALUES FOR STOCKS in_k = sigmat*s_k in = in_k*uc l_d = in m_h = l_d m_h_k = m_h/p m_s = m_h l_s = l_d ' STARTING VALUES FOR ENDOGENOUS s_k_e = s_k yd_k_e = yd_k r_l = r_l_bar r_m = r_l - add ' Create a model object, and name it mod8 model mod8 ' Add equations to model MOD8 ' The production decision ' Real output - eq. 9.1 mod8.append y_k = s_k_e + in_k_e - in_k(-1) ' Target level of real inventories - eq. 9.2 mod8.append in_k_t = sigmat*s_k_e ' Expected real inventories - eq. 9.3 mod8.append in_k_e = in_k(-1) + gamma*(in_k_t - in_k(-1)) ' Real inventories - was eq. 9.4 - changed mod8.append in_k = in_k_e + s_k_e - s_k ' Expected real sales - eq. 9.5 mod8.append s_k_e = beta*s_k(-1) + (1 - beta)*s_k_e(-1) ' Real sales - eq. 9.6 mod8.append s_k = c_k ' Employment - eq. 9.7 mod8.append n = y_k/pr ' The wage bill - eq. 9.8 mod8.append wb = n*w ' Unit costs - eq. 9.9 mod8.append uc = wb/y_k ' Stock of inventories - eq. 9.10 mod8.append in = in_k*uc ' The pricing decision ' Expected profits - new equation mod8.append f_e = s_k_e*p*phi/(1+phi) ' Historic costs - new equation mod8.append huc = uc*(1 - sigman) + sigman*(1 + r_l(-1))*uc(-1) ' Ratio of opening stock of inventories to expected sales - new equation mod8.append sigman = in_k(-1)/s_k_e ' Sales at current prices - eq. 9.11 mod8.append s = p*s_k ' Price level - was eq. 9.12 - modified mod8.append p = (1 + phi)*huc ' Normal historic unit costs - eq. 9.13 mod8.append nhuc = (1 - sigmat)*uc + sigmat*(1 + r_l(-1))*uc(-1) ' Firms profits - eq. 9.14 mod8.append f = s - wb + in - in(-1) - r_l(-1)*in(-1) ' The banking system ' Demand for loans - eq. 9.15 mod8.append l_d = in ' Supply of loans - eq. 9.16 mod8.append l_s = l_d ' Supply of deposits - eq. 9.17 mod8.append m_s = l_s ' Interest rate on loans - eq. 9.18 mod8.append r_l = r_l_bar ' Interest rate on deposits - eq. 9.19 mod8.append r_m = r_l - add ' Realized banks profits - eq. 9.20 mod8.append f_b = r_l(-1)*l_d(-1) - r_m(-1)*m_h(-1) ' The consumption decision ' Disposable income - eq. 9.21 mod8.append yd = wb + f + f_b + r_m(-1)*m_h(-1) ' Holding of banks deposit - eq. 9.22 mod8.append m_h = m_h(-1) + yd - cons ' Real disposable income - new equation mod8.append yd_k = (yd - d(p)*m_h_k(-1))/p ' Consumption at current prices - eq. 9.24 mod8.append cons = c_k*p ' Real value of holding of banks deposit - eq. 9.25 mod8.append m_h_k = m_h/p ' Consumption decision - was eq. 9.26 - modified mod8.append c_k = alpha0 + alpha1*yd_k_e + alpha2*m_h_k(-1) ' Expectation on real disposable income - new equation mod8.append yd_k_e = eps*yd_k(-1) + (1 - eps)*yd_k_e(-1) ' end of model equations ' First experiment: exogenous increase in autonomous demand smpl 1960 @last alpha0 = 10 smpl @all ' Select the baseline scenario mod8.scenario baseline ' Set simulation sample smpl 1946 @last ' Solve the model for the current sample mod8.solve ' Creates charts from simulated variables ' Creates the chart in Figure 8.1 smpl 1955 2000 graph fig8_1.line p_0/p_0(-1)-1 in_0/(s_k_e_0*p_0) fig8_1.options linepat fig8_1.setelem(1) lcolor(red) lwidth(2) lpat(1) fig8_1.setelem(2) lcolor(green) lwidth(2) lpat(2) fig8_1.setelem(2) axis(right) fig8_1.scale(left) range(-0.001, 0.004) fig8_1.scale(right) range(0.1, 0.23) fig8_1.scale(right) overlap fig8_1.name(1) Price inflation (left scale) fig8_1.name(2) Inventories to expected sales ratio (right scale) fig8_1.addtext(t) Figure 8.1: Evolution of price inflation and the ratio of inventories to expected sales\nfollowing a decrease in autonomous demand show fig8_1