Optimization Methods in Finance


Many computational problems in finance can be solved by optimization techniques. This course will cover a selection of such methods which are nowadays the basis of many products offered by financial service providers. The students will get to learn the main optimization techniques and will be anabled use them to solve typical optimization problems arizing in finance.


  • Linear Programming: Computing a dedicated bond portfolio, asset pricing
  • Quadratic Programming: Portfolio Optimization (Markowitz model)
  • Integer Programming: Constructing an index fund
  • Dynamic Programming: Option Pricing, Structuring asset backed securities
  • Stochastic Programming: Asset/Liability management


Tuesday 16:15-19:15 (2h Lecture, 1h Exercise)

First Lecture: September 16
Last Lecture: December 16
Room Change: Starting from November 4, lecture and exercise are in room CE 1 101


  • Linear Algebra
  • Basic Probability
  • Some experience with algorithms and coding (no particular programming language)


During this course a small number of real-world problems has to be modeled and solved with software tools. The students solutions have to be presented in a seminar.
You can find a description how to install ZIMPL and QSOpt here: Installation Guide

The practical exercises can be done in groups up to 3 students. Each group is asked to shortly present their outcome with 2-3 slides in front of the auditory.

October 7: Presentation of exercise 1.6



G. Cornuejols and R. Tütüncü: Optimization Methods in Finance, Cambridge


The first assignment sheet is available in the 2nd week; the next one follows 2 weeks later. In the tutorial one week after release, the students may ask questions concerning the current exercises (or the lecture). In the tutorial 2 weeks after release of the sheet, the exercises are discussed in such a way that students will present the solutions. There is neither a submission nor a correction of the exercise sheets.
Exercise sheet 1
Exercise sheet 2
Exercise sheet 3
Exercise sheet 4 Solution
Exercise sheet 5
Exercise sheet 6

September 30: Question on sheet 1
October 7: Discussion of sheet 1
October 14: Question on sheet 2
October 21: Discussion of sheet 2
October 28: Question on sheet 3
November 4: Discussion of sheet 3
November 11: Question on sheet 4
November 18: Discussion of sheet 4
December 2: Question on sheet 5
December 9: Presentation of CVar minimization
December 16: Discussion of sheet 6

Additional Material

Under the following link you can find historical data that you could use for practical exercise 2.6 (but you do not need to use it). The file contains a table in the R format (R is a program used in statistics; you can load the table for example via read.table(“path of swx_hist_swissquote.dat”, header=TRUE) from R), but it can be easily imported into Excel. The first row contains names of companies, followed by weekly stock values (447 weeks in total) starting at 16.03.98.
You can find Dow Jones index together with all components on a daily or monthly base (1st column is date, 2nd is Dow Jones index, then prices of contained assets follow).



Covered Topics / Slides

September 16
September 23 (updated)
September 30: Simplex working example, Markowitz Model
October 7
October 14
October 21
October 28 (updated, 2nd ed.)
November 4
November 11: Midterm. See also the Announcement
November 18
November 25
December 2
December 9
Additional Material: Chapter 5 in Algorithmic Game Theory (see also here)
December 16


The final grade is determined from the grades of the midterm (30%), oral presentation of practical work  (30%), and final exam (40%). Both, the midterm and final exam are written exams of 120 min. The final exam will take place on tuesday, 27.01.09, 11:00h-13:00h in room MA A1 10. See also the announcement.


Friedrich Eisenbrand


Thomas Rothvoss