Optimization Methods in Finance


Optimization Methods in Finance



Prof. Friedrich Eisenbrand


Thomas Rothvoß



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.
Especially the following topics will be covered.

  • 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

The lectures and the exercises will be given in English. We assume basic knowledge in linear algebra and basic programming knowledge in C++ or Matlab.


A total amount of 100 “course” points can be reached as follows

  • 30 course points from the midterm
  • 10 course points from the presentation of a theoretical exercise
  • 20 course points for practical exercises
  • 40 course points from the final exam
The 10 course points can already be gained by presenting a single theoretical exercise. There will be several practical exercises, which may be solved in groups. 60 course points suffice to pass the course. This is a 4-credit course.
To be more flexible in evaluation, the midterm exam gave up to 60 “midterm points”, i.e. if you have k midterm points, this gives you k/2 course points.
The practical exercises give the following amount of points:
  • Exercise 1: 2 practical points
  • Exercise 2: 4 practical points
  • Exercise 3: 2 practical points
  • Exercise 4: 4 practical points
  • Exercise 5: 2 practical points
  • Bonus project: 4 practical points
The total amount of practical points is 14 (even with the bonus project, you can not exceed 14 practical points = 20 course points), hence k practical points give you 20*min(k,14)/14 many course points.

A temporary list of reached points, can be found here.


Lectures: Wednesday, 14:15-15:45, MA A3 31

(First Lecture: 16.09.09)

Exercise sessions: (First Exercise session: 30.09.09)

  • Wednesday, 16:00-17:30, MA A3 31
  • Thursday, 17:00-18:30, MA A1 10

Midterm exam: November 11, during lecture

Final exam: January 16, 2010; 8:15h-10:15h in room MA A3 30. See the following announcement for more details.


September, 16
September, 23
September, 30

October, 7
October, 14
October, 21
October, 28
November, 4   (updated writeup  for ellipsoid method)
November, 18
November, 25
December, 2
December, 9 (updated)
December, 16



The exercises will take place as follows: For the i-th exercise sheet the students are supposed to solve the assignments in the tutorial in week 2i+1. The solutions will be discussed in week 2i+2.

Sheet 1 Solution 1

Sheet 2 Solution 2

Sheet 3 Solution 3

Sheet 4 Solution 4

Sheet 5 Solution 5

Sheet 6 Solution 6


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

Practical exercises


Practical Exercise 3


Practical Exercise 4

Example for the Frank-Wolfe algorithm

Practical Exercise 5 (updated)

Bonus project