/five-minute-midas

Predicting Profitable Day Trading Positions using Decision Tree Classifiers. scikit-learn | Flask | SQLite3 | pandas | MLflow | Heroku | Streamlit

Primary LanguagePythonMIT LicenseMIT

Five Minute Midas

The most famous King Midas is popularly remembered in Greek mythology for his ability to turn everything he touched into gold. - Wikipedia

Overview

  • Predicting profitable day trading positions by fitting a random forest classifier on historical minute-level stock price data
  • Independent end-to-end machine learning project, from data collection to model deployment
  • Try the Web App Demo!

Features

  • Data collection from Yahoo Finance (SQLite3)
  • Data transformation, feature engineering (pandas)
  • ML model training, tuning and tracking (scikit-learn, MLflow)
  • ML model deployment: API and web app (Flask, Streamlit)

Data Pipeline

Installation

  • Use requirements.txt for the demo.
  • Use requirements_full.txt for all scripts.

Methodology

  • Minute-level price data is extracted, and filtered to those with Bullish RSI Divergence
  • These filtered points and their respective profit/loss outcomes are used to train an ML classifier
  • With the trained model, we can try to predict future profit/loss outcomes

Credits

  • Price data extracted with the help of the yfinance library, created and maintained by Ran Aroussi and other contributors

Contact

Michael Ow @ LinkedIn