Python for the Financial Economist
About the course
Course content
The aim of this course is to enable students to implement financial models using realistic data. Several topics in financial economics will be covered and the students will at the end of the course be able to implement financial models from scratch in Python. This will be highly relevant when writing academic papers and/or working in the financial industry.
The teaching format will be different than the traditional teaching format at CBS and requires a high degree of self-motivation and self-management from the students.
The course is very exercise based. The students will learn Python by solving a range of different problems in financial economics. This includes implementation of different models from academic research papers. Examples of potential topics include
- Modelling financial returns, e.g.
- Return properties and distributional assumption
- Public available data sources and how to access them using Python
- Calculation of portfolio risk measures using Python, e.g.
- Marginal CVaR and VaR
- Option pricing using Monte Carlo
- Robust portfolio optimization, e.g.
- Classical mean-variance optimization and its drawbacks
- The Black-Litterman model
- Resampling methods
- Bayesian approach to robust portfolio optimization
- Ledoit and Wolf (2004), A Well-Conditioned Estimator for Large-Dimensional Covariance Matrices
- Volatility modelling, e.g.
- RiskMetrics, ARCH and GARCH models
- Term structure and Interest rate modelling, e.g.
- Specifications of the yield curve such as the Nelson-Siegel model
- Short rate models such as the Vasicek and CIR model
In the beginning of the course there will be a general introduction to Python and exercises that familiarise the students with relevant Python functionalities used in the course.
See course description in course catalogueWhat you will learn
Use Python and the methods presented in the course and exercises to perform quantitative analysis and solve problems of similar difficulty as the problems solved in the excercises of the course.
- Performing quantitative analysis using Python.
- Being able to implement mathematical and statistical formulas using Python.
- Presenting results obtained using quantitative analysis in an academic report.
Course prerequisites
The course is oriented towards master-students with solid quantitative skills and the following background: 1. Master course in portfolio theory 2. Master course in bond and option analysis 3. Undergraduate course in statistics 4. Mathematics course covering optimization and basic matrix algebra. Some experience with scientific computing in coding languages such as Python, R, VBA, Matlab or similar would be an advantage. It will be assumed that students have knowledge about basic concepts (e.g. "for loops" and "if statements") from scientific computing.Facts
- Written assignment
Group exam, winter
- 7 point grading scale