Algorithmic Trading Model for Simple Momentum Strategy Using Python Take 1

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 for two consecutive days. Conversely, the model generates a signal for a sell order when the stock price stays in the support tolerance margin for two straight days.

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 this Take1 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.

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%.

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.