|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|
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.
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.
- 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.
- 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.