Central Bank of Chile Scientific Computing Workshops
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
Format
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
Prerequisites
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.
Course 1 Topics
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
Julia Topics
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