-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
When running through the list, please follow the following workflow:
-
Please assign yourself to one of the lectures below by adding an @{GitHub username} next to a lecture.
-
First, read each lecture carefully and check for typos and mathos (mathematical errors). If a derivation has a gap, consider adding an exercise to help fill it.
-
Rewrite the code in JAX where beneficial or feasible. One useful criterion is to check whether there are extensive loops or if the code is accelerated with numba.
-
Submit one pull request (PR) per lecture and tag @mmcky and @HumphreyYang for review.
Note
Sometimes there are good reasons to implement a single change across multiple lectures. If you think this applies
then please coordinate with @mmcky and @HumphreyYang, as these PRs can cause merge conflicts and complexity.
-
Note any questions or concerns in the PR. We’ll gather these into a bi-weekly summary/news feed for the group.
-
Synchronize updates to the Chinese version by tagging the Translation (English -> Mandarin) in Projects and marking the status as 'To do'.
Intermediate Series
Tools and Techniques
- sir_model
- linear_algebra
- qr_decomp
- eig_circulant
- svd_intro
- var_dmd (there is no simulation in this one)
- newton_method [jax] (There is a JAX version here). @kp992 - [newton_method] Update lecture code and fix typos lecture-python.myst#564
Elementary Statistics
- prob_matrix
- stats_examples
- lln_clt @mmcky
- prob_meaning
- multi_hyper [jax] (Uses jit + prange for combinatorics/MC) @HumphreyYang
- multivariate_normal
- hoist_failure (code needs to be cleaned up)
- back_prop [jax] (already in JAX -- it has some overlaps with @jstac's material on AI and economics and this lecture. We can try to integrate them into one)
- rand_resp
- util_rand_resp @HumphreyYang ([util_rand_resp] Update reference style across lecture and correct typos lecture-python.myst#621)
Bayes Law
Note for this section, there are discrepencies in terms of tools we used. Consider unifying them and write a introductory section for numpyro in bayes_nonconj?)
- bayes_nonconj [jax] (used both
pyrowithtorchbackend andnumpyrowith JAX backend) @kp992 - [bayes_nonconj] Update lecture lecture-python.myst#545 - ar1_bayes [jax] (used
pymcandnumpyro) ([ar1_bayes] Removed PyMC dependency and style-sheet compliance lecture-python.myst#569) @HumphreyYang - ar1_turningpts [jax] (used
pymcbut notnumpyro) ([ar1_turningpts] Removed PyMC and changed the style lecture-python.myst#584) @xuanguang-li
Statistics and Information
(This chapter is currently being updated by Tom. Please refrain from reviewing it.)
- likelihood_ratio_process
- imp_sample [jax] (Uses jit/vectorize/prange for MC at the moment) @HumphreyYang ([imp_sample] Convert code to JAX and check stylesheet compliance lecture-python.myst#620)
- wald_friedman
- wald_friedman_2
- exchangeable [jax] (Numba vectorize/jit; easy JAX convertion.)
- likelihood_bayes
- mix_model [jax] (Currently mixes Numba and NumPyro; standardize on JAX.)
- navy_captain
Linear Programming
- opt_transport
- von_neumann_model
Introduction to Dynamics
- finite_markov
- inventory_dynamics [jax] (There is a JAX version here) - @kp992 - [inventory_dynamics] Update code to JAX and latest style guide lecture-python.myst#623, [inventory_dynamics] Update code to latest style guide and typo fixes lecture-jax#237
- linear_models
- samuelson @bishmaybarik
- kesten_processes [jax] (There is a JAX version here) @kp992 - [kesten_processes] Update Kesten processes lecture to latest code version lecture-jax#233, [kesten_processes] Kesten Processes lecture update lecture-python.myst#591
- wealth_dynamics [jax] (There is a JAX version here)
- kalman @xuanguang-li ([kalman] Update to JAX lecture-python.myst#611)
- kalman_2 @xuanguang-li ([kalman_2] Update to JAX lecture-python.myst#644)
Search
(Code in this chapter is similar in nature, consider convert the chapter to JAX)
- mccall_model [jax] (Noted in #505) @shlff
- mccall_model_with_separation [jax]
- mccall_fitted_vfi [jax] (Fitted VFI with jit/jitclass, we have a JAX version noted in #502)
- mccall_correlated [jax] @HumphreyYang ([mcall_correlated] Convert to JAX and content checks lecture-python.myst#616)
- career [jax] @HumphreyYang ([career] Convert to JAX and content checks lecture-python.myst#617)
- jv [jax] (numba jit in operator. Break up operator factory) @HumphreyYang ([jv] Convert to JAX and content checks lecture-python.myst#618)
- mccall_q [jax] (Very similar to the JS models above, should be a good target) @bishmaybarik
- odu [jax]
Consumption, Savings and Capital
- cass_koopmans_1
- cass_koopmans_2
- cass_fiscal
- cass_fiscal_2
- ak2 [jax] (AK model uses big loops that can be accelerated by JAX.)
- cake_eatingproblem @longye-tian
- cake_eating_numerical @longye-tian
- optgrowth @longye-tian
- optgrowth_fast [jax] (This lecture teaches Numba specifically, consider converting to JAX entirely) @HumphreyYang
- coleman_policy_iter [jax] (Time-iteration; clear @jit usage; good JAX target) @longye-tian
- egm_policy_iter [jax] (egm is implemented in JAX here) @longye-tian
- ifp [jax] (Uses numba at the moment) @longye-tian
- ifp_advanced [jax] (Uses numba at the moment) @longye-tian
LQ Control
- lqcontrol @matheusvillasb
- lagrangian_lqdp
- cross_product_trick
- perm_income
- perm_income_cons
- lq_inventories
Multiple Agent Models
- lake_model [jax] (Lake model class with @jit methods; break up using JAX) @HumphreyYang ([lake_model] Update lecture to JAX and check compliance to style sheet lecture-python.myst#589)
- rational_expectations
- re_with_feedback
- markov_perf
- uncertainty_traps
- aiyagari [jax] (There is a JAX version here) @HumphreyYang ([aiyagari] Update lecture with JAX and check for stylesheet compliance lecture-python.myst#590)
Asset Pricing and Finance
- markov_asset [jax] (There is a JAX version here) @xuanguang-li ([markov_asset] Update to JAX lecture-python.myst#654)
- ge_arrow @xuanguang-li
- harrison_kreps
Data and Empirics
- pandas_panel
- ols [jax] (There is a related JAX lecture here)
- mle [jax] (There is a JAX version here) @kp992 - [mle] Update lecture with latest code and style lecture-python.myst#572, [mle] Update JAX code to latest version lecture-jax#232
Auctions
- two_auctions ([two_auction] Lecture review with math and warning fixes lecture-python.myst#556) @HumphreyYang
- house_auction
Advanced Series
Tools and Techniques
- orth_proj
- stationary_densities
- muth_kalman
- discrete_dp
LQ Control
- cons_news
- smoothing
- smoothing_tax
- markov_jump_lq
- tax_smoothing_1
- tax_smoothing_2
- tax_smoothing_3
- lqramsey
Multiple Agent Models
- arellano [jax] (There is a JAX version here)
- matsuyama
- coase
- match_transport
Dynamic Linear Economies
- hs_recursive_models
- growth_in_dles
- lucas_asset_pricing_dles
- irfs_in_hall_model
- permanent_income_dles
- rosen_schooling_model
- cattle_cycles
- hs_invertibility_example
Risk, Model Uncertainty, and Robustness
- five_preferences [jax] (Analytic kernels with @njit)
- entropy
- robustness
- rob_markov_perf
Time Series Models
- arma
- estspec
- additive_functionals
- lu_tricks
- classical_filtering
- knowing_forecasts_of_others
Asset Pricing and Finance
- lucas_model [jax] (There is a JAX version here) @kp992
- asset_pricing_lph @Simon-Mishricky
- black_litterman
- BCG_complete_mkts
- BCG_incomplete_mkts
Dynamic Programming Squared
- un_insure [jax] (Not accelerated, but with big iteration of
C) - dyn_stack
- calvo_machine_learn
- calvo
- calvo_abreu
- opt_tax_recur
- amss [jax] (Heavy DP with jit/jitclass; good JAX target)
- amss2
- amss3
- chang_ramsey
- chang_credible