Tax Cut Design versus Deficit Spending
The following is a small model designed to simulate the effect of a tax cut targeted on middle classes. The idea is to review the respective effects of each tax cut category (on VAT, Income, etc…) and weigh it on versus an increase in government expenditure. Over the (very) long run, both policies are fundamentally the same, but one needs to keep in mind government expenditure is potentially infinite, while taxes are constrained by the existing resources.
The idea is to compare the effect of a government expenditure increase versus tax cuts on growth and the subsequent created welfare. And the results are clear-cut: tax cuts stimulate GDP a lot more than increased expenditure. On average, a 1% tax cut would deliver on average of .85% in additional growth, while a 1% deficit would contribute only .06% to growth. Investment tax credit (fiscal incentives to investment) contribute a lot more to growth – a 2.16% additional growth for a 1% increase in investment tax credit. These results are compared for a 1% change in government budgetary policy, and then extended over a couple of quarters.
The argument behind this can be summed up in the following ‘policy transition functions’:
It is worth pointing out these policy transition functions are not the product of usual computations, i.e. these are not structural models estimated afterwards, but they are rather the end result of a more complex set of equations and assumptions. They (among other policy functions) provide policy recommendations that can be further expanded to account for specific fiscal policies, my particular insterest for instance, tax breaks and cuts for the middle class, has some useful applications.
It shows for instance that unfunded government expenditure (deficit-spending) contributes weakly to GDP growth, not as much as a single or aggregate tax cut, or indeed one tax credit scheme. This is not to say any spending-based stimulus is useless: there is evidence of counter-cyclical budgetary policy -detrended budget and output are negatively correlated- but it is not as persistent as output, and cannot provide optimal cycle smoothing: ‘unpredictable elements’, the technological shocks captured by and exhibits excessive diturbances deficit spending cannot bridge when these are negative exogenous shocks (a factor of 22:1 against deficit spending). On the other hand, a relatively modest increase in investment tax credit (which acts as a tax cut) can immediately make up for a negative shock and deliver a .19% boost to GDP growth, ceteris paribus. Obviously, there are some repercussions as to a fiscal policy geared toward investment tax credit, as it results in lower domestic consumption, regardless of any accrued consumption tax cut.
I am posting the code I have used to generate those results (applicable via the Dynare Matlab/Add-in) and will elaborate on this in the next couple of posts. I am very excited about these results because they have confirmed some of the policy recommendations conveyed in the Capdéma Budget Draft, with quantitative interpretations to specific policies. It also confirms some measure of fiscal consolidation and debt-deflation are needed not only to maintain the 2016 3% deficit ceiling, but also put growth back on track.
(For detailed description of the proposed model, have a look at Ljungqvist & Sargent’s “Recursive Macroeconomic Theory”)
</pre> // endogeneous variables: debt, government budget, // consumption capital, output, labour, investment, wages, interest rates and technological change var b g c k y h x w r z; // taxes and deficit are considered to be exogenous varexo def tauw tauc tauk taui e; parameters zig, alpha,delta,beta,theta,rho,sigmaw,sigmac,sigmak,sigmai,sigmad; alpha = .335966; theta = 1/3; delta = .02909; beta = .9895569177; rho = .2742; zig = .0037; sigmaw =.007; sigmac =.0671; sigmak =.219; sigmai =.209; sigmad =.005671; // The model depicts optimality conditions for all agents // Simple FOC model; z = rho*z(-1)+e; y = c+g+x; y = exp(z)*k^alpha*h^(1-alpha); k = (1-delta)*k(-1)+(1+taui)*x; w =(1-tauw)*(1-alpha)*y/k(-1); w=b+c; r =(1-tauk(-1)+delta)*alpha*y/k(-1); (1-alpha)*y/c = theta*h/((1-theta)*(1-h)); g+def+(1+r(-1))*b=b(+1)+tauk(-1)*(r-delta)*k(-1)+tauw*w+tauc*c-taui*x; c(+1)=c*beta*(alpha*y(+1)/k+1-delta); end; endval; y = 0.7976304742; k = 9.7353698337; c = 0.5367196072; h = 0.3079168146; x = 0.2832019085; b = .51; z = 0; e = 0; g = .192; def = .03; tauk =0; tauc =0; tauw =0; taui =0; end; steady; shocks; var e; stderr zig; var tauw; stderr sigmaw; var tauc; stderr sigmac; var tauk; stderr sigmak; var taui; stderr sigmai; var def; stderr sigmad; var tauw, tauc = 0; var tauw, taui = 0; var tauw, tauk = 0; var tauw, def = 0; var tauk, def = 0; var tauc, def = 0; var taui, def = 0; end; stoch_simul(order=1, periods=224, hp_filter=1600,nograph);