TIMETABLE | TEACHING MATERIAL |
Credits | 20 |
Level | 5 |
Semester | 2 |
Prerequisites | N/A |
Availability | Mandatory |
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 hours) |
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.
Syllabus
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.