Politics and Efficiency of Separating Capital and Ordinary Government Budgets (with Thomas J. Sargent)
Quarterly Journal of Economics, 2006, vol. 121 n. 4, pp. 1167-1210.
Code for the calibration of section 4
This code is written for Matlab 6.
Main file that loads demographics and depreciation for all the different cases: multi.m
Script file that uses the parameter values from multi.m to generate all the results: hetprob.m
Files that contain demographic data needed as input:
Mortality by age in the U.S. 2000: usdeathsnow.txt
Age structure of the U.S. population in 2000: usagenow.txt
Mortality by age in the U.S. 1880: usdeaths1880.txt
Age structure of the U.S. population in 1880: usage1880.txt
Mortality by age in the U.S. 1880 (males only): usdm1880.txt
Age structure of the U.S. male population in 1880: usam1880.txt
Population growth by state between 1990 and 2000: popgrowthallstates.txt
Table with migration data by state and age in 2000 (after an appropriate reshaping, described in multi.m, the 6th column contains emigration between 1995 and 2000, the 1st column contains the number of people present in 2000, the 7th column contains net migration between 1995 and 2000, and the 8th column contains immigration from abroad between 1995 and 2000): migrationallstates.txt
Age structure of the population by state in 1990: pop1990allstates.txt
Age structure of the population by state in 2000: pop2000allstates.txt
Code for appendix 3
The code for the log case is in Fortran. The Fortran code comprises 2 files that vary by experiment, and 5 that are common to all experiments.
Experiment 1: modelsetup.f90, br18bclsj.f90. The first file provides parameter values, the second file is the main file that calls all other subroutines.
Experiment 2: modelsetup.f90, br18bclsj.f90
Experiment 2 with theta_0=0.4: modelsetup.f90, br18bclsj.f90
Experiment 2 with theta_0=0.4 and an increasing consumption profile: modelsetup.f90, br18bclsj.f90
Common files:
mainloop.f90 contains the main subroutines that iterate to convergence of the political-economic equilibrium and compute the steady state
chebyshev.f90 contains many subroutines used for Chebyshev interpolation
fcn.f90 function providing the residual from the first-order conditions that must hold in a (differentiable, Markov) political-economic equilibrium
lsjac.f90 contains the Jakobian of the function fcn
writelog.f90 subroutines to print and visualize the output
The code for the linear case is in Matlab. It is composed of a singlle file for each of the experiments; the only difference across experiments are the parameter values.
Experiment 1: hetprob.m
Experiment 2: hetprob.m
Experiment 2 with theta_0=0.4 (it applies to both constant and increasing consumption profile, see paper): hetprob.m