Course Details

The USI DOV school consists of both introductory and advanced weekly modules for students with different backgrounds and study levels, having an interest in optimisation, data science and their applications to economics and finance. Depending on the student background and level, each of the four modules offered can be taken in isolation. Alternatively, students aiming for a complete self-contained overview of convex optimisation, data science and their applications to economics and finance, can opt for following all modules 1-4 in sequence.

Module 1 introduces students to essential concepts and skills necessary for a solid understanding of relevant topics in optimisation and data science and for a smooth transition to more advanced directions. Module 2 offers a systematic introduction to convex optimisation in the context of linear-quadratic programs, with applications focusing on key basic machine learning techniques. Module 3 covers general convex optimization problems, such as multi-criterium and infinite dimensional optimization, together with relevant applications to important open problems in empirical finance research. Module 4 focuses on additional advanced topics in machine learning, optimisation and computing, such as Gaussian process regression, deep neural networks and their numerical implementations.


Module 1: Boot Camp (1 July - 7 July 2020)  (taught online)
In this module, we will acquaint you with the basic language of mathematics and the basics of object-oriented programming in Python in an integrated approach. Normed vector spaces, Hilbert spaces, dual spaces, convexity and projections. Without a background in mathematics, these terms may appear shocking and intimidating. This need not be. With our innovative teaching approach, we will first reduce the basic mathematical ideas into simple geometric relations that we will be able to visualise. We will then help you understand the abstract formulations and apply them to any problem you may think of. Through linearity and convexity, we will be able to explore the useful field of convex optimisation, the study of uniquely solvable optimization problems. You will learn the mathematical foundation on which to build for the subsequent modules as well as data processing and techniques. Our platform of choice is Python within which we will get to know, among other libraries,  cvxopt. We expect you to have gone through the following courses

*) Introduction to Python

*) Intermediate Python for Data Science

*) Data science tool box 1

*) Python Object-Oriented Programming (OOP)


After registration you will receive a link for free completion of these courses.

Bootcamp (pdf, 58 Kb)


Module 2: Optimisation: Convex optimization and machine learning applications (8 July - 14 July 2020)  (taught online)

The first part of his module lays the foundations of convex optimisation methods in Euclidean spaces, with a focus on linear and quadratic programs. In parallel, the student is introduced to the high-level disciplined convex programming framework to formulate, implement and solve linear and quadratic programs in python. Moreover, in order to develop a solid understanding of computer optimization algorithms, specific solvers for linear and quadratic programs are developed from scratch. As a first example of an application of quadratic programs, we solve a number of optimal portfolio choice problems with various types of financial constraints. The second part of the module studies two broad technologies at the intersection of convex optimisation and machine learning: regularization methods and support vector machines. The first one collects state-of-the-art techniques enhancing common regression and classification methods to make them suitable for addressing, e.g., big data economic problems. The second one is a cornerstone in the machine learning literature and it is often competing, if not outperforming, classification and regression techniques based on neural networks for specific tasks such as market sentiment analysis or time series forecasting.

Convex optimization and machine learning (pdf, 89 Kb)


The content and skills of Module 1 and 2 are fundamental prerequisite.


Module 3: Data science and convex optimization methods for empirical finance (3 February - 9 February 2021)

This module covers recent applications of data science and optimisation methods to key questions in empirical finance. It provides a self-contained general introduction to convex optimization theory, including infinite-dimensional settings, and explains how it is used to address a number of important open issues in empirical finance, such as:

  • Real data asset allocation problems with frictions,

  • The detection of factor structures in cross-sections of assets,

  • Portfolio sorting techniques for characteristics-based return factors,

  • Model-free pricing kernels and optimal portfolios for large assets cross-sections.

We provide necessary mathematical backgrounds for understanding key notions and objects in these domains and we study interactively corresponding implementations in Python within Nuvolos (

Data science and convex optimization methods for empirical finance (pdf, 107 Kb)


Module 4: Optimisation: Applied machine learning (10 February – 16 February 2021)
This module brings you to the cutting edge of machine learning in finance and economics. You will discover supervised and unsupervised learning, by minimising corresponding cost functions, Gaussian process regressions and deep neural networks. The module will put emphasis on the application of these new methods with large data sets and their numerical implementation. As a convenient byproduct of this class, you will be acquainted with TensorFlow and Keras.

Applied machine learning (pdf, 128 Kb)