ICM316-Programming for FinTech (Python)

Module Provider: ICMA Centre
Number of credits: 20 [10 ECTS credits]
Level:7
Terms in which taught: Autumn term module
Pre-requisites:
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2023/4

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

Type of module:

Summary module description:

In this module you will be introduced to Python, a programming language that has become an industry standard and is 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 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 applications including developing trading strategies, testing with historical data, estimate risk measurements, and evaluate the performance of the strategies. By the end of the module students are expected to produce a simple Python application to solve real world financial problems.



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.


Aims:

The module focuses on (1) Computational programming fundamentals (2) fundamentals of object-oriented programming (3) Python step by step: conditional statements, functions, sequences and loops (4) key Python libraries for data management, visualisation and statistical analysis which include financial time series regressions and portfolio optimisation (5) input / output operations with excel integration (6) big data, relational databases and integrated SQL in Python; (7) rapid web applications and web services integration (8) finance applications: algorithmic trading, Monte Carlo simulations, asset pricing models (9) Estimate and evaluate risk and performance of investment vehicles.



 


Assessable learning outcomes:

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




  • Discuss the principles behind object-oriented programming 

  • Implement divide-and-rule techniques to solve problems with Python 

  • Implement Python’s syntax for conditional statements, functions and loops 

  • Upload, organise, manipulate, visualise and export databases of various formats  

  • Retrieve data from a web-based database and complete textual analysis 

  • Solve portfolio optimisation problems, algorithmic trading, asset pricing models and Monte Carlo simulations


Additional outcomes:

Students will be able to consolidate their knowledge of the tools and strategies learnt in this module by completing a project where they will be asked to build a Python programme to solve a practical finance problem


Outline 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 integrated 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. Python and systematic trading – Incorporating signals and technical indicators 



10. Introductory Machine Learning



11. Textual analysis, traders chat room, online forums and investments


Global context:

The finance application in this module will be based on international examples. Python is one of the most common programming languages for FinTech applications worldwide. For example:  




  • Athena -- J.P. Morgan's cross-market risk management and trading system that provides functionality for traders, salespeople and operations staff globally; 

  • Quartz -- Bank of America Merrill Lynch's integrated trading, position management, pricing and risk management platform; 

  • Venmo -- a mobile payment service owned by PayPal which allows users to transfer money to others using a mobile phone app. 


Brief description of teaching and learning methods:

The core theory and concepts will be presented during lectures. Problem sets will be solved in workshops.



Extra learning materials:



(1) If Python is your first coding language, do the tutorial at following websites:



      https://www.w3schools.com/python/default.asp



      https:/ /www.learnpython.org 



      https://www.codecademy.com/learn/learn-python-3



(2) If you have coded before, work through the challenges at 



      https://www.hackerrank.com/domains/python


Contact hours:
  Autumn Spring Summer
Lectures 20
Seminars 12
Guided independent study:      
    Wider reading (independent) 48
    Wider reading (directed) 20
    Preparation for seminars 20
    Revision and preparation 30
    Carry-out research project 30
    Reflection 20
       
Total hours by term 200 0 0
       
Total hours for module 200

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

Summative assessment- Examinations:

Summative assessment- Coursework and in-class tests:

Students will be asked to complete: 




  • A 1-hour in-class test (40%) in Week 11

  • A group project (60%) in Week 20. The recommended word count is 2,000 words.


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:

By individual project to be submitted in August/September


Additional Costs (specified where applicable):

1) A computer with at least 8Gb RAM. 



2) Recommended e-book: 



Yves Hilpisch (2019) Python for Finance: Mastering Data-Driven Finance 2nd Edition. 



Guide price: £37.25


Last updated: 30 March 2023

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

Things to do now