RBC and JAX

Lecture 3 · 2026-03-24 / 03-31

Starting from Hansen’s (1985) indivisible-labor RBC model, we set up the divisible-labor version, calibrate its steady state, and solve it: the Bellman equation is solved by value function iteration, while optimal labor supply is recovered from the intratemporal first-order condition (via bisection). We then build the entire solver in JAX — just-in-time compilation with jax.jit, vectorization with jax.vmap, structured control flow with jax.lax.while_loop and jax.lax.scan, and stateless random-number generation — and conclude by simulating the model.

Materials

Readings

  • Kydland & Prescott (1982), “Time to Build and Aggregate Fluctuations,” Econometrica 50(6), 1345–1370.
  • Hansen (1985), “Indivisible Labor and the Business Cycle,” JME 16(3), 309–327.
  • King, Plosser & Rebelo (1988), “Production, Growth and Business Cycles: I. The Basic Neoclassical Model,” JME 21(2–3), 195–232.
  • Prescott (1986), “Theory Ahead of Business Cycle Measurement,” Federal Reserve Bank of Minneapolis Quarterly Review.
  • Bradbury et al. (2018), JAX: composable transformations of Python+NumPy programs. https://github.com/jax-ml/jax