IC208-Programming for Finance

Module Provider: ICMA Centre
Number of credits: 20 [10 ECTS credits]
Level:5
Terms in which taught: Spring term module
Pre-requisites: IC104 Introductory Quantitative Techniques for Business and Finance
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:

The module objective is to introduce the students to Object Oriented Programming using Python as the main programming language, and to use the learning outcomes for data processing and applications in Finance. It covers the basics of programming, including class, objects, datatypes, conditional statements and loops, processing data from files, receiving inputs and displaying relevant outputs. Students who complete this course should be able to write simple programming functions in Python, process data files including reading, and modifying and writing data to external files. Additionally, students should be able to read and write to Excel and CSV files, connect to databases, obtain and process data from the Web, as well as use Python for Finance and Econometrics.



 


Aims:


  • Learning fundamentals in Python programming including Object Oriented Programming 

  • Learning about Python Packages and IDE software

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

  • Designing functions and organising larger programs into functions

  • Array Operations, Random Numbers

  • Data Management in Python

  • Data Visualisation in Python

  • Regression analysis including time series, cross-sectional, and panel data analyses.


Assessable learning outcomes:

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




  • Write programming codes in Python for various applications in finance and business

  • Programmatically process large numbers of files 

  • Programmatically read from and write to large numbers of Excel and CSV files 

  • Connect to databases 

  • Get and process data from the Web using Python 

  • Use Python for Quantitative, Finance and Econometrics applications


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 historical data and programming techniques to read, analyse and use different variable and signals for a decision making process such as designing a trading strategy.



 


Outline content:


  • Introduction to Programming with Python

  • Class, Object, Variables, Datatypes

  • Conditional Statements, Loops and writing functions in Python

  • Important Python libraries including Numpy, Pandas

  • Pandas for data management

  • Data visualisation

  • Python I/O, interacting with the OS system, reading/writing from/to files

  • Using Python to connect to databases including connections to the Web

  • Using Python for applications in Finance/Econometrics


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 as well as practical programming applications. Students are shown how to directly apply what they are being taught, as well as how to conduct quantitative assignments.


Contact hours:
  Autumn Spring Summer
Lectures 20
Practicals classes and workshops 10
Guided independent study:      
    Wider reading (independent) 40
    Wider reading (directed) 10
    Advance preparation for classes 10
    Preparation for tutorials 10
    Completion of formative assessment tasks 80
    Revision and preparation 20
       
Total hours by term 0 200 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:

One 1-hour class test – 40% of the final mark

Test date: Week 27 - 29



Group project – 60% of total final mark

The project makes use of historical data and programming techniques to read, analyse and use different variables and signals for a decision-making process.

Recommended word count: 1,500

Project due date: Week 32 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:

submission are automatically generated):



Penalties for late submission on this module are in accordance with the University policy. Please refer to page 5 of the Undergraduate Guide to Assessment for further information: http://www.reading.ac.uk/web/files/exams/UgGuide-2015-16.pdf


Assessment requirements for a pass:

Final overall mark of 40%.


Reassessment arrangements:

Re-submission of an individual project in August / September


Additional Costs (specified where applicable):

1) A computer with at least 8Gb RAM. 



2) Recommended textbook: 



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