Course Unit Page

Academic Year 2018/2019

Learning outcomes

The objective of the course is to address frontier topics in computational finance and muster the computational skills needed to tackle them. At the end of the course the student will have a working experience on selecting the most appropriate model and the capability to devise, and implement the numerical tools needed for problem at hand. The student will be able to judge the quality of the results from data analysis, and she will have enough knowledge to set up benchmarks to test for the accuracy of the numerical results. The topics addressed will refer to state-of-the-art issues in pricing, risk management and numerical techniques and programming languages. The student will be exposed, and gain proficiency, in rapid prototyping languages like Python and languages better suited to achieve high computational performance, like C/C++

Course contents

Introduction to the C and C++ languages

Introduction to a de-facto standard IDE: Eclipse

Structure of a large C/C++ project

Comparisons of python vs C/C++ implementations

Libraries, header files, environment variables

Applications to finance:

Vanilla options

Monte Carlo Simulations

Barrier options

Interest rate option


All the material will be provided by the teacher in form of lecture notes and code examples.

As a support any of the tutorial on 'Eclipse' e C/C++ language manuals wil be usefule

Teaching methods

All the work will be done in the lab were students will have the possibility to implement code related to the computational finance problems presented in class.

The teacher wil discuss in detail relevant computational finance problems and provide simple code outlining a solution. Students will be asked to implement a solution as: part of a large library of computational finance tools.

There will be three assignments as homework that will be considered as part of the assessment process.

Assessment methods

The assessment method calls for a joint project for teams of two students. Each team will receive a computational finance problem. They will be asked to split the problem in a 'general purpose' library part and an application part. They will have to define interfaces and one of them will implement the library part and one the application.The final exam will be a discussion of the implementation and two theoretical questions concerning the material presented in class.

Office hours

See the website of Pietro Rossi