CS971 – Evolutionary Computation For Finance

Credits 20
Level 5
Semester 2
Prerequisites N/A
Availability Available only to MSc Quantitative Finance students
Contact Lectures: 10 | Tutorials: 0 | Labs: 30 | Homework/Private Study: 160
Assessment Several individual assignments (50%), and one two-hour examination (50%)
Resit By examination (2 hour)
Lecturer Dr Marc Roper

General Aims

This class aims to provide an overview of the application of evolutionary computation techniques – those which mimic natural evolutionary processes (genetic algorithms, genetic programming and neural networks in particular) – to a range of financial applications such as forecasting, portfolio optimisation and algorithmic trading.

The course is very practical in its nature: much of the learning is achieved via a number (around 4) of assessed small mini-projects, and students are expected to develop solutions to problems using evolutionary computation techniques, evaluate these on real data sets, and compare them with other more traditional approaches. Consequently , a large amount of self-directed study and learning is expected.

Learning Outcomes

After completing this class participants will be able to:

  • Understand the benefits and opportunities for evolutionary computing in the context of financial applications.
  • Understand the principles of evolutionary computation: genetic programming and genetic algorithms in particular, and also neural networks (particularly those configurations most suited to time series data).
  • Understand how the computational approaches covered in the class may be applied to financial problem solving and understand their limitations.
  • Develop and evaluate practical solutions to finance-based problems.


Part 1

  • Programming using R (Students will have some familiarity with R, typically from a statistic point of view, but this initial section looks at its use as a programming language)
  • Principles of genetic algorithms and genetic programming
  • Portfolio Optimisation – This topic looks at how you can use evolutionary algorithms, and GAs in particular, to develop an optimal portfolio – a balanced set of investments that will yield the best return for the least risk
  • Principles of basic neural networks
  • Forecasting and Predication – This topic looks at how it is possible to use genetic programming and/or neural networks to generate predictive functions for time-series data.

Part 2

  • Advanced Neural Network configurations (e.g. RNNs and LSTMs)
  • Algorithmic Trading – This topic looks at the application of both Neural Networks potentially combined with GAs or GP to identify automatically at what point a trade should be executed, and evaluate the effectiveness of the strategy through backtesting.

Recommended Text/Reading

The class lecturer will recommend a mixture of specific and generic references for each part of the course. Where possible, free online material will be recommended.