Source code for open_cge.government
[docs]def eqTd(taud, pf, Ff):
'''
Direct tax revenue.
.. math::
Td = \tau d \sum_{h}pf_{h}FF_{h}
Args:
taud (float): Direct tax rate
pf (1D numpy array): The price of factor h
Ff (1D numpy array): Endowment of factor h
Returns:
Td (float): Total direct tax revenue.
'''
Td = taud * (pf * Ff).sum()
return Td
[docs]def eqTrf(tautr, pf, Ff):
'''
Total transfers to households.
.. math::
Trf = \tau^{tr} \sum_{h}pf_{h}FF_{h}
Args:
tautr (float): Tranfer rate (??)
pf (1D numpy array): The price of factor h
Ff (1D numpy array): Endowment of factor h
Returns:
Trf (float): Total transfers to households
'''
Trf = tautr * pf['LAB'] * Ff['LAB']
return Trf
[docs]def eqTz(tauz, pz, Z):
'''
Production tax revenue from each good.
.. math::
Tz_{i} = \tau^{z}_{i} pz_{i}Z_{i}
Args:
tauz (1D numpy array): Ad valorem tax rate on good i
pz (1D numpy array): Price of output good i
Z (1D numpy array): Total output of good i
Returns:
Tz (1D numpy array): Production tax revenue for each good i
'''
Tz = tauz * pz * Z
return Tz
[docs]def eqTm(taum, pm, M):
'''
Tariff revenue from each good i.
.. math::
Tm_{i} = \tau^{m}_{i} pm_{i}M_{i}
Args:
taum (1D numpy array): Tariff rate on good i
pm (1D numpy array): price of import good i
M (1D numpy array): Imports of good i
Returns:
Tm (1D numpy array): Tariff revenue for each good i
'''
Tm = taum * pm * M
return Tm
[docs]def eqXg(mu, XXg):
'''
Government expenditures on good i
.. math::
X^{g}_{i} = \mu_{i}XX_{g}
Args:
mu (1D numpy array): Government expenditure share parameters for
each good i
XXg (float): Total government spending on goods/services
Returns:
Xg (1D numpy array): Government expenditures on good i
'''
Xg = mu * XXg
return Xg
[docs]def eqSg(mu, Td, Tz, Tm, XXg, Trf, pq):
'''
Total government savings.
.. math::
Sg = Td + \sum_{i}Tz_{i} + \sum_{i}Tm_{i} - (Trf + \sum_{i}Xg_{i})
Args:
mu (1D numpy array): Government expenditure share parameters for
each good i
Td (float): Total direct tax revenue
Tz (1D numpy array): Production tax revenue for each good i
Tm (1D numpy array): Tariff revenue for each good i
XXg (float): Total government spending on goods/services
Trf (float): Total transfers to households
pq (1D numpy array): price of the Armington good (domestic +
imports) for each good i
Returns:
Sg (float): Total government savings
'''
Sg = Td + Tz.sum() + Tm.sum() - (Trf + XXg * (mu * pq).sum())
return Sg