News
- 🏠 quantecon.org — Redesigned the QuantEcon About page to align with the updated QuantEcon brand identity.
- 📚 lecture-python-programming.fr — Upgraded the
action-translationdependency twice, moving from v0.16.0 to v0.16.1, to maintain current tooling for the French Python programming lecture translations. - 📚 Python Programming for Economics and Finance — Added a French translation sync workflow and upgraded the translation action to support ongoing localization of the Python programming for economics and finance content.
- 📚 continuous_time_mcs — Updated the GitHub Pages publishing action to v0.8.0 to maintain continuous deployment infrastructure for continuous-time Markov chain lecture materials.
- 📚 Quantitative Economics with Python — Fixed missing
pipdependencies to ensure reliable environment setup for quantitative economics Python workflows. - 📚 Advanced Quantitative Economics with Python — Added a new lecture on dynamic supply and demand curves using vector autoregression, expanding the quantitative economics curriculum with advanced time-series modeling of market dynamics.
- 📚 A First Course in Quantitative Economics with Python — Migrated GitHub Pages deployment to artifact-based deployment, modernizing the publishing infrastructure for the quantitative economics Python course.
- 📚 Quantitative Economics with Python — Added lectures covering LQ permanent income theory and unemployment dynamics (both linear and nonlinear models) to the Quantitative Economics with Python curriculum.
- 📚 Quantitative Economics with Python — New lectures on the Kalman Filter and Robust Income were integrated into the Quantitative Economics with Python curriculum.
- 🏠 quantecon.org — Added inline news tags for website and software content to improve categorization and visual organization on quantecon.org.
- 📚 Quantitative Economics with Python — Rewrote the non-conjugate priors lecture with improved NUTS and variational inference explanations, and enhanced the Kalman filter lecture’s opening exposition.
- 🏠 quantecon.org — Converted workshops to a Jekyll collection and added redirects for removed developer pages to their new locations on quantecon.org.
- 📚 Advanced Quantitative Economics with Python — New lectures on contract theory (principal-agent problems) and survey data robustness expanded the course’s coverage of applied microeconomic theory and empirical methods.
Volume II of Dynamic Programming by Thomas J. Sargent and John Stachurski is now available for free download.
Volume II: General States extends the finite state framework of Volume I to general state spaces, covering:
Part I: General Theory
- Abstract Dynamic Programs (Parts 1-3)
- Transforms
Part II: Models and Applications
- Concave DP Problems
- Risk-Sensitive Dynamic Programming
- Applications
The book is available as a free PDF download from the Dynamic Programming website, alongside Volume I and its accompanying code and slides.
The Quantitative Economics with Julia lecture series now supports running notebooks on Google Colab.
Instructions for getting started are available in the Running on Google Colab section of the Getting Started lecture.
QuantEcon has released myst-markdown-tree-sitter.nvim, a Neovim plugin that provides syntax highlighting and filetype detection for MyST (Markedly Structured Text) markdown files.
The plugin extends standard markdown highlighting with MyST-specific features, including:
- Code-cell directive highlighting with language-specific syntax highlighting for
{code-cell}directives - Math directive highlighting with LaTeX syntax highlighting for
{math}directives - Automatic filetype detection for MyST markdown files based on content patterns
- Tree-sitter integration for robust parsing
- Comprehensive testing with 170+ tests
The plugin supports a wide range of languages in code-cell directives, including Python, Julia, R, JavaScript, and more.
For installation instructions and documentation, visit the project website.
A new lecture has been added to Quantitative Economics with Julia: Differentiable Filters.
This lecture covers implementing and differentiating the Kalman filter using both forward-mode and reverse-mode automatic differentiation. It documents specific coding patterns needed to get high performance while remaining compatible with Enzyme.
A key challenge addressed in the lecture is that small, static immutable matrices call for a completely functional coding style, while large matrices require everything to be done in-place. Getting the same code to work efficiently in both cases requires careful design. Much of this is driven by Enzyme’s requirement for non-allocating code — which, fortunately, is usually aligned with highest performance anyway.
This release also updates the lectures to support the official Enzyme.jl release for Julia 1.12.
These updates were developed by Jesse Perla.
We’re pleased to announce a new lecture on Advanced Quantitative Economics with Python: Gorman Aggregation with Heterogeneous Households.
About the Lecture
This lecture explores one of the fundamental questions in macroeconomic theory: under what conditions can an economy with diverse households be analyzed as if there were a single representative consumer?
Key topics covered include:
- Gorman aggregation conditions: When household demand can be aggregated regardless of income distribution
- Linear Engel curves: The role of quasi-homothetic preferences in enabling aggregation
- Practical implications: Understanding when representative agent models are appropriate approximations
Why This Matters
Representative agent models are ubiquitous in macroeconomics, but their validity depends on specific conditions that aren’t always met. This lecture provides the theoretical foundations for understanding:
- When aggregation is justified
- What heterogeneity matters for aggregate outcomes
- How to think about distributional effects in macro models
The lecture includes computational examples and exercises to reinforce the theoretical concepts.
Contributors
This lecture was developed by Humphrey Yang and Thomas Sargent.
We’re pleased to announce a new lecture on Quantitative Economics with Julia: Differentiable Dynamics.
This lecture demonstrates how to use Enzyme.jl for automatic differentiation of dynamic economic simulations. The code is more advanced than typical lectures — Enzyme requires non-allocating, functional-style code — but this is necessary to unlock high-performance differentiation of simulation models.
For readers looking for a gentler introduction to Enzyme, see the Introduction to Enzyme section in the auto-differentiation lecture.
Other Updates in This Release
- Julia 1.12 support with updated packages across all lectures
- Reorganized interpolation and integration lectures for improved flow
- Refactored Finite Markov chains lecture with clearer exposition
- Updated software engineering and testing content
These updates were developed by Jesse Perla and Farhad Shahryarpoor.
QuantEcon instructors Chase Coleman and John Stachurski delivered a three-day workshop on Modern Computational Economics and Policy Applications at the IMF headquarters in Washington, D.C. from December 2-4, 2025.
Building on the 2024 workshop, this year’s course placed greater emphasis on AI and its implications for economic policy analysis. Topics included:
- AI pair programming for economists
- JAX for high-performance dynamic programming
- Data wrangling with Pandas and Polars
- Bayesian analysis and Gaussian processes
- Deep learning and reinforcement learning
Workshop materials are available on GitHub.
Older Posts
layout: post title: “Run QuantEcon Lectures with Google Colab!” author: Natasha Watkins excerpt: You can now open a lecture as a Jupyter notebook in Google Colab, allowing code to be run and edited live in the cloud. tag: [news]—