cons_stage¶
no-port-cons¶
Deterministic consumption stage (EGM-compatible).
This stage models the consumption choice given cash-on-hand. It's designed to be compatible with the Endogenous Grid Method (EGM).
Stage Structure¶
- Arrival state:
m(cash-on-hand from noport/port stage) - Decision state:
m_d = m(trivial transition) - Control:
c ∈ (0, m)(consumption) - Continuation state:
a = m_d - c(post-consumption assets)
YAML Specification¶
name: cons_stage
symbols:
spaces:
Xm: "@def R++"
Xa: "@def R+"
prestate:
m: "@in Xm"
states:
m_d: "@in Xm"
poststates:
a: "@in Xa"
controls:
c: "@in R+"
values:
V[<]: "@in R"
V: "@in R"
V[>]: "@in R"
values_marginal:
dV[<]: "@in R+"
dV: "@in R+"
dV[>]: "@in R+"
parameters:
β: "@in (0,1)"
ρ: "@in R+"
settings:
n_m: "@in Z+"
m_min: "@in R+"
m_max: "@in R+"
equations:
# Trivial arrival-to-decision
arvl_to_dcsn_transition: |
m_d = m
# Budget constraint
dcsn_to_cntn_transition: |
a = m_d - c
# Backward movers (multiple sub-equations for EGM)
cntn_to_dcsn_mover:
Bellman: |
u = (c^(1-ρ))/(1-ρ)
V = max_{c}(u + β*V[>])
c = argmax_{c}((c^(1-ρ))/(1-ρ) + β*V[>])
InvEuler: |
c[>] = (β*dV[>])^(-1/ρ)
MarginalBellman: |
dV = (c)^(-ρ)
cntn_to_dcsn_transition: |
m_d[>] = a + c[>]
dcsn_to_arvl_mover:
Bellman: |
V[<] = V
ShadowBellman: |
dV[<] = dV
dolo_plus:
dialect: adc-stage
version: 0.1
equation_symbols:
arvl_to_dcsn_transition: g_ad
dcsn_to_cntn_transition: g_de
cntn_to_dcsn_mover: T_ed
dcsn_to_arvl_mover: T_da
mover_sub_equations:
T_ed:
Bellman: T_ed_Bellman
InvEuler: T_ed_InvEuler
MarginalBellman: T_ed_MarginalBellman
cntn_to_dcsn_transition: g_ed
T_da:
Bellman: T_da_Bellman
ShadowBellman: T_da_ShadowBellman
slot_map:
prestate: m
poststate: a
Key Features¶
EGM Sub-Equations¶
The cntn_to_dcsn_mover contains multiple sub-equations for EGM:
| Sub-equation | Purpose |
|---|---|
Bellman |
Standard value function recursion |
InvEuler |
Inverse Euler equation: c = (β * dV)^(-1/ρ) |
MarginalBellman |
Envelope condition: dV = u'(c) |
cntn_to_dcsn_transition |
Reverse state: m = a + c |
Marginal Values¶
The values_marginal group declares shadow values dV (with perch tags) used by EGM. These represent marginal utility of wealth at each perch.
Slot Map¶
- Input:
m(cash-on-hand) - Output:
a(post-consumption assets)