Algorithmic Trading Model for Simple Momentum Strategy Using Python Take 2

SUMMARY: The purpose of this project is to construct and test an algorithmic trading model and document the end-to-end steps using a template.

Additional Notes: This is an adaptation of the momentum trading strategy from Chapter 2 of Learn Algorithmic Trading by Sebastien Donadio and Sourav Ghosh with Packt Publishing.

INTRODUCTION: This algorithmic trading model uses the support and resistance levels to generate trading signals for a momentum trading strategy. The strategy is to create a buy order when the stock price stays in the resistance tolerance margin after a waiting period. Conversely, the model generates a signal for a sell order when the stock price remains in the support tolerance margin after the same waiting period.

We apply the analysis on a stock for a fixed period and compare its return/loss to a simple long-only model. The long-only model will purchase the stock at the opening of day one and hold the stock through the entire time.

In iteration Take1, we constructed and tested a momentum trading model for the stock “GOOG” during the three years between 2017 and 2019 with an investment pool of 1,500 USD.

In this Take2 iteration, we will construct and test a momentum trading model for the stock “GOOG” during the three years between 2017 and 2019 with an investment pool of 1,500 USD. Instead, we will change the waiting period from two days to just one day.

ANALYSIS: In this Take1 iteration, the momentum trading strategy returned 30.18%. In the meantime, the long-only approach achieved an accumulated return of 37.16%.

In this Take2 iteration, the momentum trading strategy with a waiting period of one day returned 16.36%.

The trading strategy with a waiting period of three days returned 21.70%.

The trading strategy with a waiting period of four days returned 27.16%.

The trading strategy with a waiting period of five days returned 27.62%.

CONCLUSION: For this period, the momentum trading strategy did not outperform the more straightforward long-only approach, so we should consider modeling more and different methods for this stock.

Dataset ML Model: Time series analysis with numerical attributes

Dataset Used: Various sources as illustrated below.

Dataset Reference: Various sources as documented below.

The HTML formatted report can be found here on GitHub.