' Model REFORM2 for EViews version 9 (might work with other versions too) ' Copy-paste all this text to EViews and run it as a program ' Prepared for Cambridge Journal of Economics article "Money Creation under Full-Reserve Banking: A Stock-Flow Consistent Model" ' By Patrizio Lainà ' Developed from Model INSOUT ' from Wynne Godley & Marc Lavoie ' MONETARY ECONOMICS ' Chapter 10 ' Translated into EViews by Gennaro Zezza ' This program creates the model REFORM2 and simulates the model to produce a steady state (baseline scenario). ' The money creation experiments as well as the credit crunch experiments can be found in different files. ' Create a workfile, naming it REFORM2, to hold "annual" data from 1 to 100 wfcreate(wf=reform2, page=annual) a 0001 100 ' Create and document series series b_cb b_cb.displayname Government bills held by Central bank series b_cb_bar b_cb_bar.displayname Government bills held by Central bank - set exogenously series b_hd b_hd.displayname Demand for government bills series b_hh b_hh.displayname Government bills held by households series b_residual b_residual.displayname Bills left for households series b_s b_s.displayname Supply of government bills series bl_d bl_d.displayname Demand for government bonds series bl_h bl_h.displayname Government bonds held by households series bl_s bl_s.displayname Supply of government bonds series blr blr.displayname Bank liquidity ratio series blr_bot blr_bot.displayname Bank liquidity ratio bottom target series blr_top blr_top.displayname Bank liquidity ratio top target series bpm bpm.displayname Banks’ profit margin series c_k c_k.displayname Real consumption series cg cg.displayname Capital gains on government bonds series cons cons.displayname Consumption at current prices series div_citizen div_citizen.displayname Citizen's dividend series f f.displayname Realized profits of firms and banks series f_b f_b.displayname Realized banks profits series f_cb f_cb.displayname Central bank “profits” series f_f f_f.displayname Realized firms profits series f_f_e f_f_e.displayname Expected profits of firms series g g.displayname Government expenditures series g_k g_k.displayname Real government expenditures series gd gd.displayname Gross government debt series gd_net gd_net.displayname Consolidated government debt series h_hh h_hh.displayname Cash held by households series h_hd h_hd.displayname Cash demanded by households series h_bd h_bd.displayname Cash demanded by banks series h_min h_min.displayname Minimum reserves required from banks series h_s h_s.displayname Total supply of cash and reserves 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 m1_d m1_d.displayname Demand for demand deposits by households series m1_h m1_h.displayname Demand deposits held by households series m1_s m1_s.displayname Demand deposits supplied by banks series m2_d m2_d.displayname Demand for time deposits by households series m2_h m2_h.displayname Time deposits held by households series m2_s m2_s.displayname Time deposits supplied by banks series n n.displayname Employment level series n_fe n_fe.displayname Full Employment level series nhuc nhuc.displayname Normal historic unit costs series omegat omegat.displayname Target real wage for workers series p p.displayname Price level series p_bl p_bl.displayname Price of government bonds series pi pi.displayname Price inflation series pr pr.displayname Labour productivity series psbr psbr.displayname Government deficit series r_b r_b.displayname Interest rate on government bills series r_bl r_bl.displayname Interest rate on bonds series r_bl_bar r_bl_bar.displayname Interest rate on bonds - set exogenously series r_l r_l.displayname Interest rate on loans series r_m r_m.displayname Interest rate on time 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 sigmas sigmas.displayname Realized inventories to sales ratio series sigmat sigmat.displayname Target inventories to sales ratio series t t.displayname Taxes series uc uc.displayname Unit costs series v v.displayname Wealth of households series v_added v_added.displayname Wealth of households calculated as adding up all financial assets series v_e v_e.displayname Expected household wealth series v_k v_k.displayname Real wealth of households series v_nc v_nc.displayname Wealth of households (net of cash) series v_e_nc v_e_nc.displayname Expected household wealth (net of cash) series w w.displayname Wage rate series wb wb.displayname Wage bill series y y.displayname Output at current prices series y_k y_k.displayname Real output series yd_r yd_r.displayname Regular disposable income series yd_r_e yd_r_e.displayname Expected regular disposable income series yd_hs yd_hs.displayname Haig-Simons measure of disposable income series yd_k_hs yd_k_hs.displayname Haig-Simons measure of real disposable income series yd_k_r yd_k_r.displayname Regular real disposable income series yd_k_r_e yd_k_r_e.displayname Expected regular 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 botpm botpm.displayname Bottom value for bank profit margin 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 lambda_c lambda_c.displayname Parameter in households demand for cash series lambda10 lambda10.displayname Parameter in households demand for deposits series lambda11 lambda11.displayname Parameter in households demand for deposits series lambda12 lambda12.displayname Parameter in households demand for deposits series lambda13 lambda13.displayname Parameter in households demand for deposits series lambda14 lambda14.displayname Parameter in households demand for deposits series lambda15 lambda15.displayname Parameter in households demand for deposits series lambda20 lambda20.displayname Parameter in households demand for time deposits series lambda21 lambda21.displayname Parameter in households demand for time deposits series lambda22 lambda22.displayname Parameter in households demand for time deposits series lambda23 lambda23.displayname Parameter in households demand for time deposits series lambda24 lambda24.displayname Parameter in households demand for time deposits series lambda25 lambda25.displayname Parameter in households demand for time deposits series lambda30 lambda30.displayname Parameter in households demand for bills series lambda31 lambda31.displayname Parameter in households demand for bills series lambda32 lambda32.displayname Parameter in households demand for bills series lambda33 lambda33.displayname Parameter in households demand for bills series lambda34 lambda34.displayname Parameter in households demand for bills series lambda35 lambda35.displayname Parameter in households demand for bills series lambda40 lambda40.displayname Parameter in households demand for bonds series lambda41 lambda41.displayname Parameter in households demand for bonds series lambda42 lambda42.displayname Parameter in households demand for bonds series lambda43 lambda43.displayname Parameter in households demand for bonds series lambda44 lambda44.displayname Parameter in households demand for bonds series lambda45 lambda45.displayname Parameter in households demand for bonds series phi phi.displayname Mark-up on unit costs series ro1 ro1.displayname Reserve requirement on demand deposits parameter series ro2 ro2.displayname Reserve requirement on time deposits parameter series sigma0 sigma0.displayname Parameter determining the target inventories to sales ratio series sigma1 sigma1.displayname Parameter linking the target inventories to sales ratio to the interest rate series tau tau.displayname Sales tax rate series toppm toppm.displayname Top value for bank profit margin series z1 z1.displayname Is one if banks net liquidity ratio was below bottom level series z2 z2.displayname Is one if banks net liquidity ratio was above top level series z3 z3.displayname Is one if banks profit margin is below bottom level series z4 z4.displayname Is one if banks profit margin is above top level series xil xil.displayname Parameter in the equation for setting interest rate on loans series xim xim.displayname Parameter in the equation for setting interest rate on deposits series omega0 omega0.displayname Parameter influencing the target real wage for workers series omega1 omega1.displayname Parameter influencing the target real wage for workers series omega2 omega2.displayname Parameter influencing the target real wage for workers series omega3 omega3.displayname Speed of adjustment of wages to target value ' Set sample size to all workfile range smpl @all ' Assign values for ' PARAMETERS alpha0 = 0 alpha1 = 0.95 alpha2 = 0.05 beta = 0.5 blr_bot = 1.1 blr_top = 1.2 botpm = 0.002 eps = 0.5 gamma = 0.5 lambda_c = 0.1 lambda10 = 0.20 lambda11 = +41 lambda12 = -20 lambda13 = -20 lambda14 = -1 lambda15 = +0.26 lambda20 = 0.34 lambda21 = -20 lambda22 = +41 lambda23 = -20 lambda24 = -1 lambda25 = -0.06 lambda30 = 0.23 lambda31 = -20 lambda32 = -20 lambda33 = +41 lambda34 = -1 lambda35 = -0.2 lambda40 = 0.23 lambda41 = -1 lambda42 = -1 lambda43 = -1 lambda44 = +3 lambda45 = 0 phi = 0.1 'FRB incorporated by setting reserve requirement on demand deposits to 100 % as ro1=1 ro1 = 1 ro2 = 0 sigma0 = 0.3612 sigma1 = 3 tau = 0.2419 toppm = 0.005 xil = 0.002 xim = 0.0001 omega0 = -0.32549 omega1 = 1 omega2 = 1.5 omega3 = 0.1 ' EXOGENOUS div_citizen = 0 g_k = 25.18 n_fe = 133.28 pr = 1 r_bl_bar = 0.027 ' STARTING VALUES FOR STOCKS b_cb = 50 b_cb_bar = 50 b_hh = 29.02525 b_hd = b_hh b_s = b_cb + b_hh bl_h = 1.290373 bl_d = bl_h bl_s = bl_d blr = 1.145318 h_s = b_cb h_hd = 17.90089 h_hh = h_hd h_bd = h_s - h_hh h_min = 28.02638 in_k = 43.54916 in_k_e = in_k in = 52.20532 l_d = in l_s = l_d m1_s = 28.02638 m1_h = m1_s m2_s = 56.27805 m2_d = m2_s m2_h = m2_d ' STARTING VALUES FOR ENDOGENOUS r_b = 0.00798666 r_bl = 0.027 r_l = 0.0121267 r_m = 0.00640646 f_b = 0.2725939 p = 1.644108 p_bl = 1/r_bl s_k = 134.059 s_k_e = s_k uc = 1.198768 yd_k_r = 108.8772 yd_k_r_e = yd_k_r v_k = (h_hh + b_hh + p_bl*bl_h + m1_h + m2_h)/p v = v_k*p v_e = v v_nc = v - h_hh v_e_nc = v_e - h_hh w = 1.198768 omegat = 0.728512 ' Create a model object, and name it reform_mod model reform_mod ' Add equations to model REFORM 'FIRMS’ equations ' Real output reform_mod.append y_k = s_k_e + in_k_e - in_k(-1) ' Employment reform_mod.append n = y_k/pr ' The wage bill reform_mod.append wb = n*w ' Unit costs reform_mod.append uc = wb/y_k ' Expected real sales reform_mod.append s_k_e = beta*s_k(-1) + (1 - beta)*s_k_e(-1) ' Target level of real inventories reform_mod.append in_k_t = sigmat*s_k_e ' Target inventories to sales ratio reform_mod.append sigmat = sigma0 - sigma1*r_l ' Expected real inventories reform_mod.append in_k_e = in_k(-1) + gamma*(in_k_t - in_k(-1)) ' Price level reform_mod.append p = (1 + tau)*(1 + phi)*nhuc ' Normal historic unit costs reform_mod.append nhuc = (1 - sigmat)*uc + sigmat*(1 + r_l(-1))*uc(-1) ' Expected profits of firms reform_mod.append f_f_e = (phi/(1+phi))*(1/(1+tau))*p*s_k_e ' Inflationary forces ' Target real wage for workers reform_mod.append omegat = exp(omega0 + omega1*log(pr) + omega2*log((n/n_fe))) ' Unit wages reform_mod.append w = w(-1)*(1 + omega3*(omegat(-1) - w(-1)/p(-1))) ' Realized outcomes for firms ' Real sales reform_mod.append s_k = c_k + g_k ' Sales at current prices reform_mod.append s = p*s_k ' Real inventories reform_mod.append in_k = in_k(-1) + y_k - s_k ' Realized inventories to sales ratio reform_mod.append sigmas = in_k(-1)/s_k ' Stock of inventories reform_mod.append in = in_k*uc ' Demand for loans reform_mod.append l_d = in ' Firms realized profits reform_mod.append f_f = s - t - wb + in - in(-1) - r_l(-1)*l_s(-1) ' Rate of price inflation reform_mod.append pi = p/p(-1) - 1 ' Output at current prices reform_mod.append y = p*s_k + (in_k - in_k(-1))*uc 'HOUSEHOLDS’ equations ' Regular disposable income reform_mod.append yd_r = wb + f + r_m(-1)*m2_h(-1) + r_b(-1)*b_hh(-1) + bl_h(-1) + div_citizen ' Capital gains on bonds reform_mod.append cg = (p_bl - p_bl(-1))*bl_h(-1) ' Haig-Simons measure of disposable income reform_mod.append yd_hs = yd_r + cg ' Total net profits reform_mod.append f = f_f + f_b ' Nominal wealth reform_mod.append v = v(-1) + yd_hs - cons ' Nominal wealth expressed otherwise reform_mod.append v_added = h_hh + m1_h + m2_h + b_hh + p_bl*bl_h 'Nominal wealth net of cash reform_mod.append v_nc = v - h_hh ' Real regular disposable income reform_mod.append yd_k_r = (yd_r - pi*v(-1))/p ' Real HS disposable income - extended version reform_mod.append yd_k_hs = (yd_r - pi*v(-1) + cg)/p ' Real wealth of households reform_mod.append v_k = v/p ' Consumption decision reform_mod.append c_k = alpha0 + alpha1*yd_k_r_e + alpha2*v_k(-1) ' Expected real regular disposable income reform_mod.append yd_k_r_e = eps*yd_k_r(-1) + (1 - eps)*yd_k_r_e(-1) ' Consumption at current prices reform_mod.append cons = c_k*p ' Expected regular disposable income reform_mod.append yd_r_e = p*yd_k_r_e + pi*v(-1)/p ' Expected nominal wealth reform_mod.append v_e = v(-1) + yd_r_e - cons ' Expected nominal wealth (net of cash) reform_mod.append v_e_nc = v_e - h_hh ' Demand for cash reform_mod.append h_hd = lambda_c*cons ' Households’ portfolio equations ' Demand for demand deposits reform_mod.append m1_d = (lambda10 + lambda12*r_m + lambda13*r_b + lambda14*r_bl + lambda15*(yd_r_e/v_e_nc))*v_e_nc ' Demand for time deposits reform_mod.append m2_d = (lambda20 + lambda22*r_m + lambda23*r_b + lambda24*r_bl + lambda25*(yd_r_e/v_e_nc))*v_e_nc ' Demand for government bills reform_mod.append b_hd = (lambda30 + lambda32*r_m + lambda33*r_b + lambda34*r_bl + lambda35*(yd_r_e/v_e_nc))*v_e_nc ' solved for r_b instead of b_hd reform_mod.append r_b = (b_hh/v_e_nc - lambda30 - lambda32*r_m - lambda34*r_bl - lambda35*(yd_r_e/v_e_nc))/lambda33 ' Demand for government bonds reform_mod.append bl_d = (lambda40 + lambda42*r_m + lambda43*r_b + lambda44*r_bl + lambda45*(yd_r_e/v_e_nc))*v_e_nc/p_bl ' Households’ realized asset holdings ' Holding of cash reform_mod.append h_hh = h_hd ' Holding of demand deposits reform_mod.append m1_h = h_bd - (m2_h - l_d) ' Holding of time deposits reform_mod.append m2_h = m2_d ' Holding of bills reform_mod.append b_hh = v_nc - m1_h - m2_h - p_bl*bl_h ' Holding of bills for checking purposes (redundant equation) reform_mod.append b_residual = b_s - b_cb ' Holding of bonds reform_mod.append bl_h = bl_d ' GOVERNMENT'S equations ' Tax receipts reform_mod.append t = s*tau/(1 + tau) ' Government expenditures reform_mod.append g = p*g_k + div_citizen ' Government deficit reform_mod.append psbr = g + r_b(-1)*b_s(-1) + bl_s(-1) - (t + f_cb) ' New issues of bills reform_mod.append b_s = b_s(-1) + psbr - (bl_s - bl_s(-1))*p_bl ' Supply of bonds reform_mod.append bl_s = bl_h ' Price of bonds reform_mod.append p_bl = 1/r_bl ' Yield on bonds - set exogenously reform_mod.append r_bl = r_bl_bar 'Gross government debt reform_mod.append gd = b_s + p_bl*bl_s 'Consolidated government debt reform_mod.append gd_net = b_hh + p_bl*bl_s ' CENTRAL BANK'S equations ' Supply of reserves reform_mod.append h_s = b_cb ' Banks demand all reserves that are supplied to them reform_mod.append h_bd = h_s - h_hh ' CB purchases of government bills reform_mod.append b_cb = b_cb_bar ' Profits of Central bank reform_mod.append f_cb = r_b(-1)*b_cb(-1) ' COMMERICAL BANKS' equations ' Supply of demand deposits reform_mod.append m1_s = m1_h ' Supply of time deposits reform_mod.append m2_s = m2_h ' Supply of loans reform_mod.append l_s = l_d ' Liquidity requirement reform_mod.append h_min = ro1*m1_h + ro2*m2_h ' Bank liquidity ratio reform_mod.append blr = h_bd/h_min ' Interest rate on time deposits reform_mod.append r_m = r_m(-1) + xim*z1 - xim*z2 ' Check if bank liquidity ratio was below bottom value reform_mod.append z1 = 0 + (blr(-1) < blr_bot) ' Check if bank liquidity ratio was above top value reform_mod.append z2 = 0 + (blr(-1) > blr_top) ' Realized banks profits reform_mod.append f_b = r_l(-1)*l_s(-1) - r_m(-1)*m2_s(-1) ' Interest rate on loans reform_mod.append r_l = r_l(-1) + xil*(z3 - z4) + (r_b - r_b(-1)) ' Check if banks profit margin is below bottom value reform_mod.append z3 = 0 + (bpm < botpm) ' Check if banks profit margin is above top value reform_mod.append z4 = 0 + (bpm > toppm) ' Banks profit margin reform_mod.append bpm = (f_b + f_b(-1))/(m1_h(-1) + m1_h(-2) + m2_h(-1) + m2_h(-2)) ' end of model equations ' Select the baseline scenario reform_mod.scenario baseline ' Set simulation sample smpl 0003 @last ' Solve the model for the current sample reform_mod.solve(i=p)