ICM142-Programming for Finance

Module Provider: ICMA Centre
Number of credits: 10 [5 ECTS credits]
Terms in which taught: Spring term module
Non-modular pre-requisites:
Modules excluded:
Current from: 2021/2

Module Convenor: Dr Vu Tran
Email: v.tran@icmacentre.ac.uk

Type of module:

Summary module description:

The module objective is to introduce the students to Object Oriented Programming using Python as the programming language, and to use the learning outcomes for data processing and applications in finance. It deals with how to write programming code whilst using conditional statements and loops, process data from files, receive input and display relevant output. Students who complete this course will be able to write programming functions in Python, process data files including reading, modifying and writing data to external files. Specifically, students will be able to read and write to Excel, CSV and Text files, connect to databases, obtain and process data from the Web, as well as use Python for Finance and Econometrics applications including developing event-based trading strategies and backtesting & optimising with historical data. 


  • Learning fundamentals of Objec Oriented Programming 

  • Fundamentals of Python 

  • Learning about Python Packages and IDE software 

  • Representing and working with data: tuples, lists, dictionaries and sets

  • Designing functions and organising larger programs into functions 

  • Array Operations, Random Numbers

  • Plotting, Data Visualisation via Matplotlib 

  • Utilising Pandas and Statsmodels libraries for financial time series analysis 

Assessable learning outcomes:

By the end of the module, it is expected that students will be able to:  

  • Write programming code in Python 

  • Programmatically process files  

  • Receive input and produce output  

  • Programmatically read from and write to Excel and CSV files  

  • Connect to databases  

  • Get and process data from the Web using Python  

  • Use Python for Quantitative, Finance and Econometrics applications  

  • Use Python to implement event driven trading strategies and backtesting these using historical data 

Additional outcomes:

The module also aims to enable students to apply what they learn in classroom by using programming tools to conduct a quantitative project in Finance, which makes use of financial data and programming techniques to read, analyse and use different variable and signals to develop an event driven trading strategy which can be back tested with historical data before implementation.

Outline content:

  • Introduction to Programming with Python 

  • Conditional Statements, Loops and writing functions in Python 

  • Reading from and writing to files: Python and Excel/CSV files 

  • Python and databases including connections to the Web 

  • Python and Finance/Econometrics 

  • Python and Trading 

Global context:

Python is now one of the most common introductory programming languages taught at universities across the world specifically for future development of programming Financial & FinTech applications worldwide. 

Brief description of teaching and learning methods:

Lectures will combine a theoretical framework and practical programming applications. Students will be able to directly apply what is being taught, as well as conduct quantitative assignments. There will be six 2-hour lectures and six 1-hour seminars. 

Contact hours:
  Autumn Spring Summer
Lectures 12
Seminars 6
Guided independent study:      
    Wider reading (independent) 25
    Wider reading (directed) 10
    Completion of formative assessment tasks 47
Total hours by term 0 100 0
Total hours for module 100

Summative Assessment Methods:
Method Percentage
Project output other than dissertation 70
Class test administered by School 30

Summative assessment- Examinations:

Summative assessment- Coursework and in-class tests:

Individual project – 70% of total final mark 

The individual project makes use of financial data and programming techniques to read, analyse and use different variables and signals to develop an event driven trading strategy which can be back tested with historical data before implementation. 

Assessment due: Week 35 & Week 39 on BlackBoard 

  • In-class test – 30% of total final mark 

  • In class multiple choice test in Week 29 

Formative assessment methods:

Seminar questions are assigned for each class. The seminar leader will facilitate discussion and offer feedback. 

Penalties for late submission:

Penalties for late submission on this module are in accordance with the University policy. Please refer to page 5 of the Postgraduate Guide to Assessment for further information: http://www.reading.ac.uk/internal/exams/student/exa-guidePG.aspx 

Assessment requirements for a pass:

50% weighted average mark 

Reassessment arrangements:

Re-submission of an individual project in August / September 

Additional Costs (specified where applicable):

1) Required text books  2) Specialist equipment or materials: 3) Specialist clothing, footwear or headgear: 4) Printing and binding: 5) Computers and devices with a particular specification: 6) Travel, accommodation and subsistence

Last updated: 8 April 2021


Things to do now