macrostat.models.GL06SIMEX#
Godley & Lavoie (2006, Chapter 3) Model SIMEX
The macrostat.models.GL06SIMEX module consists of the following classes
|
SIMEX model class for the Godley-Lavoie 2006 SIMEX model. |
Behavior classes for the Godley-Lavoie 2006 SIMEX model. |
|
Parameters class for the Godley-Lavoie 2006 SIM model. |
|
Scenarios class for the Godley-Lavoie 2006 SIMEX model. |
|
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:
BehaviorBehavior class for the Godley-Lavoie 2006 SIMEX model.
- compute_theoretical_steady_state_per_step(t: int, params: dict, scenario: dict)[source]#
Compute the theoretical steady state of the model for each given period. This is done per-period as there are parameters and scenarios that may be time-varying, so the interpretation is a timeseries of the theoretical steady state at a given period based on the parameters and scenarios at that period.
- Parameters:
Equations
\begin{align} G^\star(t) &= G_s(t) = G_d(t)\\ r^\star(t) &= r(t)\\ \alpha_3 &= \frac{1-\alpha_1}{\alpha_2}\\ Y^\star(t) &= \frac{G^\star}{\theta}\\ YD^\star(t) = YD^{e\star}(t) = C^\star(t) &= \frac{G^\star(t)(1-\theta)}{\theta}\\ H_h^\star(t) &= \alpha_3 YD^\star(t)\\ T^\star(t) & \theta\cdot Y^\star(t)\\ B_s^\star(t) &= \frac{r^\star(t) B_{CB}^\star(t) + T^\star(t) - G^\star(t)}{r^\star(t)}\\ B_{CB}^\star(t) &= B_s^\star(t) - B_h^\star(t)\\ H_s^\star(t) &= H_{s}(t-1) + (B_{CB}(t) - B_{CB}(t-1)) \end{align}
- 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
params: PropensityToConsumeIncome
params: PropensityToConsumeSavings
state: ExpectedDisposableIncome
prior: HouseholdMoneyStock
Sets
ConsumptionDemand
- 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
- 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
- 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
- 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
- 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
GovernmentDemand
GovernmentSupply
- 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
- 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
- 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
- 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
- labour_income(t: tensor, scenario: dict, params: dict | None = None)[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, 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
- 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
- step(t: int, scenario: dict, params: dict | None = None)[source]#
Step function of the Godley-Lavoie 2006 SIMEX model.
- 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
- 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
- version = 'GL06SIMEX'#
- class macrostat.models.GL06SIMEX.GL06SIMEX(parameters: ParametersGL06SIMEX | None = <macrostat.models.GL06SIMEX.parameters.ParametersGL06SIMEX object>, variables: VariablesGL06SIMEX | None = None, scenarios: ScenariosGL06SIMEX | None = None, *args, **kwargs)[source]#
Bases:
ModelSIMEX 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:
ParametersParameters class for the Godley-Lavoie 2006 SIMEX model.
- version = 'SIMEX'#