- Lecturers
- Carlo Marcati, Andreas Stein
- Assistants
- Anastasios Papageorgiou (papageoa@student.ethz.ch) and Songyan Hou (hous@student.ethz.ch)
- Organizer
- Martin Averseng

The main methods of option pricing for efficient numerical valuation of derivative contracts in a Black-Scholes as well as in incomplete markets due to Levy processes or due to stochastic volatility models with emphasis on PDE-based methods are introduced. Further, implementation of pricing methods in PYTHON is developed.

- Foundations and Implementation of efficient valuation of European and exotic contracts on jump-diffusions.
- Enable participants to develop and use Python implementations of these methods for the solution of pricing problems.
- Reformulation of the pricing problem as deterministic partial (integro) differential equation, for general Levy price processes and numerous types of contracts.
- Contracts covered range from algorithms for classical Black-Scholes pricing of European Vanillas to American puts to most recent, advanced methods for pricing in incomplete markets, with prices governed by jump-diffusion processes, and to pricing in the presence of stochastic volatility.
- Modelling, analysis and implementation of the algorithms will be emphasized throughout.

- Review of option pricing. Wiener and Lévy price process models. Deterministic, local and stochastic volatility models.
- Finite Difference methods for option pricing.
- Finite Element methods for European and American style contracts.
- Pricing under local and stochastic volatility in Black-Scholes markets.
- Finite Element methods for option pricing under Lévy processes. Treatment of integro-differential operators.
- Stochastic volatility models for Lévy processes.
- Techniques for multivariate problems. Baskets in a Black-Scholes setting and stochastic volatility models in Black-Scholes and Lévy markets.

- Continuous time financial modeling: Black-Scholes models, basic types of contracts: European, American call/put (equivalent to the course "Mathematical Foundations of Finance").
- Basic stochastic calculus (Brownian Motion, Ito's Lemma ... ), some knowledge about jump-diffusion processes as e.g., in the book "Financial Modeling with Jump Diffusions".
- Basic Numerical Mathematics (A.Quarteroni, R. Sacco and F. Saleri: Numerical Mathematics, Springer, 2000).
- Basic knowledge of PYTHON.

- Pre-recorded lectures will be put online on the moodle page each Wednesday, 13:00 at the latest.
- A question session with the lecturer will be held each Wednesday from 15:30 to 16:00. The zoom link is sent by email to all the students before the start of the course.
- The pre-recorded exercise classes will be put online on the moodle page each Friday, 13:00 at the latest.
- A question session with the TA will be held held each Friday from 14:15 to 15:00, starting on March 5th. The zoom link is the same as for the lectures.
- Exercise sheets will be published every Wednesday at 5pm, along with the solutions of the previous ones. Answers to the exercise sheets are due by the next Wednesday at 14:00.

The lecture recordings will be published on the moodle page of the course.

- Slides 1
- Slides 2
- Slides 3
- Slides 4a
- Slides 4b
- Slides 5a
- Slides 5b
- Slides 6
- Slides 7
- Slides 8
- Slides 9
- Slides 10

- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7 (American Options Discretization)
- Week 7 (Interest rate models)
- Week 8
- Week 9
- Week 10
- Week 11 (Stochastic volatility)
- Week 11 (Lévy Models)
- Week 12
- Week 13

- Problem sheet 1 , Python template , Solution , Python solution
- Problem sheet 2 , Python template , Solution , Python solution
- Problem sheet 3 , Python template , Solution , Python solution
- Problem sheet 4 , Python template , Solution , Python solution
- Problem sheet 5 , Solution , Python solution
- Problem sheet 6 , Python template , Solution , Python solution
- Problem sheet 7 , Python templates , Solution , Python solution
- Problem sheet 8 , Solution , Python solution
- Problem sheet 9 , Python template , Solution , Python solution
- Problem sheet 10 , Python template , Solution , Python solution
- Problem sheet 11 , Solution , Python solution

The course will involve programming in Python 3. Python is free and pre-installed on many platforms. It can be downloaded here.

The course will mainly be based on the following book:

- Y. Achdou, O. Pironneau: Computational Methods for Option Pricing, SIAM, 2005.
- R. Cont, P. Tankov: Financial Modelling with Jump Processes, Chapman and Hall, 2004.
- D. Lamberton, B. Lapeyre: Introduction to Stochastic Calculus Applied to Finance, Chapman and Hall, 1997, Chapters 4 and 5.
- T. von Petersdorff, C. Schwab: Wavelet Discretizations of Parabolic Integrodifferential Equations, SIAM J. Numer. Anal. Vol.41, No.1, 2003 (reference for slides 3).
- W. Schoutens: Levy Processes in Finance, Wiley, 2003.
- R. Seydel: Tools for Computational Finance, Springer, 2002.
- P. Wilmott, J. Dewynne, S. Howison: Option Pricing: Mathematical Models and Computation, Oxford Financial Press, 1993.

Exercice sheets and their solutions will be published regularly once the course starts (all protected documents have the same password). There will be weekly homework assignments, which are due on Wednesday, at 14:00.

Both the solutions to the theoretical questions and to coding problems must be handed in online using the submission interface. Only in case the submission does not work: send your codes via E-Mail to your assistant and point out your issue so that we can resolve it.

Submissions of problem sheets in a group are not allowed.

Each problem will be marked according to the following scheme:

- 0 - no submission
- 0.5 - incomplete or insufficient submission
- 1 - sufficient submission
- 1.5 - excellent submission.

- Students who need a numerical mark MUST take the written exam at the end of the semester. Students who acquire an average of 0.7 points or more per exercise, are given an additive bonus of 0.25 on their final grade (e.g. grade 4.5 (without bonus) will be grade 4.75 (with bonus)).
- Students who do not need a numerical mark (i.e. only require a "pass" grade, which includes D-MATH PhD students at ETH) must achieve an average of 0.7 points or more per problem. In case they did not achieve the required percentage of points in the weekly homework problem sheets, they can still achieve a "pass" by taking the final written exam.