' MODEL BMW for Eviews version 6 ' from Wynne Godley & Marc Lavoie ' MONETARY ECONOMICS ' Chapter 7 ' This program creates model BMW, described in chapter 7, and simulates the model ' to produce results in par. 7.4 ' **************************************************************************** ' 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 BMW, to hold annual data from 1945 to 2010 wfcreate(wf=bmw, page=annual) a 1945 2010 ' Creates and documents series series af af.displayname Amortization funds series c_d c_d.displayname Consumption goods demand by households series c_s c_s.displayname Consumption goods supply series da da.displayname Depreciation allowances - AF in chapter 7 series k k.displayname Stock of capital series k_t k_t.displayname Target stock of capital series l_d l_d.displayname Demand for bank loans series l_s l_s.displayname Supply of bank loans series i_d i_d.displayname Demand for investment goods series i_s i_s.displayname Supply of investment goods series m_h m_h.displayname Bank deposits held by households series m_s m_s.displayname Supply of bank deposits series n_d n_d.displayname Demand for labour series n_s n_s.displayname Supply of labour series pr pr.displayname Labour productivity series r_l r_l.displayname Rate of interest on bank loans series r_l_bar r_l_bar.displayname Rate of interest on bank loans - exogenously set series r_m r_m.displayname Rate of interest on bank deposits series w w.displayname Wage rate series wb_d wb_d.displayname Wage bill - demand series wb_s wb_s.displayname Wage bill - supply series y y.displayname Income = GDP series yd yd.displayname Disposable income of households ' Generate parameters series alpha0 alpha0.displayname Exogenous component in consumption series alpha1 alpha1.displayname Propensity to consume out of income series alpha2 alpha2.displayname Propensity to consume out of wealth series delta delta.displayname Depreciation rate series gamma gamma.displayname Speed of adjustment of capital to its target value series kappa kappa.displayname Capital-output ratio ' Set sample size to all workfile range smpl @all ' Assign values for ' PARAMETERS alpha0 = 25 alpha1 = 0.75 alpha2 = 0.1 delta = 0.1 gamma = 0.15 kappa = 1 ' EXOGENOUS pr = 1 r_l_bar = 0.04 w = 0.86 ' STARTING VALUES FOR STOCKS m_h = 200 m_s = m_h l_d = 200 l_s = l_d k = 200 ' STARTING VALUES FOR LAGGED ENDOGENOUS y = 200 r_l = r_l_bar r_m = r_l ' Create a model object, and name it bmw_mod model bmw_mod ' Add equations to model BMW ' Basic behavioural equations ' Supply of consumption goods - eq. 7.1 bmw_mod.append c_s = c_d ' Supply of investment goods - eq. 7.2 bmw_mod.append i_s = i_d ' Supply of labour - eq. 7.3 bmw_mod.append n_s = n_d ' Supply of loans - eq. 7.4 bmw_mod.append l_s = l_s(-1) + (l_d - l_d(-1)) ' Transactions of the firms ' GDP - eq. 7.5 bmw_mod.append y = c_s + i_s ' Wage bill - eq. 7.6 bmw_mod.append wb_d = y - r_l(-1)*l_d(-1) - af ' Depreciation allowances - eq. 7.7 bmw_mod.append af = delta*k(-1) ' Demand for bank loans - eq. 7.8 bmw_mod.append l_d = l_d(-1) + i_d - af ' Transactions of households ' Disposable income - eq. 7.9 bmw_mod.append yd = wb_s + r_m(-1)*m_h(-1) ' Bank deposits held by households - eq. 7.10 bmw_mod.append m_h = m_h(-1) + yd - c_d ' Transactions of the banks ' Supply of deposits - eq. 7.11 bmw_mod.append m_s = m_s(-1) + (l_s - l_s(-1)) ' Rate of interest on deposits - eq. 7.12 bmw_mod.append r_m = r_l ' The wage bill ' "Supply" of wages - eq. 7.13 bmw_mod.append wb_s = w*n_s ' Labour demand - eq. 7.14 bmw_mod.append n_d = y/pr ' Wage rate - eq. 7.15 bmw_mod.append w = wb_d/n_d ' Household behaviour ' Demand for consumption goods - eq. 7.16 bmw_mod.append c_d = alpha0 + alpha1*yd + alpha2*m_h(-1) ' The investment behaviour ' Accumulation of capital - eq. 7.17 bmw_mod.append k = k(-1) + i_d - da ' Depreciation allowances - eq. 7.18 bmw_mod.append da = delta*k(-1) ' Capital stock target - eq. 7.19 bmw_mod.append k_t = kappa*y(-1) ' Demand for investment goods - eq. 7.20 bmw_mod.append i_d = gamma*(k_t - k(-1)) + da ' The behaviour of banks ' Interest rate on loans - eq. 7.21 bmw_mod.append r_l = r_l_bar ' end of model equations ' Select the baseline scenario bmw_mod.scenario baseline ' First experiment: increase in autonomous consumption smpl 1960 @last alpha0 = 28 smpl @all ' Set simulation sample smpl 1946 @last ' Solve the model for the current sample bmw_mod.solve(i=p) ' Creates charts from simulated variables ' Creates the chart in Figure 7.1 smpl 1950 2000 graph fig7_1.line yd_0 c_d_0 fig7_1.options linepat fig7_1.setelem(1) lcolor(red) lwidth(2) lpat(1) fig7_1.setelem(2) lcolor(green) lwidth(2) lpat(2) fig7_1.name(1) Disposable income fig7_1.name(2) Consumption fig7_1.addtext(t,just(c)) Figure 7.1: Evolution of C and YD following an increase in autonomous consumption show fig7_1 ' Creates the chart in Figure 7.2 smpl 1950 2000 graph fig7_2.line i_d_0 da_0 fig7_2.options linepat fig7_2.setelem(1) lcolor(red) lwidth(2) lpat(1) fig7_2.setelem(2) lcolor(green) lwidth(2) lpat(2) fig7_2.name(1) Gross investment fig7_2.name(2) Capital depreciation fig7_2.addtext(t,just(c)) Figure 7.2: Evolution of Id and DA following an increase in autonomus consumption show fig7_2 ' Second experiment: increase in the propensity to save out of disposable income smpl @all alpha0 = 25 ' restores previous value for autonomus consumption smpl 1960 @last alpha1 = 0.74 smpl @all ' Select the first alternative scenario bmw_mod.scenario "Scenario 1" ' Solve the model for the current sample bmw_mod.solve(i=p) ' Creates the chart in Figure 7.3 smpl 1950 2000 graph fig7_3.line yd_1 c_d_1 fig7_3.options linepat fig7_3.setelem(1) lcolor(red) lwidth(2) lpat(1) fig7_3.setelem(2) lcolor(green) lwidth(2) lpat(2) fig7_3.name(1) Disposable income fig7_3.name(2) Consumption fig7_3.addtext(t,just(c)) Figure 7.3: Evolution of C and YD following an increase in the propensity to save show fig7_3 ' Creates the chart in Figure 7.4 smpl 1950 1995 graph fig7_4.line y_1/k_1(-1) fig7_4.options linepat fig7_4.setelem(1) lcolor(red) lwidth(2) lpat(1) fig7_4.scale(left) range(0.9375, 1.0025) fig7_4.name(1) Output to capital ratio fig7_4.addtext(t,just(c)) Figure 7.4: Evolution of the output to capital ratio following an increase in the propensity to save show fig7_4 ' Creates the chart in Figure 7.5 smpl 1950 1995 graph fig7_5.line w_1 fig7_5.options linepat fig7_5.setelem(1) lcolor(red) lwidth(2) lpat(1) fig7_5.name(1) Real wage rate fig7_5.addtext(t,just(c)) Figure 7.5: Evolution of the real wage rate following an increase in the propensity to save show fig7_5