Replication Package for "Public Financing Under Balanced Budget Rules" Authors: Minjie Deng, Chang Liu 1. Empirical Part 1.0 Software, operating system, running time * Software: Stata/MP 17.0 * OS: Windows Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz 3.60 GHz * Running time: - code_main.do: 23.23s; 67.94s if also install Stata packages. - code_prepare.do: 0.58s 1.1 Data The replication package provides publicly available data and the processed data (for proprietary data) in the folder. * SDC_cleaned.dta: state government bond data derived from proprietary data on municipal bonds from Securities Data Company (SDC) Platinum. For the introduction of this data source, please see SDC Platinum Overview: https://www.lseg.com/en/data-analytics/products/sdc-platinum-financial-securities. * CDS.dta: state government credit default swaps spread data derived from proprietary data from Bloomberg. For the introduction of this data source, please see Bloomberg Terminal: https://www.bloomberg.com/professional/solution/bloomberg-terminal/. * gov_merge.dta: dataset combined of state government balanced budget rules, government finance statistics, demographics, rainy day funds etc. Data sources of the underlying raw data are as follows. Balanced budget rules: constructed from NASBO’s Budget Processes in the States report. Government finance statistics: Annual Survey of State Government Finances. State demographics data: Census. Rainy day funds: NASBO, Fiscal Survey of the States, https://www.nasbo.org/mainsite/reports-data/fiscal-survey-of-states/fiscal-survey-archives. GDP and personal income: BEA. * political.dta: state-level political party tendency. State party control information is public and freely available at National Conference of State Legislatures (https://www.ncsl.org/about-state-legislatures/state-partisan-composition). Political party control is a set of indicator variables {Democratic, Split, Republican} and refers to which political party holds the majority of seats in the state Senate and the state House. In the above-mentioned webpage, this information is provided in PDF format and organized by year. * transfers.xlsx: intergovernmental transfers data at the state level. Data source: Urban Institute, State and Local Finance Data, https://state-local-finance-data.taxpolicycenter.org/pages.cfm. GDP and personal income data are from BEA. 1.2 Programs for the Empirical Results * code_prepare.do: uses the raw data within folder "Replication_Package/empirical/data/raw" and generates CDS.dta and gov_merge.dta. This do file is not required to generate the empirical results but provided as a reference for the definitions of some key variables. * code_main.do: produces Figure 1, Table 2-6 in the main text and Table B.1-B.7 in the online appendix. The results are stored in "Replication_Package/empirical/result". * Figure 2 and Table 1.xlsx: Excel file that generates Figure 2 and numbers in Table 1. 2. Quantitative Part The exact results presented in the paper are obtained with the following software and specifications: PyCharm with interpreter Python 3.7 on MacBook Pro with Apple M1 Pro Chip 8 cores 16GB memory. The codes were also tested on a Windows PC with AMD Ryzen 9 3900X 12-Core Processor 3.80 GHz. For each step below, the running time is within 10 mins. The seed has been specified for the random numbers. Replication steps are detailed below: * In the folder "Replication_Package/model/benchmark": - Run bench/BBR_main.py, it solves the model without BBR and saves the decision rules. - Run bench+BBR/BBR_main.py, it solves the model with BBR and saves the decision rules. - Run plot_decision_rules.ipynb, it generates figures in Figure 4 and 5. * In the folder "Replication_Package/model/model_reg": - Run Simulation.py, it generates model-simulated data in the "RegData" folder. - Run Do-file.do, it generates Table 8. * In the folder "Replication_Package/model/event": - Run IRF.py, it prints out results in Table 9. See also Results.xlsx. The following steps are for the quantitative results in the Online Appendix. * In the folder "Replication_Package/model/appendix/nodefault": - Run bench/BBR_main.py. - Run bench+BBR/BBR_main.py. - Then run plot_decision_rules.ipynb, which gives Figure C.1. * In the folder "Replication_Package/model/appendix/federal": - Run bench/BBR_main.py. - Run bench+BBR/BBR_main.py. - Then run plot_decision_rules.ipynb, which gives Figure C.2. - Run model_reg/Simulation.py, it generates model-simulated data in the "RegData" folder. Then run Do-file.do which produces Table C.8. * In the folder "Replication_Package/model/appendix/alternative_fiscal": - For debt rules (within the folder Debt_rule): 1) Change the threshold \bar{x}_1 in function innerloop_vc in BBR_decision.py (line 201); 2) Run BBR_main.py, which solves the model, generates model simulated moments and predicted dynamics sequentially. Store results of model simulated moments in Moments.xlsx and results of dynamics in Dynamics.xlsx. - For deficit rules (within the folder Deficit_rule): 1) Change the threshold \bar{x}_2 in function innerloop_vc of BBR_decision.py (line 202); 2) Run BBR_main.py. Store results of model simulated moments in Moments.xlsx and results of dynamics in Dynamics.xlsx. - Moments.xlsx gives Table C.9 and Dynamics.xlsx gives Table C.10 and Table C.11.