' MODEL DISINF for Eviews version 6 ' from Wynne Godley & Marc Lavoie ' MONETARY ECONOMICS ' Chapter 9 ' This program creates model DISINF, described in chapter 9, and simulates the model ' to produce results in par. 9.5 ' This variant of model DISINF uses a consumption function where households ' are blind to capital losses inflicted by price inflation (eq. 9.26B) ' **************************************************************************** ' 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 DISINF, to hold annual data from 1945 to 2010 wfcreate(wf=disinf, 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 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 n_fe n_fe.displayname Full employment level series nhuc nhuc.displayname Normal historic unit costs series pic pic.displayname Inflation rate of unit costs series pr pr.displayname Labour productivity series omegat omegat.displayname Target real wage rate series p p.displayname Price level series r_l r_l.displayname Interest rate on loans series r_m r_m.displayname Interest rate on deposits series rr_c rr_c.displayname Real interest rate on bank loans series rr_c_bar rr_c_bar.displayname Real interest rate on bank loans - set exogenously 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_hs yd_k_hs.displayname Haig-Simons measure of real disposable income series yd_k_hse yd_k_hse.displayname Expected HS 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 sigmat sigmat.displayname Target inventories to sales ratio series omega0 omega0.displayname Exogenous component of the target real wage rate series omega1 omega1.displayname Relation between the target real wage rate and productivity series omega2 omega2.displayname Relation between the target real wage rate and the unemployment gap series omega3 omega3.displayname Speed of adjustment of the wage rate ' Set sample size to all workfile range smpl @all ' Assign values for ' PARAMETERS alpha0 = 15 alpha1 = 0.8 alpha2 = 0.1 beta = 0.9 eps = 0.8 gamma = 0.25 phi = 0.24 sigmat = 0.2 omega1 = 1 omega2 = 1.2 omega3 = 0.3 ' omega0 = -1.4 ' EXOGENOUS add = 0.02 pr = 1 rr_c_bar = 0.04 w = 1 ' Steady state values omega0 = 0.8-omega1*pr-omega2 uc = w/pr p = (1+phi)*(1+rr_c_bar*sigmat)*uc yd_k_hs = alpha0/(1-alpha1-alpha2*sigmat*uc/p) c_k = yd_k_hs 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_hse = yd_k_hs r_l = (1 + rr_c_bar) - 1 r_m = r_l - add omegat = w/p n_fe=s_k/pr ' Create a model object, and name it disinf_mod model disinf_mod ' Add equations to model DISINF ' The production decision ' Real output - eq. 9.1 disinf_mod.append y_k = s_k_e + in_k_e - in_k(-1) ' Target level of real inventories - eq. 9.2 disinf_mod.append in_k_t = sigmat*s_k_e ' Expected real inventories - eq. 9.3 disinf_mod.append in_k_e = in_k(-1) + gamma*(in_k_t - in_k(-1)) ' Real inventories - eq. 9.4 disinf_mod.append in_k = in_k(-1) + y_k - s_k ' Expected real sales - eq. 9.5 disinf_mod.append s_k_e = beta*s_k(-1) + (1 - beta)*s_k_e(-1) ' Real sales - eq. 9.6 disinf_mod.append s_k = c_k ' Employment - eq. 9.7 disinf_mod.append n = y_k/pr ' The wage bill - eq. 9.8 disinf_mod.append wb = n*w ' Unit costs - eq. 9.9 disinf_mod.append uc = wb/y_k ' Stock of inventories - eq. 9.10 disinf_mod.append in = in_k*uc ' The pricing decision ' Sales at current prices - eq. 9.11 disinf_mod.append s = p*s_k ' Firms profits - eq. 9.14 disinf_mod.append f = s - wb + in - in(-1) - r_l(-1)*in(-1) ' Price level - eq. 9.I.4 disinf_mod.append p = (1 + phi)*(1 + rr_c*sigmat)*uc ' The banking system ' Demand for loans - eq. 9.15 disinf_mod.append l_d = in ' Supply of loans - eq. 9.16 disinf_mod.append l_s = l_d ' Supply of deposits - eq. 9.17 disinf_mod.append m_s = l_s ' Interest rate on deposits - eq. 9.19 disinf_mod.append r_m = r_l - add ' Realized banks profits - eq. 9.20 disinf_mod.append f_b = r_l(-1)*l_d(-1) - r_m(-1)*m_h(-1) ' Inflation rate of unit costs - eq. 9.I.1 disinf_mod.append pic = uc/uc(-1) -1 ' Real interest rate on loans - eq. 9.I.2 disinf_mod.append rr_c = rr_c_bar ' Interest rate on loans - eq. 9.I.3 disinf_mod.append r_l = (1 + rr_c)*(1 + pic) - 1 ' The consumption decision ' Disposable income - eq. 9.21 disinf_mod.append yd = wb + f + f_b + r_m(-1)*m_h(-1) ' Holding of banks deposit - eq. 9.22 disinf_mod.append m_h = m_h(-1) + yd - cons ' Haig-Simons measure of real disposable income - eq. 9.23 disinf_mod.append yd_k_hs = c_k + (m_h_k - m_h_k(-1)) ' Real disposable income - eq. 9.36 disinf_mod.append yd_k = yd/p ' Consumption at current prices - eq. 9.24 disinf_mod.append cons = c_k*p ' Real value of holding of banks deposit - eq. 9.25 disinf_mod.append m_h_k = m_h/p ' Consumption decision - eq. 9.26 disinf_mod.append c_k = alpha0 + alpha1*yd_k + alpha2*m_h_k(-1) ' Expectation on Real HS disposable income - eq. 9.27 disinf_mod.append yd_k_hse = eps*yd_k_hs(-1) + (1 - eps)*yd_k_hse(-1) ' The inflation process ' Real wage target - eq. 9.I.5 disinf_mod.append omegat = omega0 + omega1*pr + omega2*(n/n_fe) ' Wage rate - eq. 9.I.6 disinf_mod.append w = w(-1)*(1 + omega3*(omegat(-1)-(w(-1)/p(-1)))) ' end of model equations ' First experiment: increase in the target real wage smpl 1960 @last omega0 = -1.35 smpl @all ' Select the baseline scenario disinf_mod.scenario baseline ' Set simulation sample smpl 1946 @last ' Solve the model for the current sample disinf_mod.solve(i=p) ' Creates charts from simulated variables ' Creates the chart in Figure 9.4 smpl 1950 2000 graph fig9_4.line c_k_0 yd_k_hs_0 fig9_4.options linepat fig9_4.setelem(1) lcolor(blue) lwidth(2) lpat(1) fig9_4.setelem(2) lcolor(red) lwidth(2) lpat(2) fig9_4.name(1) Real consumption fig9_4.name(1) Haig-Simons real disposable income fig9_4.addtext(t,just(c)) Figure 9.4: Evolution of consumption and Haig-Simons real disposable income\nfollowing an increase in inflation show fig9_4 ' Creates the chart in Figure 9.5 smpl 1950 2000 graph fig9_5.line m_h_k_0 fig9_5.options linepat fig9_5.setelem(1) lcolor(blue) lwidth(2) lpat(1) fig9_5.name(1) Real wealth fig9_5.addtext(t,just(c)) Figure 9.5: Evolution of real wealth, following an increase in inflation show fig9_5 ' Creates the chart in Figure 9.6 smpl 1955 2000 graph fig9_6.line (p_0/p_0(-1)-1) fig9_6.options linepat fig9_6.setelem(1) lcolor(blue) lwidth(2) lpat(1) fig9_6.name(1) Inflation rate fig9_6.addtext(t,just(c)) Figure 9.6: Evolution of price inflation following an increase\nin the target real wage of workers show fig9_6