Internal

ICM406: Programming for Finance

ICM406: Programming for Finance

Module code: ICM406

Module provider: ICMA Centre; Henley Business School

Credits: 20

Level: 7

When you'll be taught: Semester 1

Module convenor: Dr Vu Tran, email: v.tran@icmacentre.ac.uk

Pre-requisite module(s): Students are expected to have completed the 'Future of Work: Coding with Python for Business and Finance' pre-entry module before they start this module (Open)

Co-requisite module(s):

Pre-requisite or Co-requisite module(s):

Module(s) excluded:

Placement information: NA

Academic year: 2024/5

Available to visiting students: No

Talis reading list: No

Last updated: 19 November 2024

Overview

Module aims and purpose

This module introduces students to programming in finance. Programming skills are among the most desired in today’s data driven business landscape. Python and SQL languages have become an industry standard and are widely used to produce innovative financial products and services. Common applications include big data analysis and manipulation, algorithmic trading, portfolio analysis, and machine learning algorithms.  

Students who complete this course should be able to write programming functions in Python, process data files including reading, modifying and writing data to external files; to connect to databases and to obtain and process data from the Web, as well as, to use Python for Finance applications including developing trading strategies, and back-testing with historical data, estimate risk measurements, and evaluate the performance of the strategies.  

Students are expected to have completed the “Future of Work: Coding with Python for Business and Finance” pre-entry module before they start this module. 

Module learning outcomes

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

1. Demonstrate an appropriate academic knowledge of the fundamental concepts in Python programming and its applications in Finance, including (i) applying programming fundamental paradigms object-oriented programming (OOP), divide-and-rule technique; (ii) collecting large amount of data from different sources; (iii) writing Python codes for Investments, Risk Management and Finance applications.  

2. Analyse and handle datasets including from various online platforms, social media datasets and others; 

3. Apply and evaluate leading-edge practices in Investments, Risk Management and Finance.   

Module content

  1. Fundamentals of Python and object-oriented programming   
  2. Data science basics: NumPy and Pandas packages  
  3. Input / Output operations and excel integration   
  4. Data management and visualisation 
  5. Big data, relational databases, and Structural Sequence Languages (SQL)  
  6. Big data management with integrated Structural Sequence Languages (SQL) in Python 
  7. Mathematical tools and statistics – Portfolio optimisation  
  8. Monte Carlo simulations  
  9. Risk measurements in Python 
  10. Python and systematic trading – Incorporating signals and technical indicators 

Structure

Teaching and learning methods

Lectures will combine theoretical frameworks as well as the practical aspects of Python programming and relevant applications. Students will directly apply what they are being taught during seminars. In-person teaching will be supplemented with digital learning such as online Q&A sections, discussion boards, polling and video recordings.

Study hours

At least 30 hours of scheduled teaching and learning activities will be delivered in person, with the remaining hours for scheduled and self-scheduled teaching and learning activities delivered either in person or online. You will receive further details about how these hours will be delivered before the start of the module.


 Scheduled teaching and learning activities  Semester 1  Semester 2  Summer
Lectures 20
Seminars 10
Tutorials
Project Supervision
Demonstrations
Practical classes and workshops
Supervised time in studio / workshop
Scheduled revision sessions
Feedback meetings with staff
Fieldwork
External visits
Work-based learning


 Self-scheduled teaching and learning activities  Semester 1  Semester 2  Summer
Directed viewing of video materials/screencasts 10
Participation in discussion boards/other discussions 10
Feedback meetings with staff
Other
Other (details)


 Placement and study abroad  Semester 1  Semester 2  Summer
Placement
Study abroad

Please note that the hours listed above are for guidance purposes only.

 Independent study hours  Semester 1  Semester 2  Summer
Independent study hours 150

Please note the independent study hours above are notional numbers of hours; each student will approach studying in different ways. We would advise you to reflect on your learning and the number of hours you are allocating to these tasks.

Semester 1 The hours in this column may include hours during the Christmas holiday period.

Semester 2 The hours in this column may include hours during the Easter holiday period.

Summer The hours in this column will take place during the summer holidays and may be at the start and/or end of the module.

Assessment

Requirements for a pass

50% weighted average mark 

Summative assessment

Type of assessment Detail of assessment % contribution towards module mark Size of assessment Submission date Additional information
In-class test administered by School/Dept Test 40 1-hour Week 5 of Semester 1 Test combines Multiple choice questions and Coding challenges
Written coursework assignment Individual project 60 2,000 words Week 2-3 of Assessment Period in Semester 1 Individual project

Penalties for late submission of summative assessment

The Support Centres will apply the following penalties for work submitted late:

Assessments with numerical marks

  • where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day (or part thereof) following the deadline up to a total of three working days;
  • the mark awarded due to the imposition of the penalty shall not fall below the threshold pass mark, namely 40% in the case of modules at Levels 4-6 (i.e. undergraduate modules for Parts 1-3) and 50% in the case of Level 7 modules offered as part of an Integrated Masters or taught postgraduate degree programme;
  • where the piece of work is awarded a mark below the threshold pass mark prior to any penalty being imposed, and is submitted up to three working days after the original deadline (or any formally agreed extension to the deadline), no penalty shall be imposed;
  • where the piece of work is submitted more than three working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.

Assessments marked Pass/Fail

  • where the piece of work is submitted within three working days of the deadline (or any formally agreed extension of the deadline): no penalty will be applied;
  • where the piece of work is submitted more than three working days after the original deadline (or any formally agreed extension of the deadline): a grade of Fail will be awarded.

The University policy statement on penalties for late submission can be found at: https://www.reading.ac.uk/cqsd/-/media/project/functions/cqsd/documents/qap/penaltiesforlatesubmission.pdf

You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.

Formative assessment

Formative assessment is any task or activity which creates feedback (or feedforward) for you about your learning, but which does not contribute towards your overall module mark.

Reassessment

Type of reassessment Detail of reassessment % contribution towards module mark Size of reassessment Submission date Additional information
Written coursework assignment Individual project 100 2,000 words During the University resit period Individual Project

Additional costs

Item Additional information Cost
Computers and devices with a particular specification A computer with at least 8Gb RAM is recommended
Required textbooks Recommended book: Yves Hilpisch (2019) Python for Finance: Mastering Data-Driven Finance 2nd Edition £37.25
Specialist equipment or materials
Specialist clothing, footwear, or headgear
Printing and binding
Travel, accommodation, and subsistence

THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.

Things to do now