Skip to content

Conversation

@jstac
Copy link
Contributor

@jstac jstac commented Nov 28, 2025

Summary

This PR reorganizes the Income Fluctuation Problem (IFP) lecture series to improve pedagogical clarity by separating content into distinct lectures of increasing complexity.

Changes

1. Split into two lectures

New Lecture III (): Simplified model without transient shocks

  • Income specification: y(z) = exp(z) (deterministic given state)
  • No Monte Carlo integration needed
  • Cleaner introduction to the Endogenous Grid Method
  • Faster computation and easier to understand

New Lecture IV (): Full model with transient shocks

  • Income specification: y(z, η) = exp(a_y * η + z * b_y)
  • Includes Monte Carlo integration over η draws
  • Shows wealth inequality analysis (Gini coefficient, top 1% share)
  • Demonstrates how inequality varies with interest rate

2. Updated lecture numbering

  • ifp_egm.md: The Income Fluctuation Problem III: The Endogenous Grid Method
  • ifp_egm_transient_shocks.md: The Income Fluctuation Problem IV: Transient Income Shocks (NEW)
  • ifp_advanced.md: The Income Fluctuation Problem V: Stochastic Returns on Assets (changed from IV)

3. Code improvements

  • Increased savings_grid_size from 50 to 200 for better accuracy
  • Converted utility functions to lambda expressions for conciseness
  • Reorganized References section placement
  • All code tested and verified to run successfully

4. Updated table of contents

  • Added ifp_egm_transient_shocks in proper sequence
  • Maintains logical progression: discrete → OPI → EGM (simple) → EGM (transient shocks) → stochastic returns

Performance

Both lectures run successfully:

  • ifp_egm: JAX is 7.77x faster than NumPy
  • ifp_egm_transient_shocks: JAX is 19.51x faster than NumPy (Monte Carlo integration benefits significantly from JAX optimization)

Pedagogical Benefits

  1. Clearer learning path: Students first learn EGM with a simpler model, then add complexity
  2. Better understanding of timing: The simpler model makes it easier to see why the new timing is efficient
  3. Motivation for next lecture: Students can see how transient shocks complicate the problem and why they matter for inequality

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

jstac and others added 2 commits November 28, 2025 15:19
- Split ifp_egm.md into two lectures:
  - ifp_egm.md (III): Simplified model with y(z) = exp(z), no transient shocks
  - ifp_egm_transient_shocks.md (IV): Full model with y(z,eta) and Monte Carlo integration
- Update ifp_advanced.md title from IV to V (Stochastic Returns on Assets)
- Update _toc.yml to include new lecture in sequence
- Increase savings_grid_size to 200 for better accuracy
- Convert utility functions to lambda expressions for conciseness

This reorganization improves pedagogy by introducing EGM with a simpler model first,
then adding complexity with transient shocks in the next lecture.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Rename equation labels to avoid conflicts with ifp_egm.md:
  - eqst → eqst_ts
  - eqeul1 → eqeul1_ts
  - cfequ → cfequ_ts
- Update all references to use new labels

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@jstac
Copy link
Contributor Author

jstac commented Nov 28, 2025

Fixed the duplicate equation label warnings by renaming labels in ifp_egm_transient_shocks.md:

  • eqsteqst_ts
  • eqeul1eqeul1_ts
  • cfequcfequ_ts

All references to these equations have been updated accordingly. The build should now pass without warnings.

@github-actions
Copy link

📖 Netlify Preview Ready!

Preview URL: https://pr-747--sunny-cactus-210e3e.netlify.app (31a56e1)

📚 Changed Lecture Pages: ifp_advanced, ifp_egm, ifp_egm_transient_shocks

@jstac jstac merged commit 40c9d91 into main Nov 28, 2025
1 check passed
@jstac jstac deleted the ifp-egm-no-transient branch November 28, 2025 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants