Skip to content

Allows government consumption and investment to come from multiple sectors - #1192

Draft
jdebacker wants to merge 15 commits into
PSLmodels:masterfrom
jdebacker:gov_spend
Draft

Allows government consumption and investment to come from multiple sectors#1192
jdebacker wants to merge 15 commits into
PSLmodels:masterfrom
jdebacker:gov_spend

Conversation

@jdebacker

Copy link
Copy Markdown
Member

In the current OG-Core, the M-th industry produces all of the non-consumption goods: capital, government consumption, and infrastructure. This PR relaxes the assumption somewhat, allowing all industries' output to combine in producing government consumption expenditures and infrastructure goods.

Addresses Issue #985

@jdebacker

Copy link
Copy Markdown
Member Author

One important note on the changes in this PR: because each industry contributes to the production of G and I_g we need to know these quantities when solving the firm's problem. But G (under the unbalanced budget parameterization and once the closure rule kicks in) can't be determined without total_tax_revenue, which itself depends on the solution to the firm's problem. Therefore, the changes here modify the solution algorithm by adding G to the "outer loop" variables to be solved for in the GE fixed point algorithm.

This also means that G is now passed to some functions where it wasn't previously (such as SS.inner_loop).

When running local tests, I'm finding that all the tests that run fully through the SS solution (except for one case) pass:

====================================== short test summary info ======================================
FAILED tests/test_SS.py::test_run_SS[Reform, small open use zeta] - RuntimeError: Steady state equilibrium not found
====================== 1 failed, 14 passed, 24 warnings in 16377.51s (4:32:57) ======================

and that all the tests that run fully through the TPI solution (except for the new test added where the IO matrix represents multiple industries contributing to G and I_g) pass:

=========================== short test summary info ============================
FAILED tests/test_TPI.py::test_run_TPI_full_run[Baseline, mixed government IO] - RuntimeError: Steady state aggregate resource constraint not satisfied
============ 1 failed, 12 passed, 11 warnings in 7226.51s (2:00:26) ===========

I'm going to ensure these tests pass. But then for other tests that add a new in put (usually G, such as in SS.inner_loop) I will feel confident changing the expected output to match the new output since we have run the changes through the full SS and transition path solutions and found that they do not affect the results. I will document the cases/tests where expected output changed in this thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant