EC 510 – Final Project Model List
1 Overview
Below is a list of standard economic models you may choose from for your 510 final project. Each model is a simplified version of a published paper – the goal is not to replicate the paper exactly, but to build a clean computational implementation using the tools we have developed in class. Pick one model, build it in Julia, and submit a write-up that includes:
- A statement of the model and your equilibrium definition.
- Your computational strategy (discretization, fixed-point loop, etc.).
- Code that solves the model.
- Results from the experiment described in each section, with plots and tables.
I’ve provided most of the details for each model, but we may need to meet to fill in the gaps.
You are more than welcome to propose an alternative model not on this list. If so, schedule a meeting with me to discuss it.
2 Hansen (1985): Indivisible Labor RBC
2.1 Environment
A representative household chooses \(\{c_t, n_t, k_{t+1}\}_{t=0}^\infty\) to maximize \[ \mathbb{E}_0 \sum_{t=0}^\infty \beta^t \left[ \log c_t - B\, n_t \right], \]
where \(n_t \in [0,1]\) is the fraction of households working a fixed shift of \(h_0\) hours. (The disutility is linear in \(n_t\) because of Hansen’s lottery – households randomize over working a full shift or not at all, and the utility-equivalent representation is linear.) The resource constraint is \[ c_t + k_{t+1} - (1-\delta) k_t = z_t k_t^\alpha (h_0 n_t)^{1-\alpha}, \]
and \(\log z_t\) follows \[ \log z_{t+1} = \rho \log z_t + \varepsilon_{t+1},\qquad \varepsilon_{t+1}\sim \mathcal{N}(0, \sigma_\varepsilon^2), \]
discretized to a finite-state Markov chain via Rouwenhorst (use 5–7 states).
Suggested calibration (quarterly): \(\beta = 0.99\), \(\alpha = 0.36\), \(\delta = 0.025\), \(h_0 = 1/3\), \(\rho = 0.95\), \(\sigma_\varepsilon = 0.007\). Pick \(B\) so that the steady-state fraction of households working is \(n^* = 2/3\); total hours worked in steady state are then \(h_0 n^* = 2/9\).
2.2 Equilibrium
The competitive equilibrium coincides with the planner’s problem. The Bellman equation is \[ V(k, z) = \max_{c, n, k'} \left\{ \log c - B n + \beta\, \mathbb{E}\!\left[V(k', z') \mid z\right] \right\} \]
subject to the resource constraint. Because the labor choice is static and utility is linear in \(n\), you can solve for \(n\) in closed form as a function of \((k, z, k')\): \[ B = \frac{1-\alpha}{c}\, z k^\alpha h_0^{1-\alpha} n^{-\alpha}, \]
and substitute it back into the Bellman to reduce the state space to \((k, z)\).
2.3 Numerical Method
- Discretize \(z\) via Rouwenhorst (5–7 states).
- Build a grid for \(k\) with \(N_k = 200\) points centered on the deterministic steady state (\(k^* = ((1/\beta - 1 + \delta)/\alpha)^{1/(\alpha-1)} h_0 n^*\)). Use spacing \([0.5 k^*, 1.5 k^*]\).
- Iterate on \(V\) until \(\|V_{n+1} - V_n\|_\infty < 10^{-6}\). Use linear (or cubic) interpolation when evaluating \(V(k', z')\) off the \(k\)-grid.
2.4 Experiment
- Solve the model. Plot the policy function \(k'(k, z)\) and the labor supply policy \(n(k, z)\) for the lowest, median, and highest values of \(z\).
- Simulate \(T = 10{,}000\) periods. Compute the standard deviation and first-order autocorrelation of \(\log y_t\), \(\log c_t\), \(\log i_t\), \(\log n_t\).
- Repeat with divisible labor preferences \(u(c, n) = \log c + \psi \log(1 - n)\) (calibrated so steady-state \(n\) matches). Show that indivisible labor amplifies the volatility of hours relative to output.
3 Lucas (1978): Asset Prices in a Pure Exchange Economy
3.1 Environment
A representative agent has preferences \[ \mathbb{E}_0 \sum_{t=0}^\infty \beta^t \frac{c_t^{1-\gamma} - 1}{1-\gamma} \]
and is endowed with one unit of an asset (a Lucas tree) that pays a stochastic dividend \(d_t\) each period. Log dividend growth follows a finite-state Markov chain: \[ g_{t+1} = \log d_{t+1} - \log d_t \in \{g_1, \dots, g_M\}, \qquad \Pr(g_{t+1} = g_j \mid g_t = g_i) = \pi_{ij}. \]
There are two assets: a claim to all future dividends (the equity), and a one-period risk-free bond in zero net supply.
Suggested calibration (annual): \(\beta = 0.96\), \(\gamma \in \{2, 5, 10, 20\}\). Use a 2-state chain with \(g_1 = -0.01\), \(g_2 = 0.04\), \(\pi_{11} = \pi_{22} = 0.7\).
3.2 Equilibrium
In equilibrium the representative agent consumes the dividend, \(c_t = d_t\). The Euler equation for equity is \[ p_t = \mathbb{E}_t\!\left[ \beta\,(c_{t+1}/c_t)^{-\gamma}\,(p_{t+1} + d_{t+1}) \right]. \]
Since \(c_{t+1}/c_t = d_{t+1}/d_t = e^{g_{t+1}}\), the price-dividend ratio \(v(g) \equiv p_t/d_t\) depends only on the current growth state and satisfies \[ v(g_i) = \beta \sum_{j=1}^M \pi_{ij}\, e^{(1-\gamma) g_j}\, [1 + v(g_j)]. \]
The gross risk-free rate is \[ R^f(g_i) = \left[ \beta \sum_{j=1}^M \pi_{ij}\, e^{-\gamma g_j} \right]^{-1}. \]
3.3 Numerical Method
The price-dividend equation is a small linear system \(v = b + A v\), where \(A_{ij} = \beta \pi_{ij} e^{(1-\gamma) g_j}\) and \(b_i = \sum_j A_{ij}\). Solve directly: \(v = (I - A)^{-1} b\).
3.4 Experiment
- For \(\gamma = 2\), compute \(v(g)\) and \(R^f(g)\) for each state, and the unconditional expected equity return \(\mathbb{E}[R^e]\) under the stationary distribution.
- The equity premium is \(\mathbb{E}[R^e] - \mathbb{E}[R^f]\). Compute it for \(\gamma \in \{2, 5, 10, 20\}\) and plot it against \(\gamma\). Also plot \(\mathbb{E}[R^f]\) vs. \(\gamma\).
- Discuss your findings in light of the Mehra–Prescott (1985) equity premium puzzle: the U.S. data show an equity premium of roughly 6% and a risk-free rate of roughly 1%. Can you simultaneously hit both with a reasonable \(\gamma\)?
4 Hopenhayn (1992): Firm Dynamics with Entry and Exit
4.1 Environment
There is a continuum of firms producing a homogeneous good. A firm with idiosyncratic productivity \(z\) chooses labor \(n\) to produce \(y = z n^\theta\) with \(\theta \in (0, 1)\). Each operating period a firm pays a fixed cost \(c_f\). Productivity follows a Markov chain on a finite grid \(\{z_1, \dots, z_M\}\) with transition \(Q(z' \mid z)\) (use Rouwenhorst on \(\log z\)).
Taking the wage as numeraire and the output price \(p\) as given, the firm’s static profit is \[ \pi(z; p) = \max_n \, p z n^\theta - n - c_f. \]
At the end of each period a firm decides whether to exit (continuation value \(0\)) or continue. Entrants pay sunk cost \(c_e\) and draw initial productivity from \(\nu(z)\). A representative consumer with quasi-linear preferences over the homogeneous good \(C\) and a numeraire generates aggregate demand \(D(p) = \bar{D}/p\).
Suggested calibration: \(\beta = 0.96\), \(\theta = 0.64\), \(c_f = 0.1\), \(c_e = 0.5\), \(\bar{D} = 100\). Use a Rouwenhorst discretization with \(\rho_z = 0.9\), \(\sigma_\varepsilon = 0.2\). Take \(\nu\) equal to the unconditional distribution of \(z\).
4.2 Equilibrium
A stationary equilibrium consists of a price \(p^*\), value function \(V(z; p^*)\), exit indicator \(x(z; p^*)\in\{0,1\}\), mass of entrants \(M^*\), and a stationary distribution of incumbent firms \(\mu^*(z)\) such that:
- Bellman with exit. \[ V(z; p) = \pi(z; p) + \max\!\left\{0,\; \beta \sum_{z'} V(z'; p)\, Q(z' \mid z)\right\}. \]
The exit policy is \(x(z; p) = 1\) iff the continuation term is nonpositive. 2. Free entry. \(\beta \sum_z V(z; p^*)\, \nu(z) = c_e\). (Timing convention: entrants pay \(c_e\) at the end of the period, draw \(z\) from \(\nu\), and produce next period; hence the \(\beta\). Other texts time entry so that entrants produce immediately and the \(\beta\) is absent – adopt whichever convention you prefer but be explicit.) 3. Stationary distribution. Let \(T(z, z'; p) = (1 - x(z; p)) Q(z' \mid z)\) be the transition for surviving firms. The distribution of incumbents satisfies \[ \mu^*(z') = \sum_z T(z, z'; p^*)\, \mu^*(z) + M^*\, \nu(z'). \]
- Goods market clearing. \(\int z\, n(z; p^*)^\theta\, d\mu^* = D(p^*)\).
4.3 Numerical Method
- Inner loop: Given \(p\), solve the Bellman by VFI on the \(z\)-grid.
- Find \(p^*\): Bisect on \(p\) until the free-entry condition (2) holds.
- Stationary distribution: Given \(p^*\) and \(x(\cdot)\), the operator \(T\) is sub-stochastic. The unnormalized invariant distribution solves \((I - T')\mu_0 = \nu\). Pin down \(M^*\) by goods-market clearing in step 4.
4.4 Experiment
- Compute the equilibrium \((p^*, M^*, \mu^*)\). Report the entry/exit rate, the average firm size, and the firm size distribution.
- Plot the exit cutoff: which \(z\) values exit?
- Comparative static. Increase \(c_f\) by 50%. Recompute \(p^*\) and the stationary distribution. Report how average productivity, average size, and the exit rate change. Interpret through the lens of selection.
5 Huggett (1993): Risk-Free Rate in an Incomplete Markets Economy
5.1 Environment
A continuum of ex-ante identical agents have preferences \[ \mathbb{E}_0 \sum_{t=0}^\infty \beta^t \frac{c_t^{1-\sigma}}{1-\sigma} \]
and receive a stochastic endowment \(y_t\) following a finite-state Markov chain \(\Pi\) with values \(\{y_1, \dots, y_S\}\). There is a single risk-free bond traded at price \(q\) subject to a borrowing constraint \(a_{t+1} \geq \underline{a}\). The budget constraint is \[ c_t + q\, a_{t+1} = y_t + a_t. \] Bonds are in zero net supply.
Suggested calibration: \(\beta = 0.96\), \(\sigma = 1.5\), \(\underline{a} = -2\), two-state endowment with \(y_1 = 0.1\), \(y_2 = 1.0\), transition \(\Pi_{11} = 0.5\), \(\Pi_{22} = 0.925\).
5.2 Equilibrium
A stationary equilibrium is a price \(q^*\), value function \(V(a, y)\), policy \(a'(a, y)\), and joint distribution \(\mu^*(a, y)\) such that:
Household problem. \[ V(a, y) = \max_{a' \geq \underline{a}} \left\{ u\!\left(y + a - q^* a'\right) + \beta \sum_{y'} \pi(y' \mid y)\, V(a', y') \right\}. \]
Stationarity of \(\mu^*\). \(\mu^*\) is invariant under the joint transition implied by \(a'(a, y)\) and \(\Pi\).
Bond market clearing. \(\sum_{(a, y)} a'(a, y)\, \mu^*(a, y) = 0\).
5.3 Numerical Method: Distribution Approximation
This is the part that trips most students up. The recommended approach is the non-stochastic simulation method of Young (2010): a histogram method on a fixed asset grid.
(a) Asset grid. Build a grid \(\mathcal{A} = \{a_1, \dots, a_{N_a}\}\) with \(a_1 = \underline{a}\), \(a_{N_a}\) large enough to never bind in equilibrium (try \(N_a = 500\)). Use a non-uniform grid that is finer near \(\underline{a}\), e.g.
agrid = underline_a .+ (a_max - underline_a) .* range(0, 1; length = Na).^2so that points cluster near the borrowing constraint where the policy function bends sharply.
(b) Solve the household problem. Using VFI (with linear interpolation of \(V\) in \(a'\)). This produces a policy \(a'(a_i, y_s)\) for each grid point.
(c) Build the transition matrix on the joint grid. The state is \((a_i, y_s)\) on a grid of size \(N_a \times S\). For each \((a_i, y_s)\), the policy \(a'(a_i, y_s)\) generally falls between two grid points \(a_j \leq a' < a_{j+1}\). Split the mass: \[ \omega = \frac{a_{j+1} - a'(a_i, y_s)}{a_{j+1} - a_j}, \qquad 1 - \omega. \]
Then for each next-period income state \(y_{s'}\), \[ T\big[(a_i, y_s) \to (a_j, y_{s'})\big] = \omega \cdot \pi(y_{s'} \mid y_s),\qquad T\big[(a_i, y_s) \to (a_{j+1}, y_{s'})\big] = (1-\omega)\cdot \pi(y_{s'} \mid y_s). \]
This gives a sparse \((N_a S) \times (N_a S)\) Markov transition matrix.
(d) Compute the stationary distribution. Two options:
- Iteration (recommended): Start from any \(\mu_0\) (e.g., uniform) and iterate \(\mu_{n+1} = T'\mu_n\) until \(\|\mu_{n+1} - \mu_n\|_1 < 10^{-9}\). Sparse matrix multiplication makes this very fast.
- Eigenvector: Find the left eigenvector of \(T\) associated with eigenvalue 1, normalized so \(\sum \mu = 1\).
(e) Outer loop. Bisect on \(q\) over \([β, 1]\) until the bond market clearing residual \(\sum a' \mu\) is within \(10^{-5}\) of zero. Bond demand is monotonically decreasing in \(q\), so bisection is reliable.
5.4 Experiment
- Compute \(q^*\) and the implied interest rate \(r^* = 1/q^* - 1\). Report it.
- Plot the policy function \(a'(a, y)\) and the marginal asset distribution \(\mu^*(a)\). The distribution should have a spike at \(\underline{a}\) from constrained low-income agents.
- Comparative static. Vary \(\underline{a} \in \{-1, -2, -4, -6\}\). Plot \(r^*\) vs. \(\underline{a}\) and explain.
- How does the equilibrium interest rate compare to that of a representative-agent model: \(r^{RA} = 1/\beta - 1\)?
6 Aiyagari (1994): Heterogeneous Agents with Production
6.1 Environment
A continuum of agents have preferences as in Huggett but supply labor inelastically with idiosyncratic efficiency \(\ell_t\) following a Markov chain \(\Pi\) on \(\{\ell_1, \dots, \ell_S\}\), normalized so \(\mathbb{E}[\ell] = 1\). They save in a single asset \(a_t\) with \(a_{t+1} \geq 0\). Firms operate \(Y = K^\alpha L^{1-\alpha}\) in a competitive market, so factor prices satisfy \[ r = \alpha (K/L)^{\alpha - 1} - \delta, \qquad w = (1-\alpha)(K/L)^\alpha. \] The household budget is \(c_t + a_{t+1} = (1+r) a_t + w \ell_t\).
Suggested calibration: \(\beta = 0.96\), \(\sigma = 2\), \(\alpha = 0.36\), \(\delta = 0.08\). Discretize \(\log \ell_t\) as AR(1) with \(\rho = 0.9\), \(\sigma_\varepsilon = 0.2\) via Rouwenhorst on 7 states (then exponentiate and renormalize so \(\mathbb{E}[\ell] = 1\)).
6.2 Equilibrium
A stationary equilibrium consists of \((r^*, w^*, K^*, L^*, V, a', \mu^*)\) such that households optimize given \((r^*, w^*)\), factor prices equal marginal products at \((K^*, L^*)\), \[ L^* = \sum_\ell \ell\, \pi^\infty(\ell), \qquad K^* = \sum_{(a,\ell)} a'(a, \ell)\, \mu^*(a, \ell), \]
where \(\pi^\infty\) is the stationary distribution of \(\ell\).
6.3 Numerical Method: Distribution Approximation
Use exactly the same Young (2010) histogram method as in Huggett. Specifically:
(a) Asset grid. \(a_1 = 0\) (the borrowing constraint), \(a_{N_a}\) large (e.g. 200 or so), \(N_a = 500\), denser near 0:
agrid = a_max .* range(0, 1; length = Na).^2(b) Solve the household problem at given \((r, w)\) via VFI or EGM.
(c) Build the joint transition matrix on the \((a, \ell)\) grid using the same lottery rule for off-grid \(a'\).
(d) Stationary distribution by iterating \(\mu_{n+1} = T'\mu_n\).
(e) Outer loop on \(r\). Define excess demand \(\Delta(r) = K^d(r) - K^s(r)\) where \[ K^d(r) = L^* \left[\frac{r + \delta}{\alpha}\right]^{1/(\alpha-1)}, \qquad K^s(r) = \sum_{(a,\ell)} a'(a,\ell;r)\, \mu^*(a,\ell;r). \]
Find \(r^*\) by solving \(\Delta(r^*) = 0\).
6.4 Experiment
- Solve for \(r^*\) and report \(r^*\), \(K^*/Y^*\), the wealth-to-income ratio, and the wealth Gini coefficient.
- Plot the marginal wealth distribution \(\mu^*(a)\) on a log scale and comment on its right tail.
- Confirm that \(r^* < 1/\beta - 1\) and quantify the precautionary savings effect.
- Comparative static. Increase income risk by raising \(\sigma_\varepsilon\) to \(0.4\). Recompute \(r^*\) and the wealth Gini. Document the result.
7 Mortensen–Pissarides Search and Matching
7.1 Environment
The labor force has measure \(1\) split between employed (\(1 - u\)) and unemployed (\(u\)). Firms post vacancies \(v\) at flow cost \(\kappa\) per period. Matches are formed via the matching function \[ m(u, v) = A u^\eta v^{1-\eta}, \]
giving job-finding rate \(f(\theta) = m/u = A \theta^{1-\eta}\) and vacancy-filling rate \(q(\theta) = m/v = A \theta^{-\eta}\), where \(\theta = v/u\). A filled job produces output \(p_t\) each period and is exogenously destroyed with probability \(s\). Wages are determined by Nash bargaining with worker bargaining power \(\phi \in (0,1)\) and outside option \(b\) (unemployment benefit).
Suggested calibration (monthly): \(\beta = 0.996\), \(s = 0.034\), \(\eta = 0.5\), \(\phi = 0.5\), \(A = 0.5\), \(\kappa = 0.5\), \(b = 0.4\). Productivity \(\log p_t\) follows an AR(1) with \(\rho_p = 0.95\), \(\sigma_p = 0.007\) (discretize via Rouwenhorst, 7 states).
7.2 Equilibrium
The Bellman equations for filled job (\(J\)), vacant job (\(V\)), employed worker (\(W\)), and unemployed worker (\(U\)) are \[ \begin{aligned} J(p) &= p - w(p) + \beta\, \mathbb{E}\!\left[(1-s) J(p') + s\, V(p') \mid p\right], \\ V(p) &= -\kappa + \beta\, \mathbb{E}\!\left[ q(\theta(p')) J(p') + (1 - q(\theta(p'))) V(p') \mid p\right], \\ W(p) &= w(p) + \beta\, \mathbb{E}\!\left[(1-s) W(p') + s\, U(p') \mid p\right], \\ U &= b + \beta\, \mathbb{E}\!\left[ f(\theta(p')) W(p') + (1 - f(\theta(p'))) U \mid p\right]. \end{aligned} \]
Free entry: \(V(p) = 0\) for all \(p\), so \[ \kappa = \beta\, \mathbb{E}\!\left[ q(\theta(p')) J(p') \mid p \right]. \]
Nash bargaining: \(w(p)\) maximizes \((W(p) - U)^\phi J(p)^{1-\phi}\), giving the standard surplus-sharing rule \[ w(p) = \phi (p + \kappa\, \theta(p)) + (1-\phi) b. \]
Steady-state unemployment (in a deterministic version): \(u = s/(s + f(\theta))\).
7.3 Numerical Method
- Discretize \(p\) with a Rouwenhorst chain of 7 states.
- Iterate jointly on \(J(p)\) and \(\theta(p)\):
- Given \(\theta(p)\), compute \(w(p)\).
- Given \(w(p)\), solve the linear system for \(J(p)\).
- Update \(\theta(p)\) from the free-entry condition \(\kappa/\beta = \sum_{p'} \pi(p'|p)\, q(\theta(p'))\, J(p')\).
- Iterate until \(\|\theta_{n+1} - \theta_n\|_\infty < 10^{-6}\).
- Simulate \(u_t\) directly from \(u_{t+1} = u_t + s(1 - u_t) - f(\theta(p_t)) u_t\).
7.4 Experiment
- Solve the model. Plot \(\theta(p)\), \(w(p)\), \(J(p)\).
- Simulate \(T = 12{,}000\) months. Compute the standard deviation of HP-filtered \(\log u_t\), \(\log v_t\), \(\log \theta_t\), \(\log p_t\). Plot the Beveridge curve (\(u\) vs. \(v\)).
- Compute the ratio \(\sigma_{\log \theta} / \sigma_{\log p}\). Shimer (2005) reports this is roughly \(20\) in the data; the textbook MP model typically delivers \(1\)–\(3\). Comment on the Shimer puzzle.
- Comparative static. Raise \(b\) toward the Hagedorn–Manovskii (2008) calibration (\(b/p^* \approx 0.955\) in steady state). Show that as \(b\) approaches this region the response of \(\theta\) to \(p\) is amplified dramatically and the model gets much closer to the data. (Sweep \(b \in \{0.4, 0.7, 0.9, 0.95\}\) and report \(\sigma_{\log\theta}/\sigma_{\log p}\) for each.)
8 Burdett–Mortensen (1998): Wage Posting and Equilibrium Wage Dispersion
8.1 Environment
Discrete time. Unit measure of identical workers and unit measure of identical firms; a match produces flow output \(p\). Each period:
- Unemployed workers earn flow benefit \(b\) and receive an offer with probability \(\lambda_0\), drawn from the equilibrium wage-offer distribution \(F\). They accept any \(w \geq b\).
- Employed workers at wage \(w\):
- separate with probability \(\delta\);
- conditional on not separating, receive an outside offer with probability \(\lambda_1\), drawn from \(F\). They accept iff the new wage strictly exceeds \(w\).
- Each firm posts a single wage and commits to it.
Suggested calibration (monthly): \(p = 1\), \(b = 0.4\), \(\delta = 0.05\), \(\lambda_0 = 0.5\), \(\lambda_1 \in \{0.05, 0.2, 0.5\}\). (The ratio \(\lambda_1/\delta\) governs the amount of wage dispersion.)
8.2 Equilibrium
A stationary equilibrium is a wage-offer distribution \(F\) supported on \([\underline{w}, \overline{w}] \subseteq [b, p]\) such that:
Worker stationarity. The unemployment rate is \(u = \delta / (\delta + \lambda_0)\), and the worker wage CDF satisfies \[ G(w) = \frac{\delta\, F(w)}{\delta + \lambda_1\,[1 - F(w)]}. \]
Firm size from flow balance. Per-firm steady-state employment at wage \(w\) satisfies \[ \ell(w; F)\,[\delta + \lambda_1 (1 - F(w))] = u\,\lambda_0 + \lambda_1 (1 - u)\,G(w), \] which simplifies to \[ \ell(w; F) = \frac{u\,\lambda_0\,(\delta + \lambda_1)}{[\delta + \lambda_1 (1 - F(w))]^2}. \]
Profit equalization. Every wage in the support of \(F\) delivers the same steady-state profit: \[ \pi(w; F) \equiv (p - w)\,\ell(w; F) = \pi^\star \quad \text{for all } w \in \operatorname{supp}(F), \] and \(\pi(w; F) \leq \pi^\star\) for \(w \notin \operatorname{supp}(F)\).
8.3 Numerical Method
A closed form exists (we return to it as a check below), but you will compute \(F\) numerically as a fixed point of a best-response iteration. Treat \(F\) as a discrete CDF on a wage grid.
- Wage grid. \(w_1 < w_2 < \cdots < w_K\) on \([b, p]\) with \(K = 200\).
- Initial guess. Any strictly increasing CDF \(F_0\) – e.g., uniform on the grid: \(F_0(w_k) = k/K\).
- Iteration \(n \to n+1\). Given \(F_n\):
- Compute \(\ell(w_k; F_n)\) and \(\pi(w_k; F_n) = (p - w_k)\,\ell(w_k; F_n)\) for each \(k\).
- Let \(f_n^k = F_n(w_k) - F_n(w_{k-1})\) be the implied pmf. Update via a softmax best-response rule \[ f_{n+1}^k \propto f_n^k \cdot \exp\!\big(\eta \cdot [\pi(w_k; F_n) - \bar\pi_n]\big), \] where \(\bar\pi_n\) is the mean profit and \(\eta > 0\) is a learning rate (try \(\eta \approx 50\)). Renormalize so \(\sum_k f_{n+1}^k = 1\), then accumulate to \(F_{n+1}\).
- Stop when \(\|F_{n+1} - F_n\|_\infty < 10^{-8}\).
- Alternative (bisection). Pin down \(\pi^\star = (p - b)\,\ell(b; F)\) and use the indifference condition to solve for \(F(w)\) pointwise; then enforce \(\int dF = 1\) by adjusting \(\overline w\).
8.4 Experiment
- Solve the equilibrium \(F\) numerically for \(\lambda_1 \in \{0.05, 0.2, 0.5\}\). Plot \(F\) and \(G\) and verify that \(G\) first-order stochastically dominates \(F\).
- Closed-form check. Burdett–Mortensen’s closed-form solution is \[ F^{\text{cf}}(w) = \frac{\delta + \lambda_1}{\lambda_1}\!\left[ 1 - \sqrt{\frac{p - w}{p - b}} \right] \quad\text{on } [b, \overline{w}], \qquad \overline{w} = p - (p - b)\frac{\delta^2}{(\delta + \lambda_1)^2}. \] Overlay \(F^{\text{cf}}\) on your numerical \(F\) and report the \(L^\infty\) error.
- Simulation check. Simulate \(N = 100{,}000\) workers for \(T = 5{,}000\) periods using your numerical \(F\). Each period: unemployed receive an offer with probability \(\lambda_0\) from \(F\); employed separate with probability \(\delta\), otherwise receive an outside offer with probability \(\lambda_1\). Build the empirical wage distribution and confirm it matches \(G\).
- Compute the mean–min wage ratio \(\mathbb{E}_G[w] / \underline{w}\) and the coefficient of variation of \(G\). Plot both as functions of \(\lambda_1/\delta\). Discuss why pure search frictions (with identical workers and firms) generate substantial wage dispersion.
- Extension (optional). Add \(J\) ex-ante firm productivity types \(p_1 < \cdots < p_J\) with population shares \(h_j\). The size formula generalizes via flow balance on each type, and equilibrium wages \(\{w_j\}\) are pinned down by no-deviation conditions across types. Solve the heterogeneous version numerically (no closed form is available in general) and show that productivity dispersion compounds with search frictions to amplify wage dispersion.
9 Jovanovic (1979): Job Matching with Learning
9.1 Environment
A worker is matched with a firm whose true match quality \(\theta\) is unknown. The prior is \(\theta \sim \mathcal{N}(\mu_0, \sigma_0^2)\). Each period the worker observes output \[ y_t = \theta + \varepsilon_t, \qquad \varepsilon_t \sim \mathcal{N}(0, \sigma_\varepsilon^2), \] and updates beliefs by Bayes’ rule. After observing \(t\) signals, the posterior is \(\theta \mid y_1, \dots, y_t \sim \mathcal{N}(\mu_t, \sigma_t^2)\) with \[ \sigma_t^2 = \frac{\sigma_\varepsilon^2 \sigma_0^2}{\sigma_\varepsilon^2 + t \sigma_0^2}, \qquad \mu_t = \sigma_t^2\!\left[\frac{\mu_0}{\sigma_0^2} + \frac{\sum_{s=1}^t y_s}{\sigma_\varepsilon^2}\right]. \]
The worker is paid \(\mu_t\) each period (the conditional expectation of output) and discounts at rate \(\beta\). At the end of each period the worker can quit. If they quit, they spend one period unemployed earning \(b\), then start a new match drawn from the prior \(\mathcal{N}(\mu_0, \sigma_0^2)\) with belief reset to \((\mu_0, \sigma_0^2)\).
Suggested calibration: \(\beta = 0.95\), \(\mu_0 = 1\), \(\sigma_0 = 0.5\), \(\sigma_\varepsilon = 0.5\), \(b = 0.7\).
9.2 Equilibrium
The state at the end of period \(t\) is \((\mu_t, t)\) (the posterior mean and tenure – \(\sigma_t^2\) is a deterministic function of \(t\)). The worker’s value is \[ V(\mu, t) = \max\Bigg\{\underbrace{\mu + \beta\, \mathbb{E}\!\left[V(\mu', t+1) \mid \mu, t\right]}_{\text{stay}},\;\underbrace{b + \beta\, \mathbb{E}\!\left[V(\mu_0 + \tilde{\theta}, 1) \right]}_{\text{quit}}\Bigg\}, \]
where $’ = $ updated mean after observing one more signal \(y_{t+1}\). Conditional on the current belief, \(y_{t+1} \sim \mathcal{N}(\mu, \sigma_t^2 + \sigma_\varepsilon^2)\), and the updated mean is \[ \mu' = \mu + \frac{\sigma_t^2}{\sigma_t^2 + \sigma_\varepsilon^2}(y_{t+1} - \mu). \]
This implies \(\mu' \mid (\mu, t) \sim \mathcal{N}\!\left(\mu, \frac{\sigma_t^4}{\sigma_t^2 + \sigma_\varepsilon^2}\right)\).
The optimal policy is a tenure-dependent quit threshold \(\bar{\mu}(t)\): the worker quits iff \(\mu_t < \bar{\mu}(t)\).
9.3 Numerical Method
- Truncate tenure at some \(\bar{T}\) (e.g. \(\bar{T} = 50\)) – after this point \(\sigma_t^2\) is so small that further updating is negligible. For \(t \geq \bar{T}\) the value function is approximately \[ V(\mu, \bar{T}) \approx \max\!\left\{ \frac{\mu}{1-\beta},\; b + \beta\, V_0 \right\}, \] where \(V_0 = \mathbb{E}[V(\theta + \mu_0, 1)]\) is the (unknown) value of a fresh draw.
- Solve \(V_0\) jointly with the value function. Outer loop: guess \(V_0\); inner step: backward induction in \(t\) from \(\bar{T}\) to \(1\), computing the conditional expectation \(\mathbb{E}[V(\mu', t+1) \mid \mu, t]\) via Gauss–Hermite quadrature (since \(\mu'\) is normal). Update \(V_0\) until consistent.
- Discretize \(\mu\) on a grid (say \(N_\mu = 200\) points spanning \([\mu_0 - 4\sigma_0, \mu_0 + 4\sigma_0]\)). Use linear interpolation when evaluating \(V\) at off-grid \(\mu'\).
9.4 Experiment
- Solve for \(V\) and the quit threshold \(\bar{\mu}(t)\). Plot \(\bar{\mu}(t)\) – you should find that the threshold falls with tenure (matches with high posterior variance are kept around longer to gather information).
- Simulate \(N = 10{,}000\) workers for \(T = 200\) periods. Plot the separation hazard as a function of tenure. Verify Jovanovic’s central prediction: the hazard rate of separation declines with tenure.
- Report mean job duration and the average wage by tenure.
- Comparative static. Halve \(\sigma_\varepsilon\) (more informative signals). Show that the quit threshold rises faster with tenure and the average duration of bad matches falls.
10 Greenwood–Hercowitz–Huffman (1988): Investment-Specific Technology Shocks
10.1 Environment
A representative household has GHH preferences (no wealth effect on labor supply): \[ \mathbb{E}_0 \sum_{t=0}^\infty \beta^t \frac{1}{1-\sigma}\!\left[ c_t - \psi \frac{n_t^{1+\nu}}{1+\nu} \right]^{1-\sigma}. \]
Output is \(y_t = k_t^\alpha n_t^{1-\alpha}\). Capital evolves with investment-specific technology \(q_t\): \[ k_{t+1} = (1 - \delta) k_t + q_t i_t, \]
where \(\log q_t\) follows an AR(1) with persistence \(\rho_q\) and innovation \(\sigma_q\). The resource constraint is \(c_t + i_t = y_t\).
Suggested calibration (quarterly): \(\beta = 0.99\), \(\sigma = 2\), \(\nu = 1\), \(\alpha = 0.36\), \(\delta = 0.025\), \(\rho_q = 0.95\), \(\sigma_q = 0.01\). Pick \(\psi\) so steady-state hours equal \(1/3\).
10.2 Equilibrium
The planner solves \[ V(k, q) = \max_{c, n, k'} \left\{ \frac{1}{1-\sigma}\!\left[c - \psi \tfrac{n^{1+\nu}}{1+\nu}\right]^{1-\sigma} + \beta\, \mathbb{E}[V(k', q') \mid q] \right\} \]
subject to \(c + (k' - (1-\delta)k)/q = k^\alpha n^{1-\alpha}\). Under GHH preferences the static labor choice is \[ \psi n^\nu = (1-\alpha) k^\alpha n^{-\alpha} \quad\Longrightarrow\quad n(k) = \left[\frac{(1-\alpha) k^\alpha}{\psi}\right]^{\frac{1}{\nu + \alpha}}, \]
which depends only on \(k\) – independent of \(c\) and \(q\). This dramatically simplifies the Bellman.
10.3 Numerical Method
- Discretize \(\log q\) via Rouwenhorst on 7 states.
- Build a \(k\)-grid of \(N_k = 200\) points around the deterministic steady state \(k^*\).
- Solve the static labor choice analytically. Solve the Bellman by VFI in \((k, q)\).
10.4 Experiment
- Solve and simulate \(T = 10{,}000\) periods. Report business-cycle moments of HP-filtered \(\log y_t\), \(\log c_t\), \(\log i_t\), \(\log n_t\).
- Replace the GHH preferences with standard separable preferences \(u(c, n) = \log c + \psi \log(1 - n)\) holding everything else fixed. Compare moments.
- Comparative test. Replace the investment-specific shock with a standard TFP shock \(y_t = z_t k_t^\alpha n_t^{1-\alpha}\) (and remove \(q_t\) from capital accumulation). Compare moments. Document differences in the comovement of \(c\), \(i\), and \(n\). In particular, GHH preferences plus investment-specific shocks should generate strong positive comovement between consumption and hours, which is empirically realistic.
11 Submission Checklist
For all projects, your submission should include:
- A clear statement of the model and equilibrium.
- A description of your numerical method, including grid sizes, convergence tolerances, and any algorithmic choices.
- Well-organized Julia code (a single notebook is fine).
- Plots and tables answering the specific experiment questions.
- A brief discussion (1–2 paragraphs) of what your results say about the economic question the model addresses.