ICM177-Programming for Financial Engineering

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: ICM127 Stochastic Calculus and Probability
Modules excluded:
Current from: 2020/1

Module Convenor: Dr Naoufel El Bachir

Email: n.elbachir2@icmacentre.ac.uk

Type of module:

Summary module description:

This is a highly practical module. The students will be taught about building efficient programs within the scope of derivatives pricing; assessment will be based on building working code. The programming languages used in the course may vary depending on industry directions. The current focus will be on a combination of C++ and Python.


Aims:

The objective is to introduce the students to programming concepts and their usage for financial models implementation. By the end of the module, students should be able to produce a working and efficient code. Special emphasis is placed on coding style and some essential software engineering principles are introduced.


Assessable learning outcomes:

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




  • Design and construct simple pricing applications

  • Use classes and objects for pricing derivative securities


Additional outcomes:

Outline content:

To achieve good productivity, the following topics are covered: development, building, debugging, testing, and optimising code. Other tools used are source control with Git. Some widely used open-source libraries are introduced and used throughout the course.



(1) Fundamentals; Pointers, Function Overloading and Operator Overloading



(2) Classes and Objects



(3) Inheritance



(4) Applications in Financial Engineering

Brief description of teaching and learning methods:

The topics are introduced in the lectures which are then followed by assignments and practical workshops.


Contact hours:
  Autumn Spring Summer
Lectures 11
Practicals classes and workshops 11
Guided independent study:      
    Wider reading (independent) 10
    Advance preparation for classes 5
    Other 15
    Carry-out research project 48
       
Total hours by term 0 100 0
       
Total hours for module 100

Summative Assessment Methods:
Method Percentage
Written assignment including essay 30
Project output other than dissertation 70

Summative assessment- Examinations:

Summative assessment- Coursework and in-class tests:

1 group project, to be submitted in week 3 of Summer term



6 individual assignments


Formative assessment methods:

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:

As part of the overall examination arrangements for the MSc programme, individual project to be submitted in August/September (counts for 100% of the final mark).


Additional Costs (specified where applicable):

Required text books:




  1. Mark Joshi: C++ Design Patterns and Derivatives Pricing (Mathematics, Finance and Risk) Cambridge University Press, 2008, ISBN-10: 0521721628, £54.99.

  2. Yves Hilpisch: Python for Finance: Mastering Data-Driven Finance, 2nd edition, O’reilly, expected December 2018, ISBN-10: 1492024333

  3. Yves Hilpisch: Derivatives Analytics with Python, Wiley 2015, ISBN-10: 9781119037996


Last updated: 8 April 2020

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

Things to do now