Tax Functions#
tax.py modules
ogcore.tax#
Functions for taxes in the steady state and along the transition path.#
- ogcore.tax.ETR_income(r, w, b, n, factor, e, etr_params, labor_noncompliance_rate, capital_noncompliance_rate, p)[source]#
Calculates effective personal income tax rate.
- Parameters:
r (array_like) – real interest rate
w (array_like) – real wage rate
b (Numpy array) – savings
n (Numpy array) – labor supply
factor (scalar) – scaling factor converting model units to dollars
e (Numpy array) – effective labor units
etr_params (list) – list of effective tax rate function parameters or nonparametric function
labor_noncompliance_rate (Numpy array) – income tax noncompliance rate for labor income
capital_noncompliance_rate (Numpy array) – income tax noncompliance rate for capital income
p (OG-Core Specifications object) – model parameters
- Returns:
effective tax rate on total income
- Return type:
tau (Numpy array)
- ogcore.tax.ETR_wealth(b, h_wealth, m_wealth, p_wealth)[source]#
Calculates the effective tax rate on wealth.
\[\tau_{t}^{etr,w} = p^{w}\left(\frac{h^{w}b_{j,s,t}}{h^{w}b_{j,s,t} + m^{w}}\right)\]- Parameters:
b (Numpy array) – savings
h_wealth (scalar) – parameter of wealth tax function
p_wealth (scalar) – parameter of wealth tax function
m_wealth (scalar) – parameter of wealth tax function
- Returns:
effective tax rate on wealth, size = SxJ
- Return type:
tau_w (Numpy array)
- ogcore.tax.MTR_income(r, w, b, n, factor, mtr_capital, e, etr_params, mtr_params, noncompliance_rate, p)[source]#
Generates the marginal tax rate on labor income for households.
- Parameters:
r (array_like) – real interest rate
w (array_like) – real wage rate
b (Numpy array) – savings
n (Numpy array) – labor supply
factor (scalar) – scaling factor converting model units to dollars
mtr_capital (bool) – whether to compute the marginal tax rate on capital income or labor income
e (Numpy array) – effective labor units
etr_params (list) – list of effective tax rate function parameters or nonparametric function
mtr_params (list) – list of marginal tax rate function parameters or nonparametric function
noncompliance_rate (Numpy array) – income tax noncompliance rate
p (OG-Core Specifications object) – model parameters
- Returns:
marginal tax rate on income source
- Return type:
tau (Numpy array)
- ogcore.tax.MTR_wealth(b, h_wealth, m_wealth, p_wealth)[source]#
Calculates the marginal tax rate on wealth from the wealth tax.
\[\tau^{mtrw}_{t} = \tau^{etr,w}_{t} \left[2 - \left(\frac{h^w b_{j,s,t}}{h^w b_{j,s,t} + m^w}\right)\right]\]- Parameters:
b (Numpy array) – savings
h_wealth (scalar) – parameter of wealth tax function
p_wealth (scalar) – parameter of wealth tax function
m_wealth (scalar) – parameter of wealth tax function
- Returns:
marginal tax rate on wealth, size = SxJ
- Return type:
tau_prime (Numpy array)
- ogcore.tax.bequest_tax_liab(r, b, bq, t, j, method, p)[source]#
Calculate liability due from taxes on bequests for each household.
- Parameters:
r (array_like) – real interest rate
b (Numpy array) – savings
bq (Numpy array) – bequests received
t (int) – time period
j (int) – index of lifetime income group
method (str) – adjusts calculation dimensions based on ‘SS’ or ‘TPI’
p (OG-Core Specifications object) – model parameters
- Returns:
bequest tax liability for each household
- Return type:
T_BQ (Numpy array)
- ogcore.tax.get_biz_tax(w, Y, L, K, p_m, p, m, method)[source]#
Finds total business income tax revenue.
\[R_{t}^{b} = \sum_{m=1}^{M}\tau_{m,t}^{b}(Y_{m,t} - w_{t}L_{m,t}) - \tau_{m,t}^{b}\delta_{m,t}^{\tau}K_{m,t}^{\tau} - \tau^{inv}_{m,t}I_{m,t}\]- Parameters:
r (array_like) – real interest rate
Y (array_like) – aggregate output for each industry
L (array_like) – aggregate labor demand for each industry
K (array_like) – aggregate capital demand for each industry
p_m (array_like) – output prices
p (OG-Core Specifications object) – model parameters
m (int or None) – index for production industry, if None, then compute for all industries
- Returns:
aggregate business tax revenue
- Return type:
business_revenue (array_like)
- ogcore.tax.income_tax_liab(r, w, b, n, factor, t, j, method, e, etr_params, p)[source]#
Calculate income and payroll tax liability for each household
- Parameters:
r (array_like) – real interest rate
w (array_like) – real wage rate
b (Numpy array) – savings
n (Numpy array) – labor supply
factor (scalar) – scaling factor converting model units to dollars
t (int) – time period
j (int) – index of lifetime income group
method (str) – adjusts calculation dimensions based on ‘SS’ or ‘TPI’
e (Numpy array) – effective labor units
etr_params (list) – effective tax rate function parameters
p (OG-Core Specifications object) – model parameters
- Returns:
- total income and payroll taxes paid for each
household
- Return type:
T_I (Numpy array)
- ogcore.tax.net_taxes(r, w, b, n, bq, factor, tr, ubi, theta, t, j, shift, method, e, etr_params, p)[source]#
Calculate net taxes paid for each household.
- Parameters:
r (array_like) – real interest rate
w (array_like) – real wage rate
b (Numpy array) – savings
n (Numpy array) – labor supply
bq (Numpy array) – bequests received
factor (scalar) – scaling factor converting model units to dollars
tr (Numpy array) – government transfers to the household
ubi (Numpy array) – universal basic income payments to households
theta (Numpy array) – social security replacement rate value for lifetime income group j
t (int) – time period
j (int) – index of lifetime income group
shift (bool) – whether computing for periods 0–s or 1–(s+1), =True for 1–(s+1)
method (str) – adjusts calculation dimensions based on ‘SS’ or ‘TPI’
e (Numpy array) – effective labor units
etr_params (list) – list of effective tax rate function parameters
p (OG-Core Specifications object) – model parameters
- Returns:
net taxes paid for each household
- Return type:
net_tax (Numpy array)
- ogcore.tax.wealth_tax_liab(r, b, t, j, method, p)[source]#
Calculate wealth tax liability for each household.
- Parameters:
r (array_like) – real interest rate
b (Numpy array) – savings
t (int) – time period
j (int) – index of lifetime income group
method (str) – adjusts calculation dimensions based on ‘SS’ or ‘TPI’
p (OG-Core Specifications object) – model parameters
- Returns:
wealth tax liability for each household
- Return type:
T_W (Numpy array)