Please note: there may be some adjustments to the teaching arrangements published in the course catalogue for 2020-21. Given current circumstances related to the Covid-19 pandemic it is anticipated that some usual arrangements for teaching on campus will be modified to ensure the safety and wellbeing of students and staff on campus; further adjustments may also be necessary, or beneficial, during the course of the academic year as national requirements relating to management of the pandemic are revised.

C++ in Finance ECON5070

  • Academic Session: 2022-23
  • School: Adam Smith Business School
  • Credits: 20
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Semester 2
  • Available to Visiting Students: No

Short Description

Many problems in Economics, Finance or Financial Engineering cannot be solved to the point where a closed form solution can be obtained. Instead they have to be solved by use of numerical algorithms and techniques implemented on a computer. For many applications the industry standard programming language is C++. This course gives a comprehensive introduction to programming in C++ and covers some of the most frequently used applications in Finance. These include: Monte Carlo simulation for pricing complex financial derivatives; finite difference methods to solve partial differential equations such as the Black-Scholes equation; methods for the calibration of financial market models including volatility surfaces and term structures; GARCH models for high-frequency data and for forecasting. The implementation of these methods on the computer in C++ is a crucial component of the course.

It is expected that many of the computational finance techniques used will be covered in detail in the existing course "Applied Computational Finance" which is Matlab based. The newly proposed course will focus on C++ and programming techniques mainly, while the examples from Computational Finance will merely serve for programming exercises. To make the newly proposed course a stand alone unit, some time however will be spent to briefly illustrate these techniques, focusing on the intuition, rather than computational detail. This will enable students who are not taking "Applied Computational Finance" and

whose main motivation it is to acquire C++ programming skills to take this course, but on the other side make it more interesting and praxis relevant. For optimal learning results we do recommend students however to take the new course in combination with "Applied Computational Finance".

Timetable

10 weekly lectures in 2h blocks

10 computer labs at 1h each

Requirements of Entry

Please refer to the current postgraduate prospectus at: http://www.gla.ac.uk/postgraduate/ 

Excluded Courses

None

Co-requisites

Mathematical Finance (ECON5020)

Assessment

Students are assessed on the basis of coursework (25%) and a final exam (75%). The coursework is a computer project with aim to access the use of C and explain the implementation of a core technique in financial modelling in C++. Two topics will be suggested and the student will choose one. The final examination takes the form of a two-hour written paper.

Main Assessment In: April/May

Course Aims

There are two main aims of this course.

 

1. To familiarise students with the C++ programming language. C++ is an object-oriented language, and is very different from other programming languages currently used in the MSc programmes. The structure of the language will be covered in depth, which is necessary in order to develop applications for finance.

 

2. To introduce the student to implementing core techniques from financial modelling using the C++ programming language. The techniques include Monte Carlo simulation for pricing complex financial derivatives; finite difference methods to solve partial differential equations such as the Black-Scholes equation; methods for the calibration of financial market models including volatility surfaces and term structures; GARCH models for high-frequency data and for forecasting.

Intended Learning Outcomes of Course

 By the end of this course students will be able to:

 

■ generate random numbers with specified distributions

■ price options using the binomial tree method

■ carry out Monte Carlo simulations to price interest rate and credit derivatives

■ calibrate term structures and volatility surfaces

■ effectively use the PC to solve problems in Computational Finance

■ use object-oriented programming language C++

■ simulate stock prices and other financial variables

■ solve Black-Scholes type equation

 

Students will develop the following transferable skills :

 

■ Solving problems on the computer

■ Using the C++ programming language to solve real world problems

■ Many of the methods presented in this course apply to other problems in Economics and Finance, such as Risk-management etc.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.