This section is dedicated to share some videos of presentation as well as some scripts I have designed either for publishing, teaching or to help in research-related tasks. Feel free to test the latter and contact me in case you encounter some technical issues (feedback welcome).

### Videos

Economics and finance in times of the COVID pandemic (in French)

Financialization and the Macroeconomy. Theory and Empirical evidence. Presentation at *Association Française d’Economie Politique*, Lille 2019.

### Codes

Note: When indicated “INSERT DIRECTORY PATH HERE”, the user must select (copy-paste) a folder in which the data (if any) is stored and results (database or graphs) will be stored.

EViews script of the article “On the macroeconomic effects of financialization”, with Céline Gimet and Thomas Lagoarde-Segot. Stock-flow matrices with values available here (.xls)

‘ Note: Before making the model run (by pushing the button “run” located in the upper left-hand of this box), the user must select a default folder, in which all graphs presented in the paper (along with other useful ones) and the Matrix of Stocks will be saved. The location of this folder must be inserted in the second box appearing once the program is run.

‘ In contrast to the Table shown in the subsection “Model starting values” (where variables appear in the same order as in the subsection “System of equations”), variables appear in the EViews datafile generated by the present code alphabetically.

‘ Set program mode

mode quiet

‘ Set default directory (where all graphs will be saved)

%directory = “INSERT DIRECTORY PATH HERE”

@uiedit(%directory, “Directory where graphs and tables will be saved:”, 1024)

cd %directory

‘ Graphs size and type (.png is useful for LaTeX).

%graph_size = “t=png, u=cm, h=15, -c, -box”

create u 1 25 ‘ 50

smpl @all

!shock_period = 14 ‘ At t = 11 the growth rate of GDP lies within realistic values (less than 7.6 % but higher than -0.3 %)

‘ Shocks.

%shock_1 = “0.15”

@uiedit(%shock_1, “Shock 1. One-shot increase in banks lending of:”)

!Shock1 = @val(%shock_1)

%shock_2= “0.1”

@uiedit(%shock_2, “Shock 2. Permanent increase in banks lending of:”)

!Shock2 = @val(%shock_2)

‘ Equation 1: GDP (income)

%gdp_eq = “Y = cons_h + cons_g + inv_h + inv_f + inv_g”

series Y = 100

Y.displayname Gross domestic product

series WB = 80

WB.displayname Wage bill

series Pi = 17.6

Pi.displayname Gross operating surplus

series inctax = 2.4

inctax.displayname Income tax receipts of the government

series cons_h = 66

cons_h.displayname Personal consumption

series inv_g = 6

inv_g.displayname Public investment

series cons_g = 10

cons_g.displayname Public consumption expenditures

‘ Equation 2: Consumption Function

%cons_h_eq = “cons_h = c0_a + c1_l_a * cons_h(-1) + c2_l_a * cons_h(-2) + c1_a * WB(-1) + c2_a * W_h(-1)”

series W_H = 150

W_H.displayname Household wealth

series c1_l_a = 0.4

c1_l_a.displayname Autorregressive component of personal consumption, lag 1

series c2_l_a = 0.25

c2_l_a.displayname Autorregressive component of personal consumption, lag 2

series c1_a = 0.65

c1_a.displayname Marginal propensity to consume out of income

series c2_a = 0.1

c2_a.displayname Marginal propensity to consume out of wealth

series c0_a = 5

c0_a.displayname Autonomous consumption

‘ Equation 3: Consumption of the government

%cons_g_eq = “cons_g = c0_g + c1_lg * cons_g(-1) + c2_lg * cons_g(-2) – c1_g * Y(-1)”

series c1_lg = 0.2

c1_lg.displayname Autorregressive component of government consumption expenditure, lag 1

series c2_lg = 0.1

c2_lg.displayname Autorregressive component of government consumption expenditure, lag 2

series c1_g = 0.005

c1_g.displayname Consumption automatic stabilizer parameter

series c0_g = 25

c0_g.displayname Autonomous public consumption expenditure

‘ Equation 4: Total consumption

%cons_eq = “consumption = cons_h + cons_g”

series {%cons_eq}

consumption.displayname Total consumption

‘ Equation 5: Household investment

%inv_h_eq = “d(K_H) * pk = 0.04*y(-1)”

%inv_h_eq2 = “inv_h = d(K_H) * pk”

series inv_h = 8

inv_h.displayname Household investment

‘ Equation 6: Private investment function

%inv_eq = “d(K) * pk = phi0_f + phi_ar1 * d(K(-1)) * pk(-1) + phi_ar2 * d(K(-2)) * pk(-2) + phi2_f * (pe(-1) * E(-1) / (pk(-1) * K(-1))) + phi3_f * Pi(-1) – phi4_f * r(-1) + phi5_f * Y(-1)”

%inv_eq2 = “inv = d(K) * pk”

%inv_f_eq = “d(K_F) * pk = inv – inv_g – inv_h”

%inv_f_eq2 = “inv_f = d(K_F) * pk”

series inv = 24

inv.displayname Total investment (private and public)

series phi0_f = 20

phi0_f.displayname Autonomous private investment

series phi_ar1 = 0.45

phi_ar1.displayname Investment autorregressive component, lag 1

series phi_ar2 = 0.25

phi_ar2.displayname Investment autorregressive component, lag 2

series phi2_f = 0.3*100

phi2_f.displayname Investment sensitivity to Tobin q

series phi3_f = 0.05

phi3_f.displayname Private investment sensitivity to profits

series phi4_f = 5*100

phi4_f.displayname Investment sensitivity to the interest rate on credit

series phi5_f = 0.025

phi5_f.displayname Investment sensitivity to GDP (accelerator)

series K = 550

K.displayname Stock of non-financial assets of the economy

series pk = 1

pk.displayname Price of non-financial assets

series delta = 0.05

delta.displayname Depreciation rate of non-financial assets

‘ Equation 7 and 8: Public investment function and firms investment (the latter is shown above)

%inv_g_eq = “d(K_G) * pk = phi0_g – phi1_g * (inv_h + inv_f)”

%inv_g_eq2 = “inv_g = d(K_G) * pk”

series phi0_g = 5

phi0_g.displayname Autonomous public investment

series phi1_g = 0.007

phi1_g.displayname Public investment parameter of private investment automatic stabilizer

series inv_f = 10

inv_f.displayname Supply of investment goods

series K_F = 250

K_F.displayname Volume of non-financial assets held by non-financial firms

series K_G = 150

K_G.displayname Volume of non-financial assets held by the government

series K_H = 150

K_H.displayname Volume of non-financial assets held by households

‘ Equation 9: Price of non-fin assets

%pk_eq = “d(pk) = tau_0 + tau1_l * d(pk(-1)) + tau2_l * d(pk(-2)) + tau1_inc * d(WB(-1)) + tau2_inc * d(WB(-2)) + tau1_k * d(K(-1)) + tau2_k * d(K(-2)) – tau_r * r – tau1_r * r(-1)”

series tau_0 = 0.1

tau_0.displayname Constant term in price of capital change

series tau1_l = 0.4

tau1_l.displayname Autorregressive component of pk, lag 1

series tau2_l = 0.25

tau2_l.displayname Autorregressive component of pk, lag 2

series tau1_inc = 0.0005

tau1_inc.displayname Price of non-fin assets sensitivity to changes in income, lag 1

series tau2_inc = 0.0001

tau2_inc.displayname Price of non-fin assets sensitivity to changes in income, lag 2

series tau1_k = 0.0007

tau1_k.displayname Price of non-fin assets sensitivity to its volume, lag 1

series tau2_k = 0.0002

tau2_k.displayname Price of non-fin assets sensitivity to its volume, lag 2

series tau_r = 0.005*100

tau_r.displayname Price of non-fin assets sensitivity to the interest rate

series tau1_r = 0.001*100

tau1_r.displayname Price of non-fin assets sensitivity to the interest rate, lag 1

‘ Equation 10: Wage bill

%wb_eq = “WB = w0 + w1_l * WB(-1) + w2_l * WB(-2) + w1 * (cons_h(-1) + inv(-1) – inv_f(-1) – Pi(-1) – int_f(-1) – div(-1) – inctax_f(-1))”

series w0 = 220

w0.displayname Autonomous change in wages

series w1_l = 0.4

w1_l.displayname Autorregressive component of wages, lag 1

series w2_l = 0.25

w2_l.displayname Autorregressive component of wages, lag 2

series w1 = 0.1

w1.displayname Parameter of wage indexation to firms sales

‘ Equations 11-13: Firms profits and interests

%pi_eq = “Pi = Y – WB – inctax_h – inctax_f”

%int_h_eq = “int_h = r * pl(-1) * L_H(-1)”

series int_h = 4

int_h.displayname Interests paid by households

%int_f_eq = “int_f = r * pl(-1) * L_F(-1)”

series int_f = 3

int_f.displayname Interests paid by firms

%int_g_eq = “int_g = r * pl(-1) * L_G(-1)”

series int_g = 2

int_g.displayname Interests paid by the government

%int_eq = “int = int_h + int_f + int_g”

series int = 9

int.displayname Interests received by banks

series div = 10

div.displayname Dividends paid to capitalists by firms

‘ Equation 14: Dividends

%div_eq = “div = re * pe(-1) * E(-1)”

series pe = 1

pe.displayname Price of equity

series E = 200

E.displayname Volume of equity (number of titles issued)

series re = div / (pe * E)

re.displayname Financial profitability rate

‘ Equation 15 and 16: Income taxes paid by households and firms

%inctax_h_eq = “inctax_h = th * (WB(-1) – cons_h(-1))”

series inctax_h = 1.4

inctax_h.displayname Income taxes paid by households

series th = 0.1

th.displayname Tax rate on households income

%inctax_f_eq = “inctax_f = tf * Pi(-1)”

series inctax_f = 1

inctax_f.displayname Corporate tax paid by firms

series tf = 0.06

tf.displayname Corporate tax rate (paid by firms)

‘ Equation 17: Changes in the volume of deposits held by households

%deph_eq = “d(D_h) * pd = psi0_h + psi1_lh * pd(-1) * d(D_h(-1)) + psi2_lh * pd(-2) * d(D_h(-2)) + psi1_h * (cons_h + inv_h) – psi2_h * id”

%deph_flow_eq = “deph_flow = d(D_H) * pd”

series psi1_lh = 0.4

psi1_lh.displayname Deposits held by households autorregressive component, lag 1

series psi2_lh = 0.2

psi2_lh.displayname Deposits held by households autorregressive component, lag 2

series psi1_h = 0.02

psi1_h.displayname Deposits sensitivity to expenditure by households

series psi2_h = 1*100

psi2_h.displayname Deposits sensitivity to the deposits interest rate by households

series psi0_h = 32

psi0_h.displayname Autonomous change in deposits held by households

‘ Equation 18: Changes in the volume of deposits held by firms

%depf_eq = “d(D_f) * pd = psi0_f + psi1_l * pd(-1) * d(D_f(-1)) + psi2_l * pd(-2) * d(D_f(-2)) + psi1_f * WB – psi2_f * id”

%depf_flow_eq = “depf_flow = d(D_F) * pd”

series psi1_l = 0.4

psi1_l.displayname Autorregressive component of deposits held by firms, lag 1

series psi2_l = 0.2

psi2_l.displayname Autorregressive component of deposits held by firms, lag 2

series psi1_f = 0.01

psi1_f.displayname Deposits sensitivity to labor cost increases by firms

series psi2_f = 0.5*100

psi2_f.displayname Deposits sensitivity to the deposits interest rate by firms

series psi0_f = 30

psi0_f.displayname Autonomous change in deposits held by firms

‘ Equation 19: Volume of deposits (total)

%dep_eq = “Dep = D_F + D_H”

%dep_flow_eq = “dep_flow = d(Dep) * pd”

series pd = 1

pd.displayname Price of deposits

series Dep = 150

Dep.displayname Stock of deposits issued by the central bank

series D_h = 100

D_h.displayname Stock of deposits held by households

series D_f = 50

D_f.displayname Stock of deposits held by firms

‘ Equation 20: Changes in the volume of debt supply by banks

%loan_eq = “d(L) * pl = gamma0_b + gamma1_b * pl(-1) * d(L(-1)) + gamma2_b * pl(-2) * d(L(-2)) + gamma0_bre * re + gamma1_bre * re(-1) + gamma2_bre * re(-2) + gamma0_bri * (r – id) + gamma1_bri * (r(-1) – id(-1)) + gamma2_bri * (r(-2) – id(-2))”

series gamma1_b = 0.4

gamma1_b.displayname Autorregressive component of bank lending, lag 1

series gamma2_b = 0.3

gamma2_b.displayname Autorregressive component of bank lending, lag 2

series gamma0_bre = 100

gamma0_bre.displayname Bank lending sensitivity to financial profitability, lag 0

series gamma1_bre = 80

gamma1_bre.displayname Bank lending sensitivity to financial profitability, lag 1

series gamma2_bre = 50

gamma2_bre.displayname Bank lending sensitivity to financial profitability, lag 2

series gamma0_bri = 10*100

gamma0_bri.displayname Bank lending sensitivity to the int. rate spread, lag 0

series gamma1_bri = 8*100

gamma1_bri.displayname Bank lending sensitivity to the int. rate spread, lag 1

series gamma2_bri = 5*100

gamma2_bri.displayname Bank lending sensitivity to the int. rate spread, lag 2

series gamma0_b = 20

gamma0_b.displayname Autonomous change in bank lending

‘ Equation 21: Changes in the volume of debt demand by households

%loanh_eq = “d(L_h) * pl = gamma0_h + gamma1_l * pl(-1) * d(L_H(-1)) + gamma2_l * pl(-2) * d(L_H(-2)) – gamma1_h * r + gamma2_h * d(WB) + gamma3_h * pk”

series gamma1_l = 0.4

gamma1_l.displayname Autorregressive component of households demand for credit, lag 1

series gamma2_l = 0.2

gamma2_l.displayname Autorregressive component of households demand for credit, lag 2

series gamma1_h = 2*100

gamma1_h.displayname Household demand for credit sensitivity to the interest rate

series gamma2_h = 0.085

gamma2_h.displayname Household demand for credit sensitivity to the wage bill

series gamma3_h = 5

gamma3_h.displayname Household demand for credit sensitivity to the price of housing

series gamma0_h = 20

gamma0_h.displayname Autonomous change in household demand for credit

‘ Equation 22: Public deficit

%loang_eq = “d(L_g) * pl = inv_g + cons_g + int_g – inctax_h – inctax_f”

%loang_flow_eq = “loang_flow = d(L_G) * pl”

series pl = 1

pl.displayname Price of credit

series L_g = 50

L_g.displayname Stock of treasury bonds issued by the government

‘ Equation 23: Firms debt

%loanf_eq = “L_F = L – L_H – L_G”

%loanf_flow_eq = “loanf_flow = d(L_F) * pl”

series L = 225

L.displayname Stock of debt held by financial firms

series L_h = 100

L_h.displayname Stock of debt issued by households

series L_f = 75

L_f.displayname Stock of debt issued by non-financial firms

‘ Equation 24: Changes in the volume of equity demanded by firms

%equity_eq = “d(E) = eta0 + eta1_l * d(E(-1)) + eta2_l * d(E(-2)) + eta_re * re + eta1_re * re(-1) + eta2_re * re(-2) – eta2 * d(L)”

%equity_flow_eq = “equity_flow = d(E) * pe”

series eta1_l = 0.5

eta1_l.displayname Autorregressive component of the flow of equity, lag 1

series eta2_l = 0.3

eta2_l.displayname Autorregressive component of the flow of equity, lag 2

series eta_re = 0.075*100

eta_re.displayname Firms demand for equity sensitivity to financial profitability

series eta1_re = 0.05*100

eta1_re.displayname Firms demand for equity sensitivity to financial profitability, lag 1

series eta2_re = 0.03*100

eta2_re.displayname Firms demand for equity sensitivity to financial profitability, lag 2

series eta2 = 0.007

eta2.displayname Firms equity dependence due to changes in their debt demand

series eta0 = 0.15

eta0.displayname Autonomous change in firms demand for equity

‘ Equation 25: Price of deposits (change)

%pd_eq = “d(pd) = beta0 + beta1_l * d(pd(-1)) + beta2_l * d(pd(-2)) – beta1_d * d(Dep(-1)) – beta2_d * d(Dep(-2)) – beta1 * id”

series beta1_l = 0.4

beta1_l.displayname Autorregressive component of deposits price, lag 1

series beta2_l = 0.2

beta2_l.displayname Autorregressive component of deposits price, lag 2

series beta1_d = 0.001

beta1_d.displayname Price of deposits sensitivity to changes in its volume, lag 1

series beta2_d = 0.00075

beta2_d.displayname Price of deposits sensitivity to changes in its volume, lag 2

series beta1 = 0.02

beta1.displayname Price of deposits sensitivity to the deposits interest rate

series beta0 = 0.17

beta0.displayname Autonomous change in the price of deposits

‘ Equation 26: Price of credit (change)

%pl_eq = “d(pl) = epsilon0 + epsilon1_l * d(pl(-1)) + epsilon1_l * d(pl(-2)) + epsilon1_lv * d(L(-1)) + epsilon2_lv * d(L(-2)) – epsilon1 * r ”

series epsilon1_l = 0.3

epsilon1_l.displayname Autorregressive component of credit price, lag 1

series epsilon2_l = 0.1

epsilon2_l.displayname Autorregressive component of credit price, lag 2

series epsilon1_lv = 0.0008

epsilon1_lv.displayname Price of credit sensitivity to changes in its volume, lag 1

series epsilon2_lv = 0.00055

epsilon2_lv.displayname Price of credit sensitivity to changes in its volume, lag 2

series epsilon1 = 0.9

epsilon1.displayname Price of credit sensitivity to the lending interest rate

series epsilon0 = 0.01

epsilon0.displayname Autonomous change in the price of credit

‘ Equation 27: Price of equity (change)

%pe_eq = “d(pe) = lambda0 + lambda1_l * d(pe(-1)) + lambda2_l * d(pe(-2)) + lambda1_e * d(E(-1)) + lambda2_e * d(E(-2)) + lambda1 * d(y) – lambda2 * d(E/K)”

series lambda1_l = 0.3

lambda1_l.displayname Autorregressive component of equity price, lag 1

series lambda2_l = 0.1

lambda2_l.displayname Autorregressive component of equity price, lag 2

series lambda1_e = 0.005

lambda1_e.displayname Price of equity sensitivity to changes in its volume, lag 1

series lambda2_e = 0.001

lambda2_e.displayname Price of equity sensitivity to changes in its volume, lag 2

series lambda1 = 0.0003

lambda1.displayname Price of equity sensitivity to changes in output

series lambda2 = 15

lambda2.displayname Price of equity sensitivity to changes in Q

series lambda0 = 0.1

lambda0.displayname Autonomous change in the price of equity

‘ Equation 28: Interest rate on deposits

%id_eq = “id = theta0 + theta1_li * id(-1) + theta2_li * id(-2) – theta1_ls * d(S(-1)) – theta2_ls * d(S(-2))”

series id = 0.02

id.displayname Interest rate on deposits

series S = inv

S.displayname National saving

series theta1_li = 0.5

theta1_li.displayname Autorregressive component of deposits interest rate, lag 1

series theta2_li = 0.3

theta2_li.displayname Autorregressive component of deposits interest rate, lag 2

series theta1_ls = 0.0004

theta1_ls.displayname Deposits interest rate sensitivity to changes in savings, lag 1

series theta2_ls = 0.0001

theta2_ls.displayname Deposits interest rate sensitivity to changes in savings, lag 2

series theta0 = 0.02

theta0.displayname Autonomous change in the deposits interest rate

‘ Equation 29: Interest rate on credit

%r_eq = “r = xi0 + xi1_l * r(-1) + xi2_l * r(-2) + xi1_linv * d(inv(-1)) + xi2_linv * d(inv(-2)) + xi1_lid * id(-1) + xi2_lid * id(-2)”

series r = 0.04

r.displayname Interest rate on loans

series xi1_l = 0.5

xi1_l.displayname Autorregressive component of lending interest rate, lag 1

series xi2_l = 0.3

xi2_l.displayname Autorregressive component of lending interest rate, lag 2

series xi1_linv = 0.0005

xi1_linv.displayname Lending interest rate sensitivity to changes in investment, lag 1

series xi2_linv = 0.0001

xi2_linv.displayname Lending interest rate sensitivity to changes in investment, lag 2

series xi1_lid = 0.05

xi1_lid.displayname Lending interest rate sensitivity to the deposits rate, lag 1

series xi2_lid = 0.03

xi2_lid.displayname Lending interest rate sensitivity to the deposits rate, lag 2

series xi0 = 0.01

xi0.displayname Autonomous change in the lending rate

‘ Equation 30: Financial profitability

%re_eq = “re = omega0 + omega1_l * re(-1) + omega2_l * re(-2) + omega1_lpi * d(Pi(-1)) + omega2_lpi * d(Pi(-2)) + omega1_lpe * d(pe(-1)) + omega2_lpe * d(pe(-2))”

series omega1_l = 0.4

omega1_l.displayname Autorregressive component of financial profitability, lag 1

series omega2_l = 0.2

omega2_l.displayname Autorregressive component of financial profitability, lag 2

series omega1_lpi = 0.0005

omega1_lpi.displayname Financial profitability sensitivity to changes in profits, lag 1

series omega2_lpi = 0.0002

omega2_lpi.displayname Financial profitability sensitivity to changes in profits, lag 2

series omega1_lpe = 0.2

omega1_lpe.displayname Financial profitability sensitivity to changes in equity prices, lag 1

series omega2_lpe = 0.17

omega2_lpe.displayname Financial profitability sensitivity to changes in equity prices, lag 2

series omega0 = 0.01

omega0.displayname Autonomous change in financial profitability

‘ Equations 31-35: Wealth

%w_h_eq = “W_H = pk * K_H + pd * D_H – pl * L_H”

%w_f_eq = “W_F = pk * K_F + pd * D_F – pl * L_F – pe * E”

%w_g_eq = “W_G = pk * K_G – pl * L_G”

%w_b_eq = “W_B = pk * K – W_H – W_F – W_G – W_CB”

%w_cb_eq = “W_CB = RF – pd * Dep”

series W_F = 150

W_F.displayname Firms wealth

series W_G = 100

W_G.displayname Public wealth

series W_B = 100

W_B.displayname Financial firms wealth

series W_CB = 50

W_CB.displayname Central bank wealth

‘ Equations 36-41: Saving

%s_h_eq = “S_H = WB – int_h – inctax_h – cons_h – pd * d(D_H) + pl * d(L_H) – inv_h”

series S_H = 8.6

S_H.displayname Household saving

%s_f_eq = “S_F = Y – inv_f – WB – int_f – div – inctax_f – Pi”

series S_F = -12.4

S_F.displayname Non-financial firms saving

%s_g_eq = “S_G = d(W_G)”

series S_G = -9.6

S_G.displayname Government saving

%s_b_eq = “S_B = d(W_B)”

series S_B = 55.6

S_B.displayname Financial firms saving

%s_cb_eq = “S_CB = S – S_H – S_F – S_G – S_B”

series S_CB = -18.2

S_CB.displayname Central bank saving

%s_eq = “S = Inv”

series S = 24

S.displayname Saving

‘ Equation 42: Refinancing

%rf_eq = “RF = pl * L + pe * E – W_B”

series RF = 200

RF.displayname Refinancing

‘ Other stocks and flows

%loan_flow_eq = “loan_flow = d(L) * pl”

%loanh_flow_eq = “loanh_flow = d(L_H) * pl”

%rf_flow_eq = “rf_flow = d(RF)”

series deph_flow = 20.6

deph_flow.displayname Flow of deposits held by households

series depf_flow = 17.6

depf_flow.displayname Flow of deposits held by firms

series dep_flow = deph_flow + depf_flow

dep_flow.displayname Flow of deposits, total

series loanh_flow = 20

loanh_flow.displayname Flow of credit obligations issued by households

series loanf_flow = 20

loanf_flow.displayname Flow of credit obligations issued by firms

series loang_flow = 15.6

loang_flow.displayname Flow of credit obligations issued by the government

series loan_flow = loanh_flow + loanf_flow + loang_flow

loan_flow.displayname Flow of credit obligations issued, total

series equity_flow = 20

equity_flow.displayname Flow of equities issued by firms, managed by banks

series rf_flow = 20

rf_flow.displayname Flow of refinancing

‘ Revaluation effects

%rev_kh_eq = “rev_kh = K_H(-1) * d(pk)”

series rev_K_H = 3

rev_K_H.displayname Revaluation effect of households non-financial assets

%rev_kf_eq = “rev_kf = K_F(-1) * d(pk)”

series rev_K_F = 3

rev_K_F.displayname Revaluation effect of firms non-financial assets

%rev_kg_eq = “rev_kg = K_G(-1) * d(pk)”

series rev_K_G = 3

rev_K_G.displayname Revaluation effect of government non-financial assets

%rev_k_eq = “rev_k = K(-1) * d(pk)”

series rev_K = 11

rev_K.displayname Revaluation effect of non-financial assets, total

%rev_dh_eq = “rev_dh = D_H(-1) * d(pd)”

series rev_D_H = 2

rev_D_H.displayname Revaluation effect of households deposits

%rev_df_eq = “rev_df = D_F(-1) * d(pd)”

series rev_D_F = 1

rev_D_F.displayname Revaluation effect of firms deposits

%rev_d_eq = “rev_d = Dep(-1) * d(pd)”

series rev_D = 3

rev_D.displayname Revaluation effect of deposits, total

%rev_lh_eq = “rev_lh = L_H(-1) * d(pl)”

series rev_L_H = 2

rev_L_H.displayname Revaluation effect of households debt

%rev_lf_eq = “rev_lf = L_F(-1) * d(pl)”

series rev_L_F = 1.5

rev_L_F.displayname Revaluation effect of firms debt

%rev_lg_eq = “rev_lg = L_G(-1) * d(pl)”

series rev_L_G = 1

rev_L_G.displayname Revaluation effect of government debt

%rev_l_eq = “rev_l = L(-1) * d(pl)”

series rev_L = 4.5

rev_L.displayname Revaluation effect of debt, total

%rev_e_eq = “rev_e = E(-1) * d(pe)”

series rev_E = 1.5

rev_E.displayname Revaluation effect of equity

‘ Model Specification (see article)

model _1glr_sfc

_1glr_sfc.append {%gdp_eq}

_1glr_sfc.append {%cons_h_eq}

_1glr_sfc.append {%cons_g_eq}

_1glr_sfc.append {%cons_eq}

_1glr_sfc.append {%inv_h_eq}

_1glr_sfc.append {%inv_h_eq2}

_1glr_sfc.append {%inv_eq}

_1glr_sfc.append {%inv_eq2}

_1glr_sfc.append {%inv_f_eq}

_1glr_sfc.append {%inv_f_eq2}

_1glr_sfc.append {%inv_g_eq}

_1glr_sfc.append {%inv_g_eq2}

_1glr_sfc.append {%pk_eq}

_1glr_sfc.append {%wb_eq}

_1glr_sfc.append {%pi_eq}

_1glr_sfc.append {%int_h_eq}

_1glr_sfc.append {%int_f_eq}

_1glr_sfc.append {%int_g_eq}

_1glr_sfc.append {%int_eq}

_1glr_sfc.append {%div_eq}

_1glr_sfc.append {%inctax_h_eq}

_1glr_sfc.append {%inctax_f_eq}

_1glr_sfc.append {%deph_eq}

_1glr_sfc.append {%deph_flow_eq}

_1glr_sfc.append {%depf_eq}

_1glr_sfc.append {%depf_flow_eq}

_1glr_sfc.append {%dep_eq}

_1glr_sfc.append {%dep_flow_eq}

_1glr_sfc.append {%loan_eq}

_1glr_sfc.append {%loan_flow_eq}

_1glr_sfc.append {%loanh_eq}

_1glr_sfc.append {%loanh_flow_eq}

_1glr_sfc.append {%loang_eq}

_1glr_sfc.append {%loang_flow_eq}

_1glr_sfc.append {%loanf_eq}

_1glr_sfc.append {%loanf_flow_eq}

_1glr_sfc.append {%equity_eq}

_1glr_sfc.append {%equity_flow_eq}

_1glr_sfc.append {%pd_eq}

_1glr_sfc.append {%pl_eq}

_1glr_sfc.append {%pe_eq}

_1glr_sfc.append {%id_eq}

_1glr_sfc.append {%r_eq}

_1glr_sfc.append {%re_eq}

_1glr_sfc.append {%w_h_eq}

_1glr_sfc.append {%w_f_eq}

_1glr_sfc.append {%w_g_eq}

_1glr_sfc.append {%w_b_eq}

_1glr_sfc.append {%w_cb_eq}

_1glr_sfc.append {%s_h_eq}

_1glr_sfc.append {%s_f_eq}

_1glr_sfc.append {%s_g_eq}

_1glr_sfc.append {%s_b_eq}

_1glr_sfc.append {%s_cb_eq}

_1glr_sfc.append {%s_eq}

_1glr_sfc.append {%rf_eq}

_1glr_sfc.append {%rf_flow_eq}

_1glr_sfc.append {%rev_kh_eq}

_1glr_sfc.append {%rev_kf_eq}

_1glr_sfc.append {%rev_kg_eq}

_1glr_sfc.append {%rev_k_eq}

_1glr_sfc.append {%rev_dh_eq}

_1glr_sfc.append {%rev_df_eq}

_1glr_sfc.append {%rev_d_eq}

_1glr_sfc.append {%rev_lh_eq}

_1glr_sfc.append {%rev_lf_eq}

_1glr_sfc.append {%rev_lg_eq}

_1glr_sfc.append {%rev_l_eq}

_1glr_sfc.append {%rev_e_eq}

‘ Simulation

_1glr_sfc.scenario “Baseline”

_1glr_sfc.solve(o=g) ‘ System Solving Method : g = Gauss-Seidel, n = Newton, b = Broyden

series _eq_unwritten = (pd_0 * Dep_0 + W_CB_0) * 100 / (pl_0 * L_0 + pe_0*E_0 – W_B_0)

_eq_unwritten.displayname Unwritten identity: Deposits + Central Bank net worth = Credit + Equity less Private Banks net worth

series _eq_is = s_0 * 100 / inv_0

_eq_is.displayname Flow identity: Saving = Investment

series _eq_rev = rev_k_0 * 100 / (rev_kh_0 + rev_dh_0 – rev_lh_0 + rev_kf_0 + rev_df_0 – rev_lf_0 – rev_e_0 + L_0(-1) * d(pl_0) + rev_e_0 – Dep_0(-1) * d(pd_0) + rev_kg_0 – rev_lg_0)

_eq_rev.displayname Revaluation identity: Revaluation of non-financial assets = Revaluation of total net worth

series _eq_wk = pk_0 * K_0 * 100 / (W_H_0 + W_F_0 + W_G_0 + W_B_0 + W_CB_0)

_eq_wk.displayname Stock identity: Stock of capital = Net worth

series _eq_kstock = pk_0 * K_0 * 100 / (pk_0(-1) * K_0(-1) + pk_0 * d(K_0) + K_0(-1) * d(pk_0))

_eq_kstock.displayname Temporal consistency (consolidation) of non-financial assets

series _eq_depstock = pd_0 * Dep_0 * 100 / (pd_0(-1) * Dep_0(-1) + pd_0 * d(Dep_0) + Dep_0(-1) * d(pd_0))

_eq_depstock.displayname Temporal consistency (consolidation) of deposits

series _eq_credstock = pl_0 * L_0 * 100 / (pl_0(-1) * L_0(-1) + pl_0 * d(L_0) + L_0(-1) * d(pl_0))

_eq_credstock.displayname Temporal consistency (consolidation) of credit

series _eq_eqstock = pe_0 * E_0 * 100 / (pe_0(-1) * E_0(-1) + pe_0 * d(E_0) + E_0(-1) * d(pe_0))

_eq_eqstock.displayname Temporal consistency (consolidation) of equity

smpl 6 @last

series _cons_y = consumption_0 * 100 / y_0

_cons_y.displayname Total consumption, % of GDP

series _inv_y = inv_0 * 100 / y_0

_inv_y.displayname Total investment, % of GDP

graph _1gdpdem_graph.line _cons_y _inv_y

_1gdpdem_graph.save({%graph_size}) _1gdpdem_graph

series _invh_inv = inv_h_0 * 100 / inv_0

series _wb_y = WB_0 * 100 / Y_0

_wb_y.displayname Wages, % of GDP

series _pi_y = Pi_0 * 100 / Y_0

_pi_y.displayname Profits, % of GDP

graph _1gdpinc_graph.line _WB_y _Pi_y

_1gdpinc_graph.save({%graph_size}) _1gdpinc_graph

series _profitrate = Pi_0*100/(pk_0*K_0(-1))

_profitrate.displayname Profit rate of firms, %

series _re = re_0*100

_re.displayname Rate of financial profitability, %

graph _1profitr_graph.line _profitrate _re

_1profitr_graph.save({%graph_size}) _1profitr_graph

series _r = r_0*100

_r.displayname Interest rate on credit, %

series _id = id_0*100

_id.displayname Interest rate on deposits, %

graph _1intrates_graph.line _r _id

_1intrates_graph.save({%graph_size}) _1intrates_graph

series _int = int_0*100/y_0

_int.displayname Interests, % of GDP

series _div = div_0*100/y_0

_div.displayname Dividends, % of GDP

graph _1intdiv_graph.line _int _div

_1intdiv_graph.save({%graph_size}) _1intdiv_graph

series _pk = pk_0

_pk.displayname Price of non-financial assets

series _pd = pd_0

_pd.displayname Price of deposits

series _pl = pl_0

_pl.displayname Price of credit

series _pe = pe_0

_pe.displayname Price of equity

graph _1prices_graph.line _pk _pd _pl _pe

_1prices_graph.save({%graph_size}) _1prices_graph

graph _1eq1_graph.line _eq_kstock _eq_depstock _eq_credstock _eq_eqstock

_1eq1_graph.save({%graph_size}) _1eq1_graph

graph _1eq2_graph.line _eq_unwritten _eq_wk _eq_is _eq_rev

_1eq2_graph.save({%graph_size}) _1eq2_graph

‘ Generate Shocks

smpl @all

series gamma0_b_1 = gamma0_b

smpl {!shock_period} {!shock_period}

series gamma0_b_1 = gamma0_b_1 + {!Shock1}*d(L_0)*pl_0 ‘ Y_0

smpl @all

‘ Bank lending one-period shock

_1glr_sfc.scenario(n,a=_1) “Autonomous increase in bank lending (1-period)”

_1glr_sfc.override gamma0_b

_1glr_sfc.solve

series gamma0_b_2 = gamma0_b

smpl {!shock_period} @last

series gamma0_b_2 = gamma0_b_2 + {!Shock2}*d(L_0)*pl_0 ‘ Y_0

smpl @all

‘ Bank lending one-period shock

_1glr_sfc.scenario(n,a=_2) “Autonomous increase in bank lending (multi-period)”

_1glr_sfc.override gamma0_b

_1glr_sfc.solve

delete S1_* S2_*

‘ Comparative graphs (after shock)

smpl @all

series _y_s1 = (y_1/y_0)*100

_y_s1.displayname GDP change after increase in autonomous bank lending

series _consh_s1 = (cons_h_1/cons_h_0)*100

_consh_s1.displayname Personal consumption change after increase in autonomous bank lending

series _invf_s1 = (inv_f_1/inv_f_0)*100

_invf_s1.displayname Firms investment change after increase in autonomous bank lending

series _invh_s1 = (inv_h_1/inv_h_0)*100

_invh_s1.displayname Households investment change after increase in autonomous bank lending

series _y_s2 = (y_2/y_0)*100

_y_s2.displayname GDP change after increase in autonomous bank lending

series _consh_s2 = (cons_h_2/cons_h_0)*100

_consh_s2.displayname Personal consumption change after increase in autonomous bank lending

series _invf_s2 = (inv_f_2/inv_f_0)*100

_invf_s2.displayname Firms investment change after increase in autonomous bank lending

series _invh_s2 = (inv_h_2/inv_h_0)*100

_invh_s2.displayname Households investment change after increase in autonomous bank lending

series _debtflowy_bs = pl_0*d(L_0)*100/Y_0

_debtflowy_bs.displayname Flow of debt held by banks (% of GDP) under the baseline

series _debtflowy_1 = pl_1*d(L_1)*100/Y_1

_debtflowy_1.displayname Flow of debt held by banks (% of GDP) under a one-shot increase in indebtedness

series _debtflowy_2 = pl_2*d(L_2)*100/Y_2

_debtflowy_2.displayname Flow of debt held by banks (% of GDP) under a permanent increase in indebtedness

series _pe1 = pe_1 * 100 / pe_0

_pe1.displayname Price of equity under shock 1 / baseline

series _pe2 = pe_2 * 100 / pe_0

_pe2.displayname Price of equity under shock 2 / baseline

series _re1 = re_1 * 100 / re_0

_re1.displayname Rate of financial profitability under shock 1 / baseline

series _re2 = re_2 * 100 / re_0

_re2.displayname Rate of financial profitability under shock 2 / baseline

series _int1 = int_1 * 100 / int_0

_int1.displayname Interests received by banks under shock 1 / baseline

series _int2 = int_2 * 100 / int_0

_int2.displayname Interests received by banks under shock 2 / baseline

series _div1 = div_1 * 100 / div_0

_div1.displayname Dividends under shock 1 / baseline

series _div2 = div_2 * 100 / div_0

_div2.displayname Dividends under shock 2 / baseline

series _profitrate1 = (Pi_1 * 100 / (pk_1 * K_1(-1))) – (Pi_0 * 100 / (pk_0 * K_0(-1)))

_profitrate1.displayname Profit rate of firms under shock 1 – baseline (%)

series _profitrate2 = (Pi_2 * 100 / (pk_2 * K_2(-1))) – (Pi_0 * 100 / (pk_0 * K_0(-1)))

_profitrate2.displayname Profit rate of firms under shock 2 – baseline (%)

series _wb1 = (wb_1/wb_0)*100

_wb1.displayname Wage bill under shock 1 / baseline

series _wb2 = (wb_2/wb_0)*100

_wb2.displayname Wage bill under shock 2 / baseline

smpl {!shock_period}-2 {!shock_period}+6

graph _1s1_gdp_graph.line _y_s1 _consh_s1 _invf_s1 _invh_s1

_1s1_gdp_graph.save({%graph_size}) _1s1_gdp_graph

graph _1s2_gdp_graph.line _y_s2 _consh_s2 _invf_s2 _invh_s2

_1s2_gdp_graph.save({%graph_size}) _1s2_gdp_graph

graph _1debtsc_graph.line _debtflowy_bs _debtflowy_1 _debtflowy_2

_1debtsc_graph.save({%graph_size}) _1debtsc_graph

graph _1pesc_graph.line _pe1 _pe2

_1pesc_graph.save({%graph_size}) _1pesc_graph

graph _1resc_graph.line _re1 _re2

_1resc_graph.save({%graph_size}) _1resc_graph

graph _1intsc_graph.line _int1 _int2

_1intsc_graph.save({%graph_size}) _1intsc_graph

graph _1divsc_graph.line _div1 _div2

_1divsc_graph.save({%graph_size}) _1divsc_graph

graph _1pratesc_graph.line _profitrate1 _profitrate2

_1pratesc_graph.save({%graph_size}) _1pratesc_graph

graph _1wbsc_graph.line _wb1 _wb2

_1wbsc_graph.save({%graph_size}) _1wbsc_graph

wfsave GLR2017

EViews 8 simulation script for** Mundell-Flemming model under a fixed exchange rate regime **(static).

‘ Simulation program for Mundell-Flemming model (or IS-LM-BP) under a fixed exchange rate regime

mode quiet

%directory = “INSERT DIRECTORY PATH HERE”

@uiedit(%directory, “Directory where graphs and tables will be saved:”, 1024)

!obs =1000

wfclose(noerr) IS_LM_BP_Fr

wfcreate IS_LM_BP_Fr u {!obs}

scalar a_0 = 80

scalar a_1 = 0.8

scalar i_0 = 25

scalar i_1 = -5

scalar g_0 = 40

scalar x_0 = 25

scalar m_0 = 20

scalar m_1 = 0.15

scalar t_rate = 0.15

scalar c_1 = (a_0+i_0+g_0+x_0-m_0)

scalar c_2 = (1-a_1*(1-t_rate)+m_1)

scalar l_1 = 0.5

scalar l_2 = -5

scalar k_prm = 6

‘ Change the value of the interest rate to obtain the new value of output

‘ Equilibrium interest rate, aggregate output and money supply

scalar int_rate_calc = (((x_0-m_0)/m_1)-(c_1/c_2))/((i_1/c_2)-(k_prm/m_1))

scalar y_calc = ((x_0-m_0)/m_1)+(k_prm*int_rate_calc/m_1)

scalar m_no_bar = l_1*y_calc + l_2*int_rate_calc

‘ Simulation

matrix({!obs},4) IS_LM_BP

IS_LM_BP.displayname IS-LM-BP curves

for !i = 1 to {!obs}

scalar int_rate_s_{!i} = {!i}/100

scalar Y_IS_{!i} = (c_1/c_2)+(i_1*int_rate_s_{!i}/c_2)

scalar Y_LM_{!i} = (m_no_bar/l_1)-(l_2*int_rate_s_{!i}/l_1)

scalar Y_BP_{!i} = ((x_0-m_0)/m_1)+(k_prm*int_rate_s_{!i}/m_1)

IS_LM_BP({!i},1) = int_rate_s_{!i}

IS_LM_BP({!i},2) = Y_IS_{!i}

IS_LM_BP({!i},3) = Y_LM_{!i}

IS_LM_BP({!i},4) = Y_BP_{!i}

delete int_rate_s_{!i} Y_IS_{!i} Y_LM_{!i} Y_BP_{!i}

next

‘ Equilibrium level of output from the IS curve

scalar y_is = (c_1/c_2)+(i_1*int_rate_calc/c_2)

‘ Equilibrium level of output from the LM curve

scalar y_lm = (m_no_bar/l_1)-(l_2*int_rate_calc/l_1)

‘ Equilibrium level of output from the BP curve

scalar y_bp = ((x_0-m_0)/m_1)+(k_prm*int_rate_calc/m_1)

show IS_LM_BP.xyline

delete y_calc

wfsave IS_LM_BP_Fr

EViews 8 simulation script for** Mundell-Flemming model under a floating exchange rate regime** (static).

‘ Simulation program for Mundell-Flemming model (or IS-LM-BP) under a floating exchange rate regime

mode quiet

%directory = “INSERT DIRECTORY PATH HERE”

@uiedit(%directory, “Directory where graphs and tables will be saved:”, 1024)

cd %directory

!obs = 1000

wfclose(noerr) IS_LM_BP_Fr

wfcreate IS_LM_BP_Fr u {!obs}

scalar a_0 = 80

scalar a_1 = 0.8

scalar i_0 = 25

scalar i_1 = -5

scalar g_0 = 40

scalar x_0 = 25

scalar x_1 = 0.4

scalar m_0 = 20

scalar m_1 = 0.15

scalar m_2 = 0.15

scalar t_rate = 0.15

scalar c_1 = (a_0+i_0+g_0+x_0-m_0)

scalar c_2 = (1-a_1*(1-t_rate)+m_2)

scalar m_bar = 115.76

scalar l_1 = 0.5

scalar l_2 = -5

scalar k_prm = 6

scalar c_3 = (l_2*(m_2-c_2)-l_1*(i_1-k_prm))

‘ Change the value of the interest rate to obtain the new value of output

‘ Equilibrium interest rate, aggregate output and exchange rate

scalar int_rate_calc = (m_bar*(m_2-c_2)-l_1*((x_0-m_0)-c_1))/c_3

scalar y_calc = (m_bar/l_1)-(l_2*int_rate_calc/l_1)

scalar xr_calc = (c_2*y_calc-c_1-i_1*int_rate_calc)/(x_1-m_1)

‘ Simulation

matrix({!obs},4) IS_LM_BP

IS_LM_BP.displayname IS-LM-BP curves

for !i = 1 to {!obs}

scalar int_rate_s_{!i} = {!i}/100

scalar Y_IS_{!i} = (c_1+xr_calc*(x_1-m_1)+i_1*int_rate_s_{!i})/c_2

scalar Y_LM_{!i} = (m_bar/l_1)-(l_2*int_rate_s_{!i}/l_1)

scalar Y_BP_{!i} = ((x_0-m_0)+xr_calc*(x_1-m_1)+k_prm*int_rate_s_{!i})/m_2

IS_LM_BP({!i},1) = int_rate_s_{!i}

IS_LM_BP({!i},2) = Y_IS_{!i}

IS_LM_BP({!i},3) = Y_LM_{!i}

IS_LM_BP({!i},4) = Y_BP_{!i}

delete int_rate_s_{!i} Y_IS_{!i} Y_LM_{!i} Y_BP_{!i}

next

‘ Equilibrium level of output from the IS curve

scalar y_is = (c_1+xr_calc*(x_1-m_1)+i_1*int_rate_calc)/c_2

‘ Equilibrium level of output from the LM curve

scalar y_lm = (m_bar/l_1)-(l_2*int_rate_calc/l_1)

‘ Equilibrium level of output from the BP curve

scalar y_bp = ((x_0-m_0)+xr_calc*(x_1-m_1)+k_prm*int_rate_calc)/m_2

show IS_LM_BP.xyline

wfsave IS_LM_BP_Fr

delete y_calc

EViews 7** script for bringing annual data to quarters.** Instructions here: User’s Guide Denton, .pdf

‘ DENTON (1971) method to bring annual data to quarters.

mode quiet

@uiprompt(“Attention: The file QUARTER.txt must contain the header ‘quarter’ for the program to work. The file ANNUAL.txt must not contain a header.”)

%directory = “HERE YOU MUST INSERT THE DIRECTORY PATH”

@uiedit(%directory, “Directory (must match the folder containing the files QUARTER.txt and ANNUAL.txt):”, 1024)

cd %directory

‘ Specify number of years

%nyears = “##”

@uiedit(%nyears, “Set number of years you wish to bring to quarters (See Denton, 1971 for details):”)

!n_years = @val(%nyears)

‘ Specify periodicity (normally 4, in order to bring to quarters).

!quarters = 4

‘ Total number of quarters

!periods = {!n_years}*{!quarters}

create u !periods

‘ Read quarter ad hoc series read QUARTER.txt quarter

‘ For details on method, see Denton, Frank (1971)

matrix matrix_D = @identity(!periods) for !i = 1 to {!periods}-1

matrix_D({!i}+1,{!i}) = -1 next

matrix matrix_D_tr = @transpose(matrix_D)

matrix D_tr_D = matrix_D_tr*matrix_D

‘ Matrix A matrix A_inv = @inverse(D_tr_D)

matrix(!periods,!n_years) matrix_B

for !i = 1 to !n_years

for !j = 1 to !quarters

matrix_B(({!j}-{!quarters})+{!i}*{!quarters},{!i}) = 1

next

next

matrix matrix_B_tr = @transpose(matrix_B)

matrix B_tr_A_tr = matrix_B_tr*A_inv

matrix B_tr_A_tr_B = B_tr_A_tr*matrix_B

matrix B_tr_A_tr_B_inv = @inverse(B_tr_A_tr_B)

matrix A_inv_B = A_inv*matrix_B

matrix matrix_C = A_inv_B*B_tr_A_tr_B_inv

matrix quarter_matrix = quarter

matrix B_tr_Z = matrix_B_tr*quarter_matrix

matrix(!n_years,1) annual

annual.read(t=dat) ANNUAL.txt

matrix matrix_r = annual-B_tr_Z

matrix matrix_C_r = matrix_C*matrix_r

matrix series_q = quarter_matrix+matrix_C_r

delete matrix_D matrix_D_tr D_tr_D A_inv matrix_B matrix_B_tr B_tr_A_tr B_tr_A_tr_B B_tr_A_tr_B_inv A_inv_B matrix_C quarter_matrix B_tr_Z matrix_C_r matrix_r annual quarter

series quarter_series

for !i = 1 to !periods

quarter_series.fill(o=!i)

series_q(!i,1)

next

delete series_q

EViews 7 script for models in** “Financialized Growth Regime: Lessons from Stock-Flow Consistent Models” (with Jacques Mazier)**, published in *Revue de la Régulation* in 2014.

‘ Program used in Stock Flow Consistent Model of the paper “Financialized growth regime: lessons from Stock Flow Consistent models”.’ To be published @ Revue de la Regulation, 2014.

‘ Authors: Luis REYES (luisantonio.reyesortiz@univ-paris13.fr) and Jacques MAZIER (mazier@univ-paris13.fr), Centre d’Economie Paris Nord.

‘ Note: Before making the model run (by pushing the button “run” located in the upper left-hand of this box), the user must select a default folder, in which all graphs presented in the paper (along with other useful ones) and the Matrix of Stocks will be saved. The location of this folder must be inserted in the second box appearing once the program is run.

‘ For the program to work properly, the EViews version must be 7 or higher.

‘ PROGRAM SESSION :

‘ Set program

mode %mode = “quiet”

@uiedit(%mode, “Enter program mode (quiet or verbose):”)

mode %mode

‘ Set default directory (where all graphs will be saved)

%directory = “INSERT DIRECTORY PATH HERE” @uiedit(%directory, “Directory where graphs and tables will be saved:”, 1024)

cd %directory

‘ Graphs size and type (.png is useful for LaTeX).

%graph_size = “t=png, u=cm, h=7.5, -c, -box”

create u 1 80

‘ Model choice: see the paper for details on closures.

scalar model_sel = 1

@uiradio(model_sel, “Model Selection (1) Indebtedness Norm, (2) Own Funds Norm:”, “1 2”)

!model = model_sel

smpl @all

‘ Relevant Equations

‘ Model 1, Indebtedness Norm.

%m1_debt_eq = “L = (g0+g1*(UP(-1)/K(-1))+g2*re(-1))*K”

%m1_of_eq = “d(E) = (I-UP+pe*d(Ee)-d(L))/pe” ‘ as a residual.

‘ Model 2, Own Funds Norm.

%m2_debt_eq = “d(L) = I+pe*d(Ee)-UP-pe*d(E)” ‘ as a residual.

%m2_of_eq = “E*pe = (z0+z1*rl+z2*(L(-1)/K(-1))-z3*re)*(K+pe*Ee)”

‘ Financial Profitability options: with or without Firms’ Net Wealth (Ve) in denominator.

%fin_prof = “re = d(pe)/pe(-1)+(DIV/(pe(-1)*E(-1)))” ‘ (E(-1)*d(pe)+DIV)/((pe(-1)*E(-1))+Ve(-1)) as an alternative

‘ Financial accumulation options: as a stock or as a flow (financial accumulation).

%fin_acc = “Ee*pe = (f0+f1*re+f2*(UP/K(-1))+f3*(L/K)-f4*r)*(K+pe*Ee)” ‘ d(Ee) = Ee(-1)*(f0+f1*re+f2*(UP/K(-1))+f3*(L/K)-f4*rl) as an alternative

‘ Behavioral equations setting.

%cons_fn = “Cp = a0+a1*YHSh+a2*VH(-1)” ‘ Consumption Function

%bonds_fn = “B = (v0+v1*rb-v2*id-v3*re)*VH/pb” ‘ Bonds Function

%cap_acc_fn = “gg = k0+(k1*(UP(-1)/K(-2)))+(k2*(D(Y)/Y(-1)))-(k3*(L(-1)/K(-1)))-(k4*rl)-k5*re” ‘ Capital Accumulation Function

%peEh_fn = “pe*Eh = (w0-w1*rb-w2*id+w3*re)*Vh” ‘ Households Equity Held Function

‘ Shocks.

%shock_1 = “0.025”

@uiedit(%shock_1, “Shock 1. Increase in Consumption of:”)

!Shock1 = @val(%shock_1)

%shock_2 = “0.02” @uiedit(%shock_2, “Shock 2. Increase in the Wage Share of:”)

!Shock2 = @val(%shock_2)

%shock_3 = “0.01” @uiedit(%shock_3, “Shock 3. Increase in the Capital Accumulation rate of:”)

!Shock3 = @val(%shock_3)

%shock_4 = “0.01” @uiedit(%shock_4, “Shock 4. Increase in Firms’ Financial Accumulation rate:”)

!Shock4 = @val(%shock_4)

%shock_5 = “0.01” @uiedit(%shock_5, “Shock 5. Increase in the share of Households’ Financial Wealth of:”)

!Shock5 = @val(%shock_5)

‘ Parameters of:

‘ Consumption Function

series a1 = 0.83

a1.displayname Coefficient of YHSh (+) in Consumption Function (Marginal Propensity to Consume)

series a2 = 0.04

a2.displayname Coefficient of Vh(-1) (+) in Consumption Function

‘ Capital Accumulation

series k1 = 0.35

k1.displayname Coefficient of UP(-1)/K(-2) (+) in Accumulation Function series

k2 = 0.025

k2.displayname Coefficient of (d(Y)/Y(-1)) (+) in Accumulation Function (Accelerator Effect)

series k3 = 0.1

k3.displayname Coefficient of L(-1)/K(-1) (-) in Accumulation Function

series k4 = 0.5

k4.displayname Coefficient of rl (-) in Accumulation Function

series k5 = 0.1

k5.displayname Coefficient of re (-) in Accumulation Function

‘ Bonds (Share of Vh)

series v1 = 0.2

v1.displayname Coefficient of rb (+) in Bonds Function

series v2 = 0.2

v2.displayname Coefficient of id (-) in Bonds Function

series v3 = 0.1

v3.displayname Coefficient of re (-) in Bonds Function

‘ Households’ demand for equity (Share of Vh)

series w1 = 0.01

w1.displayname Coefficient of rb (-) in Household Equity Demand

series w2 = 0.02

w2.displayname Coefficient of id (-) in Household Equity Demand

series w3 = 0.02

w3.displayname Coefficient of re (+) in Household Equity Demand

‘ Financial Accumulation

series f1 = 0.2

f1.displayname Coefficient of re (+) in Financial Accumulation Function

series f2 = 0.6

f2.displayname Coefficient of UP/K(-1) (+) in Financial Accumulation Function

series f3 = 0

f3.displayname Coefficient of L/K (+) in Financial Accumulation Function

series f4 = 0

f4.displayname Coefficient of rl (-) in Financial Accumulation Function

‘ Indebtedness Norm

series g1 = 0.3

g1.displayname Coefficient of UP/K(-1) (+) in Indebtedness Norm

series g2 = 0.04

g2.displayname Coefficient of re (+) in Indebtedness Norm

series g3 = 0

g3.displayname Coefficient of rl (-) in Indebtedness Norm

‘Own Funds Norm

series z1 = 0.5

z1.displayname Coefficient of rl (+) in Own Funds Norm

series z2 = 0.45

z2.displayname Coefficient of L(-1)/K(-1) (+) in Own Funds Norm

series z3 = 0.0333333333333

z3.displayname Coefficient of re (-) in Own Funds Norm

‘ Others

series r0 = 0.67652

r0.displayname Wage Share

series theta = 0.1

theta.displayname Tax Rate on Households

series lambda = 0.050005

lambda.displayname Share of Bank Money to Bank Deposits

series lambda0 = 0.159143

lambda0.displayname Share of Households Money to Consumption

series thetab = 0.286277

thetab.displayname Tax Rate on Banks

series sf = 0.34097798866

sf.displayname Saving Rate of Firms

series gpch = 0.025

gpch.displayname Growth Rate of Government Spending

‘ Interest Rates

series ib = 0.015

ib.displayname Banks Interest Rate

series m1b = 0.005

m1b.displayname Interest Rate Mark-up 1

series m2b = 0.005

m2b.displayname Interest Rate Mark-up 2

series rl = ib+m1b

rl.displayname Lending Rate

series id = ib-m2b

id.displayname Interest Rate on Deposits

series r = rl

r.displayname Leader Interest Rate

series rb = r

rb.displayname Short-Term Interest Rate on Bonds

series pb = 1/rb

pb.displayname Long-Term interest Rate on Bonds

‘ Endogenous variables / initial values

series Y = 100

Y.displayname Output / Income

series CP = 60

CP.displayname Personal Consumption

series I = 25

I.displayname Private Investment

series G = 100 – I – CP

G.displayname Government Spending

series BD = 45

BD.displayname Bank Deposits

series B = 0

B.displayname Bonds

series K = 400

K.displayname Capital Stock

series L = 100

L.displayname Lending

series re = 0.075758

re.displayname Financial Profitability

series pe = 35

pe.displayname Price of Equity

series E = 3

E.displayname Equities issued

series Ee = 2

Ee.displayname Equities held by Firms

series Debt = 0

Debt.displayname Government Debt (Vg)

series BT = 0

BT.displayname Treasury Bills

series CGe = 0

CGe.displayname Firms Capital Gains

series CGh = 0

CGh.displayname Households Capital Gains

series CG = 0 CG.displayname Capital Gains (Total)

‘ Identities’ Calibration

series W = r0*Y

W.displayname Wages

series Eh = E – Ee

Eh.displayname Equities held by Households

series Hh = lambda0*CP

Hh.displayname Money held by Households

series Hb = lambda*BD

Hb.displayname Money held by Banks

series H = Hh + Hb

H.displayname Money (Bills and Coins)

series RF = H

RF.displayname Banks Refinancing

series TCB = ib*RF

TCB.displayname Taxes paid by the Central Bank

series BP = (1-thetab)*(rl*L+r*BT-id*BD-ib*RF)

BP.displayname Banks Profits

series TB = thetab*(rl*L+r*BT-id*BD-ib*RF)

TB.displayname Taxes paid by Banks

series Vh = Hh+BD+pb*B+pe*Eh

Vh.displayname Households Wealth

series Ve = K-L+pe*Ee-pe*E

Ve.displayname Firms Wealth

series Vb = Hb-BD+L+BT-RF

Vb.displayname Banks Wealth

series DIV = (1-sf)*(Y-W-rl*L)

DIV.displayname Dividends (Total)

series DIVe = DIV*(Ee/E)

DIVe.displayname Firms Dividends

series DIVh = DIV-DIVe

DIVh.displayname Households Dividends

series T = theta*(W+id*BD+B+DIVh)

T.displayname Taxes paid by Households

series YDh = W+id*BD+B+DIVh-T

YDh.displayname Disposable Income

series YHSh = YDh+CGh

YHSh.displayname Haig-Simons definition of Disposable Income

series gg = I/K

gg.displayname Capital Accumulation Rate

series UP = Y-W-rl*L-DIVh

UP.displayname Undistributed Profits

‘ Behavioral Equations’ starting values

series delta = 0.0625

delta.displayname Depreciation Rate

series a0 = 0.5658628

a0.displayname Constant Term in Consumption Function (Autonomous Consumption)

series v0 = 0.22382378

v0.displayname Constant Term in Bonds Function (Share of Bonds out of Households Wealth)

series f0 = 0.09826265506

f0.displayname Constant Term in Financial Accumulation Function (Share of Equity in Firms Total Assets)

series k0 = 0.1086334242

k0.displayname Constant Term in Capital Accumulation Function (Steady-State Growth Rate of Physical Capital)

series g0 = 0.2352693030

g0.displayname Constant Term in Indebtedness Norm (Debt-Capital Ratio)

series z0 = 0.3

z0.displayname Constant Term in Own Funds Norm (Equity Issued as share of Total Assets)

if {!model} = 1 then

series w0 = 0.389734150

w0.displayname Constant Term in Households Equity Function (Share of Equity out of Households Wealth)

else

series w0 = 0.5

w0.displayname Constant Term in Households Equity Function (Share of Equity out of Households Wealth)

endif

‘ Make Matrix of Stocks and save in default directory as .html

MATRIX(9,5) Stocks

for %secteur HH F G B CB

vector(9) v_{%secteur}

next

‘ Fill in Matrix of Stocks’ Columns with initial values. A minus sign indicates it is a liability.

V_HH(2) = @mean(Hh) ‘ (Hh) Money held by households, asset side

V_HH(3) = @mean(BD) ‘ (BD) Bank Deposits, asset side

V_HH(5) = @mean(pb)*@mean(B) ‘ (pb*B) Bonds held by households, asset side

V_HH(6) = @mean(pe)*@mean(Eh) ‘ (pe*Eh) Stock of Assets

V_HH(9) = @sum(V_HH) ‘ (Vh) Total Households’ wealth

V_F(1) = @mean(K) ‘ (K) Capital Stock

V_F(4) = -@mean(L) ‘ (-L) Loans, liability side

V_F(6) = @mean(pe)*(@mean(Ee)-@mean(E)) ‘ (pe*Ee-pe*E) Net financial assets held by firms

V_F(9) = @sum(V_F) ‘ (Ve) Total wealth held by firms

V_G(5) = -@mean(pb)*@mean(B) ‘ (-pb*B) Bonds held by households, liability side

V_G(7) = @mean(BT) ‘ (-BT) Treasury Bills, liability side

V_G(9) = @sum(V_G) ‘ (Vg) Total wealth held by the Government

V_B(2) = @mean(Hb) ‘ (Hb) Bank Money

V_B(3) = -@mean(BD) ‘ (-BD) Bank Deposits, liability side

V_B(4) = @mean(L) ‘ (L) Loans, asset side

V_B(7) = @mean(BT) ‘ (BT) Treasury Bills, asset side

V_B(8) = -@mean(RF) ‘ (-RF) Refinancing, liability side

V_B(9) = @sum(V_B) ‘ (Vb) Total wealth held by private banks

V_CB(2) = -@mean(H) ‘ (-H) Money held by househlds and banks, liability side

V_CB(8) = @mean(RF) ‘ (RF) Refinancing, asset side

V_CB(9) = @sum(V_CB) ‘ = 0 by definition

!col = 1

for %secteur HH F G B CB

colplace(Stocks,v_{%secteur},!col)

delete v_{%secteur}

!col = !col+1 next

freeze(Matrix_of_Stocks) Stocks

setline(Matrix_of_Stocks,3)

setcolwidth(Matrix_of_Stocks,1,12)

!col = 2 for %label Households Firms Government Banks Central_Bank

setcell(Matrix_of_Stocks,1,!col,%label,”c”)

!col = !col+1

next

!row = 4

for %label Capital Money Bank_Deposits Loans Bonds Equity Treasury_Bills Refinancing Total_Wealth

setcell(Matrix_of_Stocks,!row,1,%label,”l”)

!row = !row+1

next

Matrix_of_stocks.save(t=html)

Matrix_of_Stocks

‘ Model Specification (See paper and corresponding labels for explanation)

model sfc{!model}

sfc{!model}.append Y = Cp+I+G

sfc{!model}.append YDh = W+id*BD(-1)+B(-1)+DIVh-T

sfc{!model}.append YHSh = YDh+CGh

sfc{!model}.append T = theta*(W+B(-1)+id*BD(-1)+DIVh)

sfc{!model}.append {%cons_fn}

sfc{!model}.append d(BD) = YDh-Cp-pb*d(B)-pe*d(Eh)-d(Hh)

sfc{!model}.append {%bonds_fn}

sfc{!model}.append CGh = d(pb)*B(-1)+d(pe)*Eh(-1)

sfc{!model}.append CGe = d(pe)*Ee(-1)

sfc{!model}.append CG = CGe+CGh

sfc{!model}.append {%cap_acc_fn}

sfc{!model}.append {%m{!model}_of_eq}

sfc{!model}.append {%fin_prof}

sfc{!model}.append UP = Y-W-rl*L(-1)-DIVh

sfc{!model}.append DIV = (1-sf)*(Y(-1)-W(-1)-rl(-1)*L(-2))

sfc{!model}.append DIVe = DIV*(Ee(-1)/E(-1))

sfc{!model}.append DIVh = DIV-DIVe

sfc{!model}.append {%fin_acc}

sfc{!model}.append Ve = K+pe*Ee-L-pe*E

sfc{!model}.append {%peEh_fn}

sfc{!model}.append Eh = E-Ee

sfc{!model}.append VH = BD+pb*B+pe*Eh+Hh

sfc{!model}.append I = gg*K(-1)

sfc{!model}.append d(K) = I-delta*K(-1)

sfc{!model}.append {%m{!model}_debt_eq}

sfc{!model}.append W = r0*Y

sfc{!model}.append d(BT) = G+r*BT(-1)+B(-1)-T-TB-TCB-pb*d(B)

sfc{!model}.append pb = 1/rb

sfc{!model}.append Debt = (BT+pb*B)

sfc{!model}.append BP = (1-thetab)*(rl*L(-1)+r*BT(-1)-id*BD(-1)-ib*RF(-1))

sfc{!model}.append TB = thetab*(rl*L(-1)+r*BT(-1)-id*BD(-1)-ib*RF(-1))

sfc{!model}.append d(RF) = d(Hb)+d(L)+d(BT)-BP-d(BD)

sfc{!model}.append d(VB) = BP

sfc{!model}.append TCB = ib*RF(-1)

sfc{!model}.append Hb = lambda*BD

sfc{!model}.append Hh = lambda0*Cp

sfc{!model}.append H = Hh+Hb

sfc{!model}.append rl = ib+m1b

sfc{!model}.append id = ib-m2b

sfc{!model}.append r = rl

sfc{!model}.append rb = r

sfc{!model}.append G = G(-1)*(1+gpch)

‘ Simulation

sfc{!model}.scenario “Baseline”

if {!model}=1 then

sfc{!model}.solve(o=b)

‘ System Solving Method for Model 1: Broyden

else sfc{!model}.solve(o=n)

‘ System Solving Method for Model 2: Newton

endif

‘ Graphs

if {!model}=1 then

smpl 50 80

else

smpl 40 @last

endif

series y_gr = @pch(y_0)

y_gr.displayname Output Growth Rate, Model {!model}

series acc_rate = gg_0

acc_rate.displayname Capital Accumulation Rate, Model {!model}

graph bsln_growth{!model}.line y_gr ‘ acc_rate

bsln_growth{!model}.save({%graph_size}) M{!model}_bsln_growth

series pe_gr = @pch(pe_0)

pe_gr.displayname Price of Equity Growth Rate, Model {!model}

graph bsln_asset_price{!model}.line pe_gr

bsln_asset_price{!model}.save({%graph_size}) M{!model}_bsln_asset_price

series own_funds = pe_0*E_0/(K_0+pe_0*Ee_0)

own_funds.displayname Own Funds as Share of total Capital, Model {!model}

series debt_ratio = L_0/K_0

debt_ratio.displayname Debt-Physical Capital Ratio, Model {!model}

graph bsln_debt_own_funds{!model}.line own_funds debt_ratio

bsln_debt_own_funds{!model}.save({%graph_size}) M{!model}_bsln_debt_own_funds

graph bsln_h_rf{!model}.line h_0/rf_0

bsln_h_rf{!model}.addtext(t) Money / Refinancing (H/RF), Model {!model}

bsln_h_rf{!model}.save({%graph_size}) M{!model}_bsln_h_rf

series profit_rate = up_0/K_0

profit_rate.displayname Profit Rate, Model {!model}

graph bsln_profit_rate{!model}.line profit_rate

bsln_profit_rate{!model}.save({%graph_size}) M{!model}_bsln_profit_rate

graph share_acc{!model}.line (k1*(UP_0(-1)/K_0(-2)))/gg_0 (k2*(D(Y_0)/Y_0(-1)))/gg_0 (k3*(L_0(-1)/K_0(-1)))/gg_0 (k4*rl_0)/gg_0 k5*re_0/gg_0

share_acc{!model}.addtext(t) Capital Accumulation Elements Shares, Model {!model}

share_acc{!model}.save({%graph_size}) M{!model}_share_acc

graph share_acc_fin{!model}.line f1*re_0/(Ee_0*pe_0/(K_0+pe_0*Ee_0)) f2*(UP_0/K_0(-1))/(Ee_0*pe_0/(K_0+pe_0*Ee_0)) ‘ f3*(L_0/K_0)/(Ee_0*pe_0/(K_0+pe_0*Ee_0)) f4*r_0/(Ee_0*pe_0/(K_0+pe_0*Ee_0)) as an alternative share_acc_fin{!model}.addtext(t) Financial Accumulation Elements Shares, Model {!model} share_acc_fin{!model}.save({%graph_size}) M{!model}_share_acc_fin graph share_cns_fn{!model}.line a1*YHSh_0/Cp_0 a2*VH_0(-1)/Cp_0 share_cns_fn{!model}.addtext(t) Consumption Function Elements Shares, Model {!model} share_cns_fn{!model}.save({%graph_size}) M{!model}_share_cns graph share_bond_fn{!model}.line v3*re_0/(pb_0*B_0/VH_0) ‘ v1*rb_0/(pb_0*B_0/VH_0) v2*id_0/(pb_0*B_0/VH_0) as an alternative share_bond_fn{!model}.addtext(t) Bond Function Elements Shares, Model {!model} share_bond_fn{!model}.save({%graph_size}) M{!model}_share_bond graph share_hfinacc_fn{!model}.line w3*re_0/(pe_0*Eh_0/Vh_0) ‘ w1*rb_0/(pe_0*Eh_0/Vh_0) w2*id_0/(pe_0*Eh_0/Vh_0) as an alternative

share_hfinacc_fn{!model}.addtext(t) Households Fin Acc Function Elements Shares, Model {!model}

share_hfinacc_fn{!model}.save({%graph_size}) M{!model}_share_hfinacc

if {!model} = 1 then

graph share_debt_fn{!model}.line g1*(UP_0(-1)/K_0(-1))/(L_0/K_0) g2*re_0(-1)/(L_0/K_0)

share_debt_fn{!model}.addtext(t) Indebtedness Norm Elements Shares, Model {!model}

share_debt_fn{!model}.save({%graph_size}) M{!model}_share_debt

else

graph share_of_fn{!model}.line z1*rl_0/(E_0*pe_0/(K_0+pe_0*Ee_0)) z2*(L_0(-1)/K_0(-1))/(E_0*pe_0/(K_0+pe_0*Ee_0)) z3*re_0/(E_0*pe_0/(K_0+pe_0*Ee_0))

share_of_fn{!model}.addtext(t) Own Funds Norm Elements Shares, Model {!model}

share_of_fn{!model}.save({%graph_size}) M{!model}_share_of

endif

‘ Generate Shocks

smpl @all

genr a0_1= a0

genr r0_2 = r0

genr k0_3 = k0

genr f0_4 = f0

genr w0_5 = w0

smpl 45 @last

genr a0_1 = a0+{!Shock1}*cp

genr r0_2 = r0*(1+{!Shock2})

genr k0_3 = k0+{!Shock3}

genr f0_4 = f0+{!Shock4}

genr w0_5 = w0+{!Shock5}

smpl @all

‘ Scenarios (Shocks on):

‘ Consumption

sfc{!model}.scenario(n,a=_1) “Scenario_1”

sfc{!model}.override a0

sfc{!model}.solve

‘ Wage Share

sfc{!model}.scenario(n,a=_2) “Scenario_2”

sfc{!model}.override r0

sfc{!model}.solve

‘ Investment

sfc{!model}.scenario(n,a=_3) “Scenario_3”

sfc{!model}.override k0

sfc{!model}.solve

‘ Firms’ Financial Accumulation

sfc{!model}.scenario(n,a=_4) “Scenario_4”

sfc{!model}.override f0

sfc{!model}.solve

‘ Household’s Financial Accumulation

sfc{!model}.scenario(n,a=_5) “Scenario_5”

sfc{!model}.override w0

sfc{!model}.solve

‘ Graphs Shocks

delete S1_* S2_* S3_* S4_* S5_*

!reps = 5

for !i=1 to !reps

‘ Sample Period for Shocks’ Graphs

smpl 40 70

graph S{!i}_y_c_pe_m{!model}.line y_{!i}/y_0 cp_{!i}/cp_0 pe_{!i}/pe_0

S{!i}_y_c_pe_m{!model}.addtext(t) Model {!model}, Scenario {!i}

S{!i}_y_c_pe_m{!model}.name(1) Income

S{!i}_y_c_pe_m{!model}.name(2) Consumption

S{!i}_y_c_pe_m{!model}.name(3) Equity Price

S{!i}_y_c_pe_m{!model}.save({%graph_size}) M{!model}_S{!i}_y_c_pe

graph S{!i}_acc_profit_m{!model}.line (I_{!i}/K_{!i})-(I_0/K_0) (UP_{!i}/K_{!i})-(UP_0/K_0) re_{!i}-re_0

S{!i}_acc_profit_m{!model}.addtext(t) Model {!model}, Scenario {!i}

S{!i}_acc_profit_m{!model}.name(1) Capital Accumulation

S{!i}_acc_profit_m{!model}.name(2) Profit Rate

S{!i}_acc_profit_m{!model}.name(3) Financial Profitability

S{!i}_acc_profit_m{!model}.save({%graph_size}) M{!model}_S{!i}_acc_profit

‘ Wealth Effect not studied in this paper

‘ graph S{!i}_wealteff_m{!model}.line (Vh_{!i}/YDh_{!i})-(Vh_0/YDh_0)

‘ S{!i}_wealteff_m{!model}.addtext(t) Scenario {!i}

‘ S{!i}_wealteff_m{!model}.name(2) Wealth Effect, Model {!model}

‘ S{!i}_wealteff_m{!model}.save({%graph_size}) M{!model}_S{!i}_wealteff

graph S{!i}_debt_own_funds_m{!model}.line ((pe_{!i}*e_{!i})/(K_{!i}+pe_{!i}*ee_{!i}))-((pe_0*e_0)/(K_0+pe_0*ee_0)) (L_{!i}/K_{!i})-(L_0/K_0) S{!i}_debt_own_funds_m{!model}.addtext(t) Model {!model}, Scenario {!i} S{!i}_debt_own_funds_m{!model}.name(1) Own Funds peE/(K+peEe) S{!i}_debt_own_funds_m{!model}.name(2) Debt Ratio L/K

S{!i}_debt_own_funds_m{!model}.save({%graph_size}) M{!model}_S{!i}_debt_own_funds

smpl @all

next

### Others

##### This section contains some Prezi links used for teaching purposes. These correspond to an undergraduate course in macroeconomics taught in French.

Indicateurs macroéconomiques, Le circuit économique, Analyse de la conjoncture, Politique budgétaire, Politique monétaire