Internal

ICM142 - Programming for Finance

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

Module Convenor: Dr Jaidev Singh

Email: jaidev.singh@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 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. 


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

Things to do now