Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 3.02 KB

README.md

File metadata and controls

69 lines (49 loc) · 3.02 KB

PythonVSCODELaTeXGit

Table of Contents

Computational Finance Coursework

This report presents the implementation methodology and findings of investigations into three computational finance concepts; time series analysis, algorithmic trading and port- folio optimisation. For each part, the implementation and testing approaches are described and justified, and the results analysed.

Tasks

Part I - ARIMA Model

An ARIMA(2, 1, 1) model is implemented from scratch and is initially used for some simple forecasting.

Subsequently, daily prices are obtained from Microsoft (MSFT), Apple (APPL) and Tesco (TSCO) on the FTSE 100 index and are used to train and tune the hyperparameters of the ARIMA model via gradient descent.

The model is subsequently evaluated on a test set using the mean absolute percentage error (MAPE).

Part II - Algorithmic Trading

A pairs trading approach is applied to a suitable pair of stocks from the FTSE 100 index, identified by using the Pearson Correlation coefficient.

As a result, Tesco (TSCO) and Pershing Square Holdings Ltd (PSH) were selected for Pairs trading.

Two pairs trading strategies are then implemented and compared using the obtained returns on the test set as a metric for strategy performance.

Part III - Portfolio Optimisation

5 stocks (AutoTrader, Experian, Rightmove, Rolls Royce and Shell) are selected from the FTSE 100 index and split into training and test sets.

The returns and covariances of the stocks are estimated based on the training data.

An efficient portfolio is derived from the efficient frontier, that we derive from a grid search performed over all defined combinations of the weight vector. The resulting efficient portfolio is then compared to a baseline $\frac 1 n$ portfolio on the testset.

Final Report

The results and analysis are discussed in the final report.

Contributors

Charlie Powell

Benjamin Sanati

Oran Bramble