ICM142-Programming for Finance
Module Provider: ICMA Centre
Number of credits: 10 [5 ECTS credits]
Level:7
Terms in which taught: Spring term module
Pre-requisites:
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2019/0
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 as well as the ability to use Python for textual analysis. 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.
Aims:
Learning fundamentals of Object 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.
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 |
Method | Percentage |
Project output other than dissertation | 100 |
Summative assessment- Examinations:
100% of the total final assessment mark.
Summative assessment- Coursework and in-class tests:
Individual project – 100% 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 38 on BlackBoard
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% final mark for the project.
Reassessment arrangements:
Re-submission of an individual project in August / September
Additional Costs (specified where applicable):
1) Required text books: Python for Finance by Yuxing Yan, PACKT Publishing, ISBN-10: 1783284374, RRP: £27.99
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 2019
THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.