Code Monkey home page Code Monkey logo

predicting-the-pound's Introduction

Predicting the Pound (Master's Level Dissertation Project)

Predicting the Pound is the project I undertook as part of my dissertation module whilst studying for my MSc Finance degree at Newcastle University Business School. The focus of the project was to investigate the performance of various volatility models, specifically GARCH-type and Implied Volatility, when attempting to forecast the volatility of the GBP/USD and EUR/GBP currency pairs. This repository contains the various Python scripts used to evaluate the models and my final submitted dissertation paper.

The Dataset

In this project, I downloaded daily price data for each of the currency pairs from Yahoo Finance from a period ranging between June 2018 to June 2023. The raw data contained the open, close, high and close prices for each currency pair as well as the Adjusted Close prices and the daily trading volume. This data was then cleaned to focus solely on the close prices each day.

As volatility is not directly observable, it was necessary to select an appropriate proxy for its value. While there is much discourse in the academic literature as to the most appropriate proxy for this, we opt to use the 20-day standard deviation of returns. This results in much less noisy data than the absolute values of daily returns (another potential proxy), making it much more useful for forecasting.

The Models

Whilst the focus of the project was on the performance of GARCH-type and Implied Volatility models, an Exponentially Weighted Moving Average model (EWMA) was applied as a baseline. Of the various GARCH-type models available, GARCH, EGARCH, GJR-GARCH and TGARCH were used in this projects experiments. In order to select the best parameter sets for each model, we iterated through all possible combinations of p and q between 1 and 5, selecting up to parameter sets for each model by selecting the sets with the best AIC and BIC scores.

For the implied volatility models, a two simple OLS regression models were used. The first had only one variable; the implied volatility value of the previous day. The second had two variables; the implied volatility AND realised volatility values of the previous day.

The Results

The results of the experiments showed GJR-GARCH to be one of the best models for forecasting the volatility in both pairs, however for the EUR/GBP pair, the regression model containing implied and realised volatility values also performed very well.

In addtion to finding out which model provides the best forecasts of volatility, some other intersting details were found. For one, a statistical break down of the coefficients in the fitted GARCH-type models suggested the existence of asymmetrical returns in the EUR/GBP pair but not in the GBP/USD pair. In addtion to this, we also saw that in the in-sample data, modelling the residuals in the GARCH models as a Student's T-distribution provided a better fit that a standard normal distribution.

Future Work

The fact that the predictive performance of the models varies between the two datasets, suggest that there is not one model that definitively provides the best fit across all assets and that the results of the experiments carried out in this project are only relevant to the GBP/USD and EUR/GBP currency pairs. As such it would be interesting in future to repeat the undertaken analysis on various other currency pairs, including those not containing the pound. One factor that could be interesting is to compare the performance of the models across both major and minor currency pairs to see if the different characteristics between them (such as lower trading volume in minor pairs) has an effect on the models suitability.

Feedback

The final mark received for the whole project was 82%. Feedback from my supervisor, Prof. Robert Sollis, can be seen here.

By boyla950.

predicting-the-pound's People

Contributors

boyla950 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.