Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential ports of Python lectures #126

Open
1 of 60 tasks
DawievLill opened this issue Sep 20, 2021 · 4 comments
Open
1 of 60 tasks

Potential ports of Python lectures #126

DawievLill opened this issue Sep 20, 2021 · 4 comments

Comments

@DawievLill
Copy link
Collaborator

DawievLill commented Sep 20, 2021

Hi,

I mentioned on the QE discourse that I was looking at porting some of the Python code to Julia and was told to open an issue.

Listed below are lectures that could potentially be ported over to Julia.

It is possible that I have missed some lectures and that some of the content of these lectures have been incorporated into existing Julia lectures.

If there is a specific request for a lecture to be ported I would be more than happy to do it. My general plan is to start with the lectures in sequence as they are presented here, but I am open to suggestions on a more systematic approach to the process.

Tools and techniques

  • Geometric Series for Elementary Economics
  • Multivariate Hypergeometric Distribution
  • Modeling COVID 19
  • QR Decomposition
  • Singular Value Decomposition (SVD)
  • Complex Numbers and Trigonometry
  • Two Meanings of Probability
  • Heavy-Tailed Distributions
  • Multivariate Normal Distribution
  • Univariate Time Series with Matrix Algebra
  • Orthogonal Projections and Their Applications
  • Reverse Engineering a la Muth

Linear Programming

  • Linear Programming
  • Optimal Transport

Introduction to Dynamics

  • Dynamics in One Dimension
  • AR1 Processes
  • Inventory Dynamics
  • The Samuelson Multiplier-Accelerator
  • Kesten Processes and Firm Dynamics
  • Wealth Distribution Dynamics
  • Cass-Koopmans Planning Problem
  • Cass-Koopmans Competitive Equilibrium

Should the dynamic programming section be split up in a similar way to the Python section? I have kept it intact for now, but this could be revised.

Dynamic Programming

  • Cake Eating I: Introduction to Optimal Saving
  • Cake Eating II: Numerical Methods
  • The Income Fluctuation Problem I: Basic Model
  • The Income Fluctuation Problem II: Stochastic Returns on Assets
  • Production Smoothing via Inventories
  • Information and Consumption Smoothing
  • Markov Jump Linear Quadratic Dynamic Programming
  • How to Pay for a War
  • Optimal Taxation in an LQ Economy

Information

  • Likelihood Ratio Processes
  • Exchangeability and Bayesian Updating
  • Likelihood Ratio Processes and Bayesian Learning
  • Bayesian versus Frequentist Decision Rules

Multiple Agent Models

  • Stability in Linear Rational Expectations Models
  • Coase’s Theory of the Firm

Asset pricing and Finance

  • Competitive equilibria with Arrow securities
  • Heterogeneous Beliefs and Bubbles
  • Two Modifications of Mean-Variance Portfolio Theory
  • Irrelevance of Capital Structure with Complete Markets
  • Equilibrium Capital Structures with Incomplete Markets

Data and Empirics

  • Panel Data (with appropriate Julia package)
  • Linear regression in Julia
  • Maximum Likelihood Estimation

Dynamic Linear Economies

  • Recursive Models of Dynamic Linear Economies
  • Growth in Dynamic Linear Economies
  • Lucas Asset Pricing Using DLE
  • IRFs in Hall Models
  • Permanent Income Model using the DLE Class
  • Rosen Schooling Model
  • Cattle Cycles
  • Shock Non Invertibility

Classic Linear Models

  • Von Neumann Growth Model (and a Generalization)

Time Series Models

  • Knowing the Forecasts of Others

Dynamic Programming Squared

  • Ramsey Plans, Time Inconsistency, Sustainable Plans
  • Fluctuating Interest Rates Deliver Fiscal Insurance
  • Fiscal Risk and Government Debt
  • Competitive Equilibria of a Model of Chang
  • Credible Government Policies in a Model of Chang
@jlperla
Copy link
Member

jlperla commented Sep 20, 2021

@DawievLill Wow, that is a lot.

There are a lot of directions to go, and plenty of possible reorganization, but generally the best approach might be to implement stuff as you need them for teaching. For example, the introduction to dynamics might be a good one if you were thinking of teaching that to advanced undergrads/etc.

@DawievLill
Copy link
Collaborator Author

@jlperla Thanks for the advice.

I am teaching a 3rd year macroeconomics course next year, so that seems like a good opportunity to better integrate the lectures into my teaching.

The idea with the list was primarily to give some notion of how many lectures can still be ported. I only realised after putting it together how many there were!

As an aside, if I am working on a lecture should I create a new branch and then merge it once I do the pull request?

@jlperla
Copy link
Member

jlperla commented Sep 20, 2021

Thanks @DawievLill

Yeah, generally the way to do it is to create a new branch, get things working the way you like them, and make a pull request (and maybe say WIP in it until you are done).

For the lecture organization, I think that for now you could just put them in whatever directory makes the most sense for now, add in a reference within https://github.com/QuantEcon/lecture-julia.myst/blob/main/lectures/_toc.yml and then we can consier reorganizing later.

The key thing, though, would be to have one-branch per lecture. pull requests shouldn't get too big.

@jstac
Copy link
Contributor

jstac commented Sep 21, 2021

Thanks for the list @DawievLill , it's really useful. I didn't realize there were so many to be ported.

As @jlperla said, fitting with your teaching is a good approach. Given that you are going to be teaching 3rd year macro, the "Introduction to Dynamics" section might be good. I've taught that to advanced undergraduates and they found it quite hard, since it's quite conceptual. But it's certainly within reach if you teach it slowly and give students time to experiment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants