macrostat.models.GL06SIMEX#

Godley & Lavoie (2006, Chapter 3) Model SIMEX

The macrostat.models.GL06SIMEX module consists of the following classes

GL06SIMEX(parameters, variables, scenarios, ...)

SIMEX model class for the Godley-Lavoie 2006 SIMEX model.

behavior

Behavior classes for the Godley-Lavoie 2006 SIMEX model.

parameters

Parameters class for the Godley-Lavoie 2006 SIM model.

scenarios

Scenarios class for the Godley-Lavoie 2006 SIMEX model.

variables

Variables class for the Godley-Lavoie 2006 SIM model.

class macrostat.models.GL06SIMEX.BehaviorGL06SIMEX(parameters: ParametersGL06SIMEX | None = None, scenarios: ScenariosGL06SIMEX | None = None, variables: VariablesGL06SIMEX | None = None, scenario: int = 0, debug: bool = False)[source]#

Bases: Behavior

Behavior class for the Godley-Lavoie 2006 SIMEX model.

consumption_demand(t: tensor, scenario: dict)[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

consumption_supply(t: tensor, scenario: dict)[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

disposable_income(t: tensor, scenario: dict)[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

expected_disposable_income(t: tensor, scenario: dict)[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

government_money_stock(t: tensor, scenario: dict)[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

government_supply(t: tensor, scenario: dict)[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

household_money_demand(t: tensor, scenario: dict)[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

household_money_stock(t: tensor, scenario: dict)[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

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

  • MoneySupply

  • HouseholdMoneyStock

labour_demand(t: tensor, scenario: dict)[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

labour_income(t: tensor, scenario: dict)[source]#

The labour income is the wage rate times the labour supply. This is an intermediate variable used to calculate the disposable income, but is computed explicitly here to compute the transaction flows.

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

  • scenario (dict) – Scenario dictionary

Equations

\[W(t) N_s(t)\]

Dependency

  • scenario: WageRate

  • state: LabourSupply

Sets

  • LabourIncome

labour_supply(t: tensor, scenario: dict)[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

national_income(t: tensor, scenario: dict)[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

step(t: int, scenario: dict)[source]#

Step function of the Godley-Lavoie 2006 SIMEX model.

tax_demand(t: tensor, scenario: dict)[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

tax_supply(t: tensor, scenario: dict)[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

version = 'GL06SIMEX'#
class macrostat.models.GL06SIMEX.GL06SIMEX(parameters: ~macrostat.models.GL06SIMEX.parameters.ParametersGL06SIMEX | None = <macrostat.models.GL06SIMEX.parameters.ParametersGL06SIMEX object>, variables: ~macrostat.models.GL06SIMEX.variables.VariablesGL06SIMEX | None = None, scenarios: ~macrostat.models.GL06SIMEX.scenarios.ScenariosGL06SIMEX | None = None, *args, **kwargs)[source]#

Bases: Model

SIMEX model class for the Godley-Lavoie 2006 SIMEX model.

version = 'GL06SIMEX'#
class macrostat.models.GL06SIMEX.ParametersGL06SIMEX(parameters: dict | None = None, hyperparameters: dict | None = None, bounds: dict | None = None, *args, **kwargs)[source]#

Bases: Parameters

Parameters class for the Godley-Lavoie 2006 SIMEX model.

get_default_hyperparameters()[source]#

Return the default hyperparameter values.

get_default_parameters()[source]#

Return the default parameter values.

version = 'SIMEX'#
class macrostat.models.GL06SIMEX.ScenariosGL06SIMEX(scenario_info: dict | None = None, parameters: ParametersGL06SIMEX | None = None, *args, **kwargs)[source]#

Bases: Scenarios

Scenarios class for the Godley-Lavoie 2006 SIMEX model.

get_default_scenario_values()[source]#

Return the default scenario values.

version = 'GL06SIMEX'#