Skip to main content

Household

Taxation and Investment Strategies

At every step a Household will decide on the amount of (wage) taxation it will pay, that is, a percentage of total tax owed on the wage received in the current step. Second, a Household will update its current wealth before deciding how much of that wealth to keep as cash money. Any remaining wealth is invested between the available portfolio of interest-bearing money assets.

Properties

Household(Agent Properties)
household.py
class Household(mesa.Agent):
"""A Household agent.

Agent 'Information Privilege'. For 'bond expectations' strategy:
Weights = [10, 20, 30]: Total Weight = 60
Privs = ["high", "medium", "low"]

Probability 'high': 10/60 = 0.166 (16.6%)
Probability 'medium': 20/60 = 0.333 (33.3%)
Probability 'low': 30/60 = 0.5 (50%)
"""

def __init__(self, num_household, unique_id, model):
super().__init__(unique_id, model)

self.breed = "Household"
self.type = "gamma" # The default Household agent 'type'.
self.information_privilege = self.random.choices(
['high', 'medium', 'low'],
weights = [10, 20, 30])[0]

self.period = 0 # Model run step.

# (W_Ns) Wage supplied.
self.wage_rate_supplied = Decimal(0)
# (Cd) Consumption demands.
self.consumption_goods_demanded = Decimal(0)
# (Ts) Taxes supplied.
self.taxation_revenue_supplied = Decimal(0)

# (Vh) Wealth, in nominal terms.
self.wealth = Decimal(0)
# (Hd) A non-interest bearing money account, aka, high-powered money.
self.cash_money = Decimal(0)
self.disposable_income = Decimal(0) # (YD) Disposable Income.

""" Interest-bearing bills and long-term bonds. """
# (Bhd) Interest-bearing bills demanded by households.
self.bills_demanded = Decimal(0)
# (INTh) Total interest received on interest-bearing bills held.
self.interest_from_bills = Decimal(0)
# (BLd) Consols (Long-term bonds) demanded by households.
self.bonds_demanded = Decimal(0)
# (INT_BLd) The bond coupon interest revenue.
self.interest_from_bonds = Decimal(0)
# (CG) Capital gains / losses on long-term bonds.
self.capital_gains = Decimal(0)
# (RrbL) The overall rate of return on a long-term bond
# (Interest revenue plus capital gain / loss).
self.overall_rate_of_return_bonds = Decimal(0)

""" Agent expectations regarding long-term bonds. """
# (χ) Weight of conviction in expected bond prices (Chi).
# Default is 1; total conviction in expectations.
self.chi = 1
# (PebL) The expected price of a bond in the next step.
self.expected_bond_price = Decimal(0)
# (expected_coupon_rate) A percentage.
self.expected_coupon_rate = Decimal(0)
# (ERrbL) The expected rate of return (bond yield).
self.expected_bond_yield = Decimal(0)
# (CGe) Expected capital gains.
self.expected_capital_gains = Decimal(0)

# Default employment status.
self.is_employed = False

# Number of households in the system.
self.num_households = Decimal(num_household)

Behaviour Comments

Household(Agent Comments)
household.py
def step(self):
"""
Household Functions (each and every step):
1 Calculate disposable income, the wage, interest and coupon payments received minus tax.
2 Consumption Decision: Decide how much to save out of income.
3 Calculate new wealth including capital gains or losses this step.
4 Agent Bond Price Expectations: Freeze expectations.
5 Rebalance asset portfolio:
Liquidity preference. Two traditions:
Quantity theory of money: Link money balances to the flow of income.
Make money balances some proportion of wealth.
"""

Taxation Arrangements

The model has two taxation arrangements for the return of Household agent wage and interest income. The flat and marginal rate arrangements return the income of Households in accordance with either a single fixed, or array of percentages.

Flat & Marginal Arrangement Comparison

Using an example model test run to compare the tax to be returned under either the flat rate or marginal rate arrangement. The average wage for all Households at model step 6 was: 3625.31

Three example Households:

Household Unique IDWage SuppliedFlat Rate (37%) Tax ReturnMarginal Rate Tax Return
54023.581488.721366.38
102438.05902.08375.24
86203.242295.202892.14

Household Agent ID 8: Marginal Rate Tax Return Breakdown

50% of historical average wage amount at step 6: (3625.31 / 2) = 1812.65

  1. No tax on wage amount up to the first 50% of the historical average wage amount.
  2. Tax on wage amount that is between 50% and 100% of the historical average wage amount (1812.65 * 60%) = 1087.59
  3. Tax on wage amount that exceeds 100% of the historical average wage amount ((6203.24 - 3625.31) * 70%) = 1804.55

Taxation Strategy

The effect of any taxation strategy that results in a payment percentage of less than 1 - payment_percentage < 1 - (see household agent logic) can be similar to what Godley & Lavoie (G&L) remind us about the interest rate on page 160 of their book, Monetary Economics:

A key feature of the models (see ABMSIM and ABMPC tests) presented so far is that pure government expenditures are assumed to be exogenous. Still there is no reason to believe that pure government expenditures are impervious to what is going on in the rest of the economy. G&L describe in detail the initial negative effects of higher interest rates on the Government budget deficit; effects that are eventually reversed in the early models where Government expenditures were impervious to the apparition of larger budget deficits. ..But this may not necessarily be so. Atul Sood (1999) has shown that high real interest rates lead to higher Government deficits in the short run, as must obviously be the case, but he has also shown that these higher interest rates often lead to reduced primary deficits, that is to higher primary surpluses.

In other words, at some point, when the deficit gets too large, the Government will aim at controlling the public deficit, and to do so will reduce its pure government expenditures.

The Portfolio Decision

The interest rate offered will affect the composition of a Household agent's asset portfolio. Model households now have a third financial asset in which to invest. Household agents will choose, based on their expectations and liquidity preferences, to allocate wealth between money, bills and long-term government bonds.

Long-Term Bonds

View the long-term bond framework.

Mirroring Godley & Lavoie (G&L) pp 133 - 135

When households make their long-term bond decisions, three features matter. First, they are concerned with the price that the long-term bond fetches in the current period, for this defines the yield of the asset which will arise in the next period (model step). Second, what also matters is the expected price of the bond in the next period, when it will be possible to sell the bond. These two prices help define what we shall call the pure expected rate of return on bonds (ERrbL). The third factor is the confidence with which households hold their expectations about future bond prices. In a model where there may be a multiplicity of household agent opinions, it is a measure of the weight that households investors attribute to the validity of their expectations.

On Agent Expectations & Information Privilege

In every step, Households think about the price of a bond they expect to see in the next period (step). On average, half of all Households created will predict a higher bond price 33 percent of the time (on average), a lower bond price 33 percent of the time with the remaining expectation being no change to the price of bond in the next step. Just over a third of Households, on average, will include the base rate that has been set in the previous five steps into their expectations logic. Four out of every twenty-five Households created, on average, will have access to logic that combines historical rates together with model (macro) system velocity and acceleration, that is, the rate at which the Government has been issuing new bills as a percentage of national income.

Agents and the Expectations of Others

To assist thinking, Households communicate their bond price expectation to other Households. Though it may only communicate with another of the same type (alpha, beta or gamma), a Household has no preference for which other agent it will contact. A feature of Household discussions about its price expectation for the next period: When contacted, there is a ten percent chance the Household spoken to will inform that its price expectation is between 1 percent and 5 percent greater than the actuality. A five percent chance it will say its price expectation is between 1 percent and 5 percent lower than the actuality. Households will accurately state their price expectation for the next period, on average, eighty-five percent of the time.

Mutually exclusive possibilities a Household will change its price expectation to match that of another Household agent.

Price Expectation (PE) in Current StepAlpha HouseholdBeta HouseholdGamma Household
Other Agent PE > Agent PE10% of time15% of time20% of time
Other Agent PE < = Agent PE15% of time20% of time25% of time
Other Agent PE < Agent PE20% of time25% of time30% of time

Gilt Options Strategy

Households will adjust the proportion of bonds they wish to hold in their money asset portfolios in line with their expectation of price in the next step. Bond price expectations also feed into current step calculations made by all Households as part of their Gilt future options strategy (a strategy that is developed but not monetarily accounted for in the model).

View Household agent behavioural logic.