Behavior SIMEX#

This is the documentation of the behavior module of the SIM model from Godley & Lavoie (2006, Chapter 3), detailing the equations of the model.

Initialization#

BehaviorGL06SIMEX.initialize()[source]

Initialize the behavior of the Godley-Lavoie 2006 SIMEX model.

Within the book the initialization is generally to set all non-scenario variables to zero. Accordingly

Equations

\begin{align} C_d(0) &= C_s(0) = 0 \\ G_d(0) &= G_s(0) = 0 \\ T_s(0) &= T_d(0) = 0 \\ N_s(0) &= N_d(0) = 0 \\ YD(0) &= 0 \\ W(0) &= 0 \\ H_s(0) &= 0 \\ H_h(0) &= 0 \end{align}

Dependency

Sets

  • ConsumptionDemand

  • ConsumptionSupply

  • GovernmentDemand

  • GovernmentSupply

  • TaxSupply

  • TaxDemand

  • LabourSupply

  • LabourDemand

  • DisposableIncome

  • WageRate

  • HouseholdMoneyStock

Main Simulation Loop#

BehaviorGL06SIMEX.government_supply(t: tensor, scenario: dict, params: dict | None = None)[source]

In the model it is assumed that the supply will adjust to the demand, that is, whatever is demanded can and will be produced. Equation (3.2) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[G_s(t) = G_d(t)\]

Dependency

  • scenario: GovernmentDemand

Sets

  • GovernmentSupply

BehaviorGL06SIMEX.expected_disposable_income(t: tensor, scenario: dict, params: dict | None = None)[source]

The expected disposable income is simply the prior period’s disposable income. Equation (3.20) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict)

Equations

\[YD^e(t) = YD(t-1)\]

Dependency

  • prior: DisposableIncome

Sets

  • ExpectedDisposableIncome

BehaviorGL06SIMEX.consumption_demand(t: tensor, scenario: dict, params: dict | None = None)[source]

The consumption demand is a function of the disposable income, the propensity to consume income, and the propensity to consume savings. Equation (3.7) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[C_d(t) = \alpha_1 YD(t) + \alpha_2 H_h(t-1)\]

Dependency

  • state: ExpectedDisposableIncome

  • prior: HouseholdMoneyStock

Sets

  • ConsumptionDemand

BehaviorGL06SIMEX.consumption_supply(t: tensor, scenario: dict, params: dict | None = None)[source]

In the model it is assumed that the supply will adjust to the demand, that is, whatever is demanded can and will be produced. Equation (3.1) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[C_s(t) = C_d(t)\]

Dependency

  • state: ConsumptionDemand

Sets

  • ConsumptionSupply

BehaviorGL06SIMEX.national_income(t: tensor, scenario: dict, params: dict | None = None)[source]

The national income is the sum of the consumption demand, the government demand, and the tax supply. Equation (3.10) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[Y(t) = C_s(t) + G_s(t)\]

Dependency

  • state: ConsumptionSupply

  • state: GovernmentSupply

Sets

  • NationalIncome

BehaviorGL06SIMEX.labour_demand(t: tensor, scenario: dict, params: dict | None = None)[source]

We can resolve the labour demand from the national income equation, together with the consumption demand (+ disposable income) and the government demand knowing that labour demand is equal to labour supply.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[N_d(t) =\frac{Y(t)}{W(t)}\]

Dependency

  • state: NationalIncome

  • scenario: WageRate

Sets

  • LabourDemand

BehaviorGL06SIMEX.labour_supply(t: tensor, scenario: dict, params: dict | None = None)[source]

In the model it is assumed that the supply will be equal to the amount of labour demanded. Equation (3.4) in the book

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[N_s(t) = N_d(t)\]

Dependency

  • state: LabourDemand

Sets

  • LabourSupply

BehaviorGL06SIMEX.tax_demand(t: tensor, scenario: dict, params: dict | None = None)[source]

The tax demand is a function of the tax rate, the labour supply, and the wage rate. Equation (3.6) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[T_d(t) = \theta N_s(t) W(t)\]

Dependency

  • parameters: TaxRate

  • state: LabourSupply

  • scenario: WageRate

Sets

  • TaxDemand

BehaviorGL06SIMEX.tax_supply(t: tensor, scenario: dict, params: dict | None = None)[source]

In the model it is assumed that the supply will be equal to the amount of taxes demanded. Equation (3.3) in the book

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[T_s(t) = T_d(t)\]

Dependency

  • state: TaxDemand

Sets

  • TaxSupply

BehaviorGL06SIMEX.disposable_income(t: tensor, scenario: dict, params: dict | None = None)[source]

The disposable income is the wage bill minus the taxes. Equation (3.5) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict)

Equations

\[YD(t) = W(t) N_s(t) - T_s(t)\]

Dependency

  • state: LabourIncome

  • state: TaxSupply

Sets

  • DisposableIncome

BehaviorGL06SIMEX.government_money_stock(t: tensor, scenario: dict, params: dict | None = None)[source]

The government money stock is a function of the government demand, and the tax supply. Equation (3.8) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[H_s(t) = H_s(t-1) + G_d(t) - T_d(t)\]

Dependency

  • scenario: GovernmentDemand

  • state: TaxDemand

  • prior: GovernmentMoneyStock

Sets

  • GovernmentMoneyStock

BehaviorGL06SIMEX.household_money_demand(t: tensor, scenario: dict, params: dict | None = None)[source]

The household demand for money is equivalent to their expected income in excess of consumption demand

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[H_d(t) = H_h(t-1) + YD^e(t) - C_d(t)\]

Dependency

  • state: ExpectedDisposableIncome

  • state: ConsumptionDemand

  • prior: HouseholdMoneyStock

Sets

  • HouseholdMoneyDemand

BehaviorGL06SIMEX.household_money_stock(t: tensor, scenario: dict, params: dict | None = None)[source]

The household money stock is a function of the disposable income, the propensity to consume income, and the propensity to consume savings. Equation (3.9) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict) – Scenario dictionary

Equations

\[H_h(t) = H_h(t-1) + YD(t) - C_d(t)\]

Dependency

  • state: DisposableIncome

  • state: ConsumptionDemand

  • prior: HouseholdMoneyStock

Sets

  • HouseholdMoneyStock