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: 2022/3
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.
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 |
Method | Percentage |
Project output other than dissertation | 70 |
Class test administered by School | 30 |
Summative assessment- Examinations:
Summative assessment- Coursework and in-class tests:
One class test – 30% of the final mark
Individual project – 70% of total final mark to be submitted in Week 32 on BlackBoard
The individual project makes use of historical data and programming techniques to read, analyse and use different variables and signals for a decision making process.
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: 22 September 2022
THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.