Skip to content

Housing Tenure-Choice Model

An agent lives for \(T\) periods holding assets \(a \geq 0\) and a housing stock \(H \geq 0\). Each period she receives a Markov income shock \(y\) and then decides whether to own or rent housing. On the ownership path she adjusts her housing stock \(H'\) (paying a transaction cost \(\phi\) when \(H' \neq H\)) and consumes; on the rental path she liquidates housing into cash and rents services \(S\) at unit price \(P_r\).

This is the model of Fella (2014), solved via DC-EGM with the FUES upper envelope of Dobrescu & Shanker (2024). See Housing owner-only model for the sequential (non-branching) submodel.

Branching syntax

See Spec 0.1l — Branching stages for the full specification.

Bellman Equation

Let \(V_t(a, H, y_{\text{pre}})\) be the value of an agent entering period \(t\) with assets \(a\), housing \(H\), and previous income state \(y_{\text{pre}}\). After the income shock \(y\) is realized:

\[ V_t(a, H, y_{\text{pre}}) = \mathbb{E}_{y | y_{\text{pre}}} \Bigl[ \max_{d \in \{\text{own},\,\text{rent}\}} Q_t^{d}(a, H, y) \Bigr] \]

Own branch. The agent keeps or adjusts housing, then consumes:

\[ Q_t^{\text{own}}(a, H, y) = \max_{H'} \max_c \bigl\{ u(c, H') + \beta\, V_{t+1}\bigl(a', H', y\bigr) \bigr\} \]

subject to \(a' = w_{\text{oc}} - c \geq 0\), where cash-on-hand after housing adjustment is

\[ w_{\text{oc}} = (1+r)\,a + z[y] + H - \bigl(1 + \phi\,\mathbf{1}[H' \neq H]\bigr)\,H'. \]

Rent branch. The agent liquidates housing, rents services \(S\), then consumes:

\[ Q_t^{\text{rent}}(a, H, y) = \max_{S} \max_c \bigl\{ u(c, S) + \beta\, V_{t+1}\bigl(a', 0, y\bigr) \bigr\} \]

subject to \(a' = w_{\text{rc}} - c \geq 0\), where cash-on-hand after rental payment is

\[ w_{\text{rc}} = (1+r)\,a + z[y] + H - P_r\,S. \]

Note that renters arrive at the next period with \(H = 0\).

Utility is CES in consumption and housing services:

\[ u(c, h) = \frac{\bigl[\theta\, c^{\rho} + (1-\theta)\,(\kappa\, h + \iota)^{\rho}\bigr]^{(1-\gamma)/\rho}}{1-\gamma} \]

where \(h = H'\) for owners and \(h = S\) for renters. When \(\gamma = 1\) this reduces to Cobb-Douglas; the solver handles this limit.

Terminal condition: \(V_{T+1} \equiv 0\).

T-Calculus Decomposition

The period decomposes into five stages. Each has forward transitions \(\mathrm{g}_{\prec\sim}\), \(\mathrm{g}_{\sim\succ}\) and backward movers \(\mathbb{B}\), \(\mathbb{I}\).

TenureChoice (branching, \(x_\prec = \{a, H, y_{\text{pre}}\}\), \(x = \{a, H, y\}\)):

\[ \mathrm{g}_{\prec\sim}: \quad a = a_\prec,\; H = H_\prec,\; y \sim \Pi(\cdot | y_{\text{pre},\prec}) \]
\[ \mathrm{g}_{\sim\succ}^{\text{own}}: \quad a_{o,\succ} = a,\; H_{o,\succ} = H,\; y_{o,\succ} = y \]
\[ \mathrm{g}_{\sim\succ}^{\text{rent}}: \quad w_{r,\succ} = (1+r)a + z[y] + H,\; y_{r,\succ} = y \]
\[ \mathbb{B}: \quad \mathrm{v}(a, H, y) = \max\bigl\{\mathrm{v}_{\succ}^{\text{own}}(a, H, y),\; \mathrm{v}_{\succ}^{\text{rent}}(w_r, y)\bigr\} \]
\[ \mathbb{I}: \quad \mathrm{v}_\prec(a, H, y_{\text{pre}}) = \mathbb{E}_{y | y_{\text{pre}}}\bigl[\mathrm{v}(a, H, y)\bigr] \]

OwnerHousing (own path, \(x_\prec = \{a_o, H_o, y_o\}\), \(x_\succ = \{w_{\text{oc}}, H_{\text{nxt}}, y_o\}\)):

\[ \mathrm{g}_{\prec\sim}: \quad \text{identity} \]
\[ \mathrm{g}_{\sim\succ}: \quad w_{\text{oc}} = (1+r)\,a_o + z[y_o] + H_o - (1 + \phi\,\mathbf{1}[H' \neq H_o])\,H', \quad H_{\text{nxt}} = H' \]
\[ \mathbb{B}: \quad \mathrm{v}(a_o, H_o, y_o) = \max_{H'} \mathrm{v}_\succ(w_{\text{oc}}, H', y_o) \]
\[ \mathbb{I}: \quad \mathrm{v}_\prec = \mathrm{v} \qquad\text{(identity)} \]

OwnerCons (own path, \(x_\prec = \{w_{\text{oc}}, H_{\text{nxt}}, y_o\}\), \(x_\succ = \{b_o, H_{\text{nxt}}, y_o\}\)):

\[ \mathrm{g}_{\sim\succ}: \quad b_o = w_{\text{oc}} - c \]
\[ \mathbb{B}: \quad \mathrm{v}(w_{\text{oc}}, H_{\text{nxt}}, y_o) = \max_c\bigl\{u(c, H_{\text{nxt}}) + \beta\, \mathrm{v}_\succ(w_{\text{oc}} - c, H_{\text{nxt}}, y_o)\bigr\} \]
\[ \mathbb{I}: \quad \mathrm{v}_\prec = \mathrm{v} \qquad\text{(identity)} \]

RenterHousing (rent path, \(x_\prec = \{w_r, y_r\}\), \(x_\succ = \{w_{\text{rc}}, S, y_r\}\)):

\[ \mathrm{g}_{\sim\succ}: \quad w_{\text{rc}} = w_r - P_r\,S \]
\[ \mathbb{B}: \quad \mathrm{v}(w_r, y_r) = \max_{S} \mathrm{v}_\succ(w_r - P_r S, S, y_r) \]
\[ \mathbb{I}: \quad \mathrm{v}_\prec = \mathrm{v} \qquad\text{(identity)} \]

RenterCons (rent path, \(x_\prec = \{w_{\text{rc}}, S, y_r\}\), \(x_\succ = \{b_r, H_r, y_r\}\)):

\[ \mathrm{g}_{\sim\succ}: \quad b_r = w_{\text{rc}} - c, \quad H_r = 0 \]
\[ \mathbb{B}: \quad \mathrm{v}(w_{\text{rc}}, S, y_r) = \max_c\bigl\{u(c, S) + \beta\, \mathrm{v}_\succ(w_{\text{rc}} - c, 0, y_r)\bigr\} \]
\[ \mathbb{I}: \quad \mathrm{v}_\prec = \mathrm{v} \qquad\text{(identity)} \]

Period Composition

Both branches terminate with poststates that map to the next period's arrival \((a, H, y_{\text{pre}})\) via a uniform inter-period connector:

\[ (b_o, H_{\text{nxt}}, y_o) \;\xrightarrow{\text{connector}}\; (a, H, y_{\text{pre}}) \qquad\text{(owner exit)} \]
\[ (b_r, 0, y_r) \;\xrightarrow{\text{connector}}\; (a, 0, y_{\text{pre}}) \qquad\text{(renter exit, } H = 0\text{)} \]

A renter arriving with \(H = 0\) who chooses own starts from \(w_{\text{oc}} = (1+r)a + z[y]\) — no housing equity.

Period Structure

HousingTenurePeriod stage perch field a H ypre tenure_choice owner_housing owner_cons renter_housing renter_cons own rent bo Hnxt br Hr=0

The income shock \(y\) is realized at tenure_choice (arrival to decision). The own branch passes \((a, H, y)\) to owner_housing; the rent branch converts everything to cash \(w_r = (1+r)a + z[y] + H\) and passes \((w_r, y)\) to renter_housing. Both consumption stages output end-of-period assets and housing stock — the renter sets \(H_r = 0\) explicitly, so the inter-period connector is a uniform rename.

Stages

Each stage is documented with its dolo-plus YAML specification:

# Stage Kind Control Method
1 tenure_choice branching \(d \in \{\text{own}, \text{rent}\}\) max aggregator + \(\mathbb{E}_{y\|y_{\text{pre}}}\)
2 owner_housing sequential \(H' \in X_H\) (discrete) discrete max over housing grid
3 owner_cons sequential \(c > 0\) (continuous) EGM + FUES
4 renter_housing sequential \(S \in X_S\) (discrete) discrete max over rental grid
5 renter_cons sequential \(c > 0\) (continuous) EGM + FUES

Period, Nest, and Calibration

See Period and nest wiring for the period template, inter-period connectors, and calibration.