COMP7406A - Software development for quantitative finance

Semester 2, 2017-18

Dr. C.D. Shum
Teaching assistant
Mr. Chun Fai Chan
Syllabus This course introduces the tools and technologies widely used in industry for building applications for Quantitative Finance. From analysis and design to development and implementation, this course covers: modeling financial data and designing financial application using UML, a de facto industry standard for object oriented design and development; applying design patterns in financial application; basic skills on translating financial mathematics into spreadsheets using Microsoft Excel and VBA; developing Excel C++ add-ins for financial computation.
Introduction by Instructor Interested in jobs in the financial sector, including investment banks, hedge funds, asset management firms and security companies? Jobs like software developer for financial products pricing and risk management, technical support for front/middle office or middle office. In additional to a good understanding of financial concepts, the ability to translate the theories and models into working programs is of ultimate importance. Looking at the screens of traders on trading floors, Excel spreadsheet is a ubiquitous tool. The skill to translate financial calculations into spreadsheets using Excel and VBA is still and will continue to be in high demand. This module presents a comprehensive approach for developing simple to sophisticated financial models using both Excel and VBA. In software development, much of the financial infrastructure has been based on C++ code and programmers need to maintain and extend it. This might be quantitative libraries running derivatives pricing models or simply trading infrastructure to process feeds and store the data. The ability to work with quantitative libraries is a valuable asset. Using a few representative examples and understanding its object oriented design patterns, this module introduces Quantlib (an open source software framework for quantitative finance). As quoted from the web page, knowing Quantlib “Students could master a library that is actually used in the real world and contribute to it in a meaningful way. This would potentially place them in a privileged position on the job market.” Extending the functionalities of Excel using C++ add-ins is another common undertaking in financial applications. This module illustrates add-ins development.
Learning Outcomes
Course Learning Outcomes Relevant Programme Learning Outcome
CLO1. Understanding financial concepts. PLO.8, 9, 10, 11
CLO2. Able to translate financial models/calculations into spreadsheet applications using Excel and VBA. PLO.5, 6, 7, 8, 9, 10, 11, 12, 16
CLO3. Able to develop and integrate software component in large sophisticated financial library. PLO.5, 6, 7, 8, 9, 10, 11, 12, 16
View Programme Learning Outcomes
Pre-requisites This course assumes basic understanding of financial concepts covered in COMP7802. Experience in C++/C programming is required.
Compatibility Nil
Topics covered
Course Content No. of Hours Course Learning Outcomes
1. Financial concepts. 10  CLO1
2. Translating financial models/calculations into spreadsheet applications using Excel and VBA. 12 CLO2
3. Introducing Quantlib and understanding the object oriented design patterns in large sophisticated financial library. Functionalities enhancement on Quantlib. 8 CLO3
Description Type Weighting * Examination Period ^ Course Learning Outcomes
  Continuous Assessment 30% - CLO2
  Continuous Assessment 20% - CLO3
Final Examination Written Examination 50% May 7 to 26, 2018 CLO1, CLO2
* The weighting of coursework and examination marks is subject to approval
^ The exact examination date uses to be released when all enrolments are confirmed after add/drop period by the Examinations Office.  Students must oblige to the examination schedule. Students should NOT enrol in the course if they are not certain that they will be in Hong Kong during the examination period.  Absent from examination may result in failure in the course. There is no supplementary examination for all MSc curriculums in the Faculty of Engineering.
Course materials

The following additional references are useful for advanced students who would like to go into more breadth and depth in the subject matter. They are not meant to be textbooks. Hence, if you do not understand anything about the course, the best channel is to ask the professor or tutor rather than to read the additional references.

  • Mastering Financial Calculations: A Step-by-Step Guide to the Mathematics of the Markets, Robert Steiner, Prentice Hall (Financial Times), 2012.
  • Advanced modelling in finance using Excel and VBA, Mary Jackson and Mike Staunton, John Wiley, 2001.
  • Financial Applications using Excel add-in development in C/C++, Second Edition, Steve Dalton, John Wiley, 2007.
Session dates
Date Time Venue Remark
Session 1 17 Jan 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 2 24 Jan 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 3 31 Jan 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 4 7 Feb 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 5 14 Feb 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 6 28 Feb 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 7 21 Mar 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 8 4 Apr 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 9 11 Apr 2018 (Wed) 7:00pm - 10:00pm JL-G05  
Session 10 18 Apr 2018 (Wed) 7:00pm - 10:00pm JL-G05  
JL - James Hsioung Lee Science Building
Add/drop 15 January, 2018 - 28 January, 2018
Quota 100