This is the homepage for the QuantEcon scientific and high performance computing workshops to be held at the Central Bank of Chile in September 2022.
Instructors:
- John Stachurski (Australian National University, Co-founder of QuantEcon)
- Pablo Winant (CREST and ESCP Business School, lead developer of dolo
The languages of instruction are Python and Julia. Instruction will draw on, but not be limited to, the
- QuantEcon Python Programming lecture series
- QuantEcon Julia Programming lecture series
The schedule is
- September 20th - 23rd: Scientific computing with Python
- September 24th - 25th: Weekend break
- September 26th - 27th: Scientific computing with Julia
The format of each day will be
- 08:30 - 10:30: Lecture
- 10:30 - 11:00: Coffee Break
- 11:00 - 13:00: Practice Sessions
- 13:00 - 14:30: Lunch (at Central Bank offices)
- 14:30 - 16:00: Office hours
All participants should bring laptop computers. If possible, participants should bring laptops with the ability to install open source software.
For those without such permissions, a cloud computing option will be provided.
The courses assume knowledge of the fundamentals of linear algebra, analysis, optimization and probability.
John Stachurski will lead sessions on the following topics
- Python for scientific computing
- NumPy array operations on the CPU
- Introduction to the Numba just-in-time (JIT) compiler
- Application: Markov chains, time series models and distribution dynamics
- Application: Search and optimal stopping
- Application: Asset pricing
- Application: Dynamic programming
- Application: Default cascades in financial networks
- Parallelization on the CPU
- Parallelization on the GPU via CUDA
- Automatic differentiation and GPU computing with JAX
Pablo will lead sessions on the following topics:
- Introduction to deep learning methods
Pablo will lead sessions on the following topics:
- Introduction to the Julia language
- Types, multiple dispatch and the Julia JIT compiler
- Structural models in Julia
- Perturbation methods
- Time-iteration variants
- Global solution techniques and occasionally binding constraints models
- "improved" algorithms
- multistep problems and endogenous grids
- dimensionality reduction (*)
- Heterogeneous agent models (*)
- Parallel computing in Julia (*)
- Performance optimization (*)
*: time-permitting