Search for contacts, projects,
courses and publications

Programming in Finance II


Gruber P.

Course director



Programming in Finance I

Keen interest in programming and quantitative problem solving


Good knowledge of a programming language is a powerful tool for researchers and practitioners. It is also a valuable skill in the labor market. This course introduces the students to advanced and powerful programming techniques. Building upon the foundation of Programming in Finance I, this course uses mostly R, but adds other tools where useful and necessary.

The course has the following goals:

  • Learn how to collaborate on R programs, write packages and contribute to the open source community
  • Learn how to deploy programs in cloud and parallel computing environments
  • Understand advanced optimization algorithms
  • Learn how to set up a basic data science toolchain
  • Understand machine learning algorithms

After this course, students should be able to collaborate on a complex R programming project in finance and data science.

Description / Program

The course is structured along computational concepts, not applications. The topics include

  • Collaborative development using git
  • Advanced elements of the R language: packages and parallel computing
  • Open souce software
  • Advanced and stochastic optimization
  • Setting up an R server in the cloud for data acquisition
  • Data science 101: finding, storing, validating, selecting, visualizing and modelling data
  • Creating interactive visualizations using R Shiny
  • From raw data to result: Setting up a replicable data science toolchain
  • Machine learning methods for textual data
  • *Python and/or solidity: how to make the first steps in a new programming language (optional, time permitting)

Learning Method / Style of Lessons

The course is organized in seven blocks of four hours. Each block introduces a new concept and employs learning-by-doing to move from theory to practice. Students start with short tutorial or reading before each class (flipped classroom). The course block itself starts with a presentation of a new concept. Next, we study a sample R program that illustrates this concept and try to understand the underlying ideas.

Students perform small individual tasks (mostly writing summaries) and collaborate on three to four larger programming projects.

Exam Style

33% Small individual tasks

67% Programming projects in small groups

Requested Material
Students should bring a laptop with R and R Studio installed to all classes.

To be discussed in the first lecture.