# Model parameters#

This section contains documentation of the models parameters in a format
that is easy to search and print.
The model parameters are grouped here roughly in line with the
organization of the theory in the `OG-Core`

documentation.

## Household Parameters#

### Behavioral Assumptions#

`frisch`

#

*Description:* Frisch elasticity of labor supply.

*Notes:* See Altonji (JPE, 1986) and Peterman (Econ Inquiry, 2016) for estimates of the Frisch elasticity.

*Value Type:* float

*Valid Range:* min = 0.2 and max = 0.62

*Out-of-Range Action:* error

`beta_annual`

#

*Description:* Annual rate of time preference for households.

*Notes:* Default value from Carroll (JME, 2009). Allows for each type to have a different value.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.9999

*Out-of-Range Action:* error

`sigma`

#

*Description:* Coefficient of relative risk aversion in household utility function.

*Notes:* Default value from Attanasio, Banks, Meghir and Weber (JEBS, 1999).

*Value Type:* float

*Valid Range:* min = 1.0 and max = 2.0

*Out-of-Range Action:* error

`alpha_c`

#

*Description:* Share parameters for each good in the composite consumption good.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`chi_b`

#

*Description:* Household utility weight on bequests.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 10000.0

*Out-of-Range Action:* error

`chi_n`

#

*Description:* Household utility weight on on disutility of labor supply.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 10000.0

*Out-of-Range Action:* error

### Endowments#

`e`

#

*Description:* Effective labor hours matrix.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 9e+99

*Out-of-Range Action:* error

`ltilde`

#

*Description:* Total time endowment of household.

*Notes:* Can be normalized to 1.0 without loss of generality.

*Value Type:* float

*Valid Range:* min = 0.01 and max = 5.0

*Out-of-Range Action:* error

`alpha_RM_1`

#

*Description:* Exogenous ratio of aggregate remittances to GDP in current period (t=1).

*Value Type:* float

*Valid Range:* min = -0.05 and max = 0.4

*Out-of-Range Action:* error

`alpha_RM_T`

#

*Description:* Exogenous ratio of aggregate remittances to GDP in the long run/steady state (t>T).

*Value Type:* float

*Valid Range:* min = -0.05 and max = 0.4

*Out-of-Range Action:* error

`g_RM`

#

*Description:* Growth rate of aggregate remittances between periods tG1 and tG2

*Value Type:* float

*Valid Range:* min = -0.02 and max = 0.15

*Out-of-Range Action:* error

`eta_RM`

#

*Description:* Matrix that allocates aggregate remittances across households.

*Notes:* This SxJ matrix gives the fraction of total aggregate remittances going to each age s and ability type j.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`zeta`

#

*Description:* Matrix that describes the bequest distribution process.

*Notes:* This SxJ matrix gives the fraction of total aggregate bequests going to each age s and ability type j.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`use_zeta`

#

*Description:* Indicator variable for whether or not to use the zeta matrix to distribute bequests.

*Value Type:* bool

### Model Dimensions#

`S`

#

*Description:* Maximum number of periods of economic life of model agent.

*Value Type:* int

*Valid Range:* min = 3 and max = 80

*Out-of-Range Action:* error

`J`

#

*Description:* Number of different labor productivity types of agents.

*Value Type:* int

*Valid Range:* min = 1 and max = 100

*Out-of-Range Action:* error

`T`

#

*Description:* Number of periods until it is assumed that the model reaches its steady state.

*Value Type:* int

*Valid Range:* min = 3 and max = 1000

*Out-of-Range Action:* error

`I`

#

*Description:* Number of different consumption goods.

*Value Type:* int

*Valid Range:* min = 1 and max = 50

*Out-of-Range Action:* error

`lambdas`

#

*Description:* Fraction of population of each labor productivity type.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`starting_age`

#

*Description:* Age at which households become economically active.

*Value Type:* int

*Valid Range:* min = 0 and max = ending_age

*Out-of-Range Action:* error

`ending_age`

#

*Description:* Maximum age a household can live until.

*Value Type:* int

*Valid Range:* min = starting_age and max = 120

*Out-of-Range Action:* error

## Firm Parameters#

### Capital Accumulation#

`delta_annual`

#

*Description:* Annual rate of economic depreciation of capital.

*Notes:* Approximately the value from Kehoe calibration exercise: http://www.econ.umn.edu/~tkehoe/classes/calibration-04.pdf.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

### Model Dimensions#

`M`

#

*Description:* Number of different production industries.

*Value Type:* int

*Valid Range:* min = 1 and max = 50

*Out-of-Range Action:* error

### Production Function#

`gamma`

#

*Description:* Capital’s share of output in firm production function.

*Notes:* Historical value in U.S. is about 0.33, but Elsby, Hobijn, and Sahin (BPEA, 2013) find capital’s share is increasing, so default value is above this.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`gamma_g`

#

*Description:* Public capital’s share of output in firm production function.

*Value Type:* float

`epsilon`

#

*Description:* Elasticity of substitution among private capital, public capital, and labor in firm production function.

*Notes:* If epsilon=1, then production function is Cobb-Douglas. If epsilon=0, then production function is perfect substitutes.

*Value Type:* float

*Valid Range:* min = 0.2 and max = 10.0

*Out-of-Range Action:* error

`io_matrix`

#

*Description:* Input-output matrix used to map production outputs into consumption goods using a fixed coefficient model. This matrix has dimensions I x M, where I is the number of distinct consumption goods and M is the number of distinct production goods. The sum each row of this matrix must be 1.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`Z`

#

*Description:* Total factor productivity in firm production function. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 5.0

*Out-of-Range Action:* error

## Government Parameters#

`delta_g_annual`

#

*Description:* Annual rate of economic depreciation of public capital.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

## Fiscal Policy Parameters#

### Fiscal Closure Rules#

`tG1`

#

*Description:* Number of model periods until budget closure rule kicks in.

*Notes:* It may make sense for this tG1 to exceed the length of the budget window one is looking at. But it must also not be too late into the time path that a steady-state won’t be reached by time T.

*Value Type:* int

*Valid Range:* min = 0 and max = tG2

*Out-of-Range Action:* error

`tG2`

#

*Description:* Number of model periods until budget closure ends and budgetary variables jump to steady-state values.

*Notes:* The number of periods until the closure rule ends must not exceed T, the time at which the model is assumed to reach the steady-state.

*Value Type:* int

*Valid Range:* min = tG1 and max = T

*Out-of-Range Action:* error

`rho_G`

#

*Description:* Speed of convergence to a stable government budget deficit for periods [tG1, tG2-1].

*Notes:* Lower rho_G => slower convergence.

*Value Type:* float

*Valid Range:* min = 0.01 and max = 0.9

*Out-of-Range Action:* error

`debt_ratio_ss`

#

*Description:* Debt to GDP ratio to be achieved in the steady state.

*Notes:* Note that depending upon the tax policy parameters, some debt to GDP ratios may not be achievable with positive government spending.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 5.0

*Out-of-Range Action:* error

### Government Pension Parameters#

`retirement_age`

#

*Description:* Age at which agents can collect Social Security benefits. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* int

*Valid Range:* min = 0 and max = 100

*Out-of-Range Action:* error

`pension_system`

#

*Description:* Pension system.

*Value Type:* str

*Valid Choices:*[‘US-Style Social Security’, ‘Defined Benefits’, ‘Notional Defined Contribution’, ‘Points System’]

`tau_p`

#

*Description:* Pension system contribution tax rate under a notional defined contribution system.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`indR`

#

*Description:* Adjustment for survivor benefits under a notional defined contribution system.

*Notes:* indR = 0.0 for no survivor benefits, indR = 0.5 for survivor benefits

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`k_ret`

#

*Description:* Adjustment for frequency of pension payments under a notional defined contribution system.

*Notes:* k = 0.5 - (6/13n), where n is the number of payments per year

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`alpha_db`

#

*Description:* Replacement rate under a defined contribution system.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`vpoint`

#

*Description:* The value of a point under a points system pension.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`yr_contrib`

#

*Description:* Number of years of contributions made to defined benefits pension system.

*Notes:* Since there is not exit from the labor force in the model, the number of years of contributions is set exogenously.

*Value Type:* int

*Valid Range:* min = 0 and max = retirement_age

*Out-of-Range Action:* error

`avg_earn_num_years`

#

*Description:* Number of years used to compute average earnings for pension benefits.

*Notes:* US-styel Social Security AIME is computed using average earnings from the highest earnings years for the number of years specified here.

*Value Type:* int

*Valid Range:* min = 1 and max = retirement_age

*Out-of-Range Action:* error

`AIME_bkt_1`

#

*Description:* Upper bound to the first average index monthly earnings (AIME) bracket.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 9999999999.0

*Out-of-Range Action:* error

`AIME_bkt_2`

#

*Description:* Upper bound to the second average index monthly earnings (AIME) bracket.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 9999999999999.9

*Out-of-Range Action:* error

`PIA_rate_bkt_1`

#

*Description:* The rate used to determine the primary insurance amount (PIA) in the first bracket for average index monthly earnings (AIME).

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`PIA_rate_bkt_2`

#

*Description:* The rate used to determine the primary insurance amount (PIA) in the second bracket for average index monthly earnings (AIME).

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`PIA_rate_bkt_3`

#

*Description:* The rate used to determine the primary insurance amount (PIA) in the third bracket for average index monthly earnings (AIME).

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`PIA_maxpayment`

#

*Description:* The maximum primary insurance amount (PIA) payment.

*Value Type:* float

*Valid Range:* min = PIA_minpayment and max = 9999999999999.9

*Out-of-Range Action:* error

`PIA_minpayment`

#

*Description:* The minimum primary insurance amount (PIA) payment.

*Value Type:* float

*Valid Range:* min = 0.0 and max = PIA_maxpayment

*Out-of-Range Action:* error

`replacement_rate_adjust`

#

*Description:* Adjustment to the Social Security retirement benefits replacement rate. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* This parameter willy only vary along the time path. It is assumed to be one in the steady state. The steady state retirement rate can be adjusted by changing the parameters of the retirement benefits function.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 10.0

*Out-of-Range Action:* error

### Spending#

`alpha_T`

#

*Description:* Exogenous ratio of government transfers to GDP when budget balance is false. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.3

*Out-of-Range Action:* error

`alpha_G`

#

*Description:* Exogenous ratio of government spending to GDP when budget balance is false. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.3

*Out-of-Range Action:* error

`alpha_I`

#

*Description:* Exogenous fraction of GDP that goes towards government investment in infrastructure (public capital) when balanced budget is false.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.3

*Out-of-Range Action:* error

`alpha_bs_T`

#

*Description:* Proportional adjustment to government transfers relative to baseline amount when budget balance is true. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 9.9999e+103

*Out-of-Range Action:* error

`alpha_bs_G`

#

*Description:* Proportional adjustment to government consumption expenditures relative to baseline amount when budget balance is true. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 9.9999e+103

*Out-of-Range Action:* error

`alpha_bs_I`

#

*Description:* Proportional adjustment to infrastructure (public capital) spending relative to baseline amount when balanced budget is true.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 9.9999e+103

*Out-of-Range Action:* error

`ubi_growthadj`

#

*Description:* Boolean indicator variable for whether or not to growth adjust universal basic income transfer.

*Notes:* When this Boolean = True, the ubi_{j,s,t} matrix is stationary because it is multiplied by e^{g_y t} in the nonstationary household budget constraint. When this Boolean = False, the ubi_{j,s,t} is not multiplied by e^{g_y t} and the steady-state value is a matrix of zeros.

*Value Type:* bool

`ubi_nom_017`

#

*Description:* Dollar (nominal) amount of universal basic income (UBI) per child age 0 through 17.

*Notes:* The universal basic income (UBI) per child ages 0 through 17 can take positive or negative values (e.g., a negative value may be used to implement a head tax).

*Value Type:* float

*Valid Range:* min = -99000000000.0 and max = 99000000000.0

*Out-of-Range Action:* error

`ubi_nom_1864`

#

*Description:* Dollar (nominal) amount of universal basic income (UBI) per adult age 18 to 64.

*Notes:* The universal basic income (UBI) per adult age 18 through 64 can take positive or negative values (e.g., a negative value may be used to implement a head tax).

*Value Type:* float

*Valid Range:* min = -99000000000.0 and max = 99000000000.0

*Out-of-Range Action:* error

`ubi_nom_65p`

#

*Description:* Dollar (nominal) amount of universal basic income (UBI) per adult age 65 and over.

*Notes:* The universal basic income (UBI) per adult age 65 can take positive or negative values (e.g., a negative value may be used to implement a head tax).

*Value Type:* float

*Valid Range:* min = -99000000000.0 and max = 99000000000.0

*Out-of-Range Action:* error

`ubi_nom_max`

#

*Description:* Maximum dollar (nominal) amount of universal basic income (UBI) per household when all UBI allowances are added up.

*Notes:* The maximum dollar (nominal) amount of universal basic income (UBI) per household can range from \(0 per year to \)40,000 per year ($3,333 per month).

*Value Type:* float

*Valid Range:* min = 0.0 and max = 40000.0

*Out-of-Range Action:* error

`eta`

#

*Description:* Matrix that allocated government transfers across households.

*Notes:* This SxJ matrix gives the fraction of total aggregate transfers going to each age s and ability type j.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`budget_balance`

#

*Description:* Flag to balance government budget in each period.

*Value Type:* bool

`baseline_spending`

#

*Description:* Flag for use in reform simulations to keep level of government spending and transfers constant between baseline and reform runs.

*Value Type:* bool

### Taxes#

`cit_rate`

#

*Description:* Corporate income tax rate. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* This is the top marginal corporate income tax rate.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.99

*Out-of-Range Action:* error

`adjustment_factor_for_cit_receipts`

#

*Description:* Adjustment to the statutory CIT rate to match effective rate on corporations

*Notes:* This adjustment is necessary to match corporate income tax receipts found in the data. It is computed as the ratio of the CIT/GDP from US data to CIT/GDP in the model (with this parameter =1)

*Value Type:* float

*Valid Range:* min = 0.0 and max = 2.0

*Out-of-Range Action:* error

`inv_tax_credit`

#

*Description:* Investment tax credit rate. This credit reduced the cost of new investment by the specified rate.

*Notes:* This credit reduced the cost of new investment by the specified rate

*Value Type:* float

*Valid Range:* min = -1.0 and max = 1.0

*Out-of-Range Action:* error

`tau_c`

#

*Description:* Consumption tax rate. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* This policy parameter represents the effective consumption tax rate from sales taxes, VATs, and excise taxes by consumption good. Tax rates cab vary over time. It is thus a TxI array.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 5.0

*Out-of-Range Action:* error

`delta_tau_annual`

#

*Description:* Annual rate of depreciation of capital for tax purposes. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* Cost-of-Capital-Calculator can help to calibrate this parameter.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`h_wealth`

#

*Description:* Numerator in wealth tax function. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 10.0

*Out-of-Range Action:* error

`m_wealth`

#

*Description:* Term in denominator in wealth tax function. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* Must be positive to avoid division by zero when computing ETR and MTR for wealth tax

*Value Type:* float

*Valid Range:* min = 1e-08 and max = 10.0

*Out-of-Range Action:* error

`p_wealth`

#

*Description:* Scale parameter in wealth tax function. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* Set to 0 to have no wealth tax.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 10.0

*Out-of-Range Action:* error

`tau_bq`

#

*Description:* Linear tax rate on bequests. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.99

*Out-of-Range Action:* error

`tau_payroll`

#

*Description:* Linear payroll tax rate. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* Set to zero as default since tax functions include income and payroll taxes.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.99

*Out-of-Range Action:* error

`constant_rates`

#

*Description:* Flag to use linear tax functions.

*Value Type:* bool

`zero_taxes`

#

*Description:* Flag to run model without any individual income taxes.

*Value Type:* bool

`analytical_mtrs`

#

*Description:* Flag to use analytically derived marginal tax rates in tax functions.

*Value Type:* bool

`age_specific`

#

*Description:* Flag to use analytically derived marginal tax rates in tax functions.

*Value Type:* bool

`tax_func_type`

#

*Description:* Functional form for individual income tax functions.

*Value Type:* str

*Valid Choices:*[‘DEP’, ‘DEP_totalinc’, ‘GS’, ‘HSV’, ‘linear’, ‘mono’, ‘mono2D’]

`labor_income_tax_noncompliance_rate`

#

*Description:* Labor income tax noncompliance rate, the ratio of taxes paid to taxes owed.

*Notes:* Can be specified to vary by type J and over year T

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`capital_income_tax_noncompliance_rate`

#

*Description:* Capital income tax noncompliance rate, the ratio of taxes paid to taxes owed.

*Notes:* Can be specified to vary by type J and over year T

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`etr_params`

#

*Description:* Effective tax rate function parameters.

*Value Type:* float

*Valid Range:* min = -100.0 and max = 10000.0

*Out-of-Range Action:* error

`mtrx_params`

#

*Description:* Marginal tax rate on labor income function parameters.

*Value Type:* float

*Valid Range:* min = -100.0 and max = 10000.0

*Out-of-Range Action:* error

`mtry_params`

#

*Description:* Marginal tax rate on capital income function parameters.

*Value Type:* float

*Valid Range:* min = -100.0 and max = 20000.0

*Out-of-Range Action:* error

`frac_tax_payroll`

#

*Description:* Fraction of IIT+Payroll tax revenue that is attributable to payroll taxes.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`initial_debt_ratio`

#

*Description:* Debt to GDP ratio in the initial period.

*Notes:* Should be calibrated based on government debt held by the public to GDP in the model start year.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 2.0

*Out-of-Range Action:* error

`initial_Kg_ratio`

#

*Description:* Government capital (aka infrastructure) to GDP ratio in the initial period.

*Notes:* Should be calibrated based on the value of public infrastructure to GDP in the model start year.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 50.0

*Out-of-Range Action:* error

`r_gov_scale`

#

*Description:* Parameter to scale the market interest rate to find interest rate on government debt.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 4.0

*Out-of-Range Action:* error

`r_gov_shift`

#

*Description:* Parameter to shift the market interest rate to find interest rate on government debt.

*Value Type:* float

*Valid Range:* min = -0.3 and max = 0.3

*Out-of-Range Action:* error

## Open Economy Parameters#

`world_int_rate_annual`

#

*Description:* Exogenous annual world interest rate to be used when modeling a small open economy. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Value Type:* float

*Valid Range:* min = 0.01 and max = 0.08

*Out-of-Range Action:* error

`initial_foreign_debt_ratio`

#

*Description:* Share of government debt held by foreigners in model start year.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`zeta_D`

#

*Description:* Share of new debt issues from government that are purchased by foreigners. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* This value is about 0.4 historically for the U.S., set to zero to have closed econ as default.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`zeta_K`

#

*Description:* Share of excess demand for capital that is supplied by foreigners. Set value for base year, click ‘+’ to add value for next year. All future years not specified are set to last value entered.

*Notes:* Set to 0.1 when running large-open verion of US economy, but hard to find data to pin this down.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

## Economic Assumptions#

`g_y_annual`

#

*Description:* Growth rate of labor augmenting technological change.

*Value Type:* float

*Valid Range:* min = -0.01 and max = 0.08

*Out-of-Range Action:* error

## Demographic Parameters#

`constant_demographics`

#

*Description:* Use constant demographics.

*Notes:* This boolean allows one to use empirical mortality rates, but keep the population distribution constant across periods. Note that immigration is shut off when this is true.

*Value Type:* bool

`omega`

#

*Description:* Population distribution (fraction at each age) over the time path.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`omega_SS`

#

*Description:* Population distribution (fraction at each age) in the steady-state.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`omega_S_preTP`

#

*Description:* Population distribution (fraction at each age) in the period before the transition path begins.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

`g_n`

#

*Description:* Population growth rate over the time path.

*Value Type:* float

*Valid Range:* min = -1.0 and max = 1.0

*Out-of-Range Action:* error

`g_n_ss`

#

*Description:* Population growth rate in the steady-state.

*Value Type:* float

*Valid Range:* min = -1.0 and max = 1.0

*Out-of-Range Action:* error

`imm_rates`

#

*Description:* Immigration rates over the time path.

*Value Type:* float

*Valid Range:* min = -1.0 and max = 1.0

*Out-of-Range Action:* error

`rho`

#

*Description:* Age-specific mortality rates.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 1.0

*Out-of-Range Action:* error

## Model Solution Parameters#

`nu`

#

*Description:* Parameter for convergence rate of functional iteration.

*Value Type:* float

*Valid Range:* min = 0.01 and max = 0.5

*Out-of-Range Action:* error

`SS_root_method`

#

*Description:* Root finding algorithm for outer loop of the SS solution.

*Notes:* Uses scipy.optimize.root, please see scipy documentation for description of methods. Note that some methods may require more arguments than are in the function calls in SS.py and TPI.py and will therefore break without modifications of the source code.

*Value Type:* str

*Valid Choices:*[‘hybr’, ‘lm’, ‘broyden1’, ‘broyden2’, ‘anderson’, ‘linearmixing’, ‘diagbroyden’, ‘excitingmixing’, ‘krylov’, ‘df-sane’]

`FOC_root_method`

#

*Description:* Root finding algorithm for solving household first order conditions.

*Notes:* Uses scipy.optimize.root, please see scipy documentation for description of methods. Note that some methods may require more arguments than are in the function calls in SS.py and TPI.py and will therefore break without modifications of the source code.

*Value Type:* str

*Valid Choices:*[‘hybr’, ‘lm’, ‘broyden1’, ‘broyden2’, ‘anderson’, ‘linearmixing’, ‘diagbroyden’, ‘excitingmixing’, ‘krylov’, ‘df-sane’]

`maxiter`

#

*Description:* Max iterations for time path iteration.

*Value Type:* int

*Valid Range:* min = 2 and max = 500

*Out-of-Range Action:* error

`mindist_SS`

#

*Description:* Tolerance for convergence of steady state solution.

*Value Type:* float

*Valid Range:* min = 1e-13 and max = 0.001

*Out-of-Range Action:* error

`mindist_TPI`

#

*Description:* Tolerance for convergence of time path solution.

*Value Type:* float

*Valid Range:* min = 1e-13 and max = 0.001

*Out-of-Range Action:* error

`RC_SS`

#

*Description:* Tolerance for the resource constraint in the steady state solution.

*Value Type:* float

*Valid Range:* min = 1e-13 and max = 0.001

*Out-of-Range Action:* error

`RC_TPI`

#

*Description:* Tolerance for the resource constraint in the time path solution.

*Value Type:* float

*Valid Range:* min = 1e-13 and max = 0.01

*Out-of-Range Action:* error

`reform_use_baseline_solution`

#

*Description:* Whether or not the baseline SS solution is used for starting values when solving the reform.

*Value Type:* bool

`initial_guess_r_SS`

#

*Description:* Initial guess of r for the SS solution.

*Value Type:* float

*Valid Range:* min = 0.01 and max = 0.25

*Out-of-Range Action:* error

`initial_guess_w_SS`

#

*Description:* Initial guess of w for the SS solution.

*Value Type:* float

*Valid Range:* min = 0.01 and max = 5.15

*Out-of-Range Action:* error

`initial_guess_TR_SS`

#

*Description:* Initial guess of TR for the SS solution.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 0.2

*Out-of-Range Action:* error

`initial_guess_factor_SS`

#

*Description:* Initial guess of factor for the SS solution.

*Value Type:* float

*Valid Range:* min = 1.0 and max = 500000

*Out-of-Range Action:* error

## Other Parameters#

`start_year`

#

*Description:* Calendar year in which to start model analysis.

*Notes:* Calendar year for initial model period

*Value Type:* int

*Valid Range:* min = 2013 and max = 2100

*Out-of-Range Action:* error

`mean_income_data`

#

*Description:* Mean income (in current dollars) from the microdata used for tax function estimation.

*Value Type:* float

*Valid Range:* min = 0.0 and max = 9.9e+100

*Out-of-Range Action:* error