Predict profitability of trades based on indicator buy / sell signals

Overview

Predict profitability of trades based on indicator buy / sell signals

Trade profitability analysis for trades based on various indicators signals:

  • MACD
  • Simple Moving Average
  • Exponential Moving Average

  • Trading assumptions:
    1. Trade is profitable if, profit >0
    2. Buy / sell happen the following day of the signal
    3. Buy / sell are taken 10% from the open price towards close price

    Machine learning assumptions:
    • Binary classification: 1 - profit, 0 - loss
    • A separate model for each company / ticker
    • Model is trained vs optimal precision

    Machine learning models used:
    1. Linear Support Vector Classifier
    2. Decision Tree Classifier
    3. Random Forest Classifier
    4. Gradient Boosting Classifier
    5. XGBoost Classifier
    6. Keras classifier

    Trade analysis intermediate results:
    30-40% of trades based on indicator signals are profitable
    In general trades on SMA signals are more often profitable than the ones based on EMA signals

    Trade profitability predictions intermediate results (based on test data)/
    The precision of the predictions is oscilating around 70%, which is pretty good, considering that the analysts estimate other signals accuracy as 30 to 50% (double top, shoulder & arms, etc). This means, there is ~70% chance that predicted trade will be profitable (Reminder: profitable -> profit > 0)
    However, the recall is only around 15%, which means that very the model pick-up very few of the actually profitable trades.

    #Detailed analysis tbc

    Owner
    Tomasz Porzycki
    Tomasz Porzycki
    Cool Python features for machine learning that I used to be too afraid to use. Will be updated as I have more time / learn more.

    python-is-cool A gentle guide to the Python features that I didn't know existed or was too afraid to use. This will be updated as I learn more and bec

    Chip Huyen 3.3k Jan 05, 2023
    Scikit-learn compatible wrapper of the Random Bits Forest program written by (Wang et al., 2016)

    sklearn-compatible Random Bits Forest Scikit-learn compatible wrapper of the Random Bits Forest program written by Wang et al., 2016, available as a b

    Tamas Madl 8 Jul 24, 2021
    Simple Machine Learning Tool Kit

    Getting started smltk (Simple Machine Learning Tool Kit) package is implemented for helping your work during data preparation testing your model The g

    Alessandra Bilardi 1 Dec 30, 2021
    A mindmap summarising Machine Learning concepts, from Data Analysis to Deep Learning.

    A mindmap summarising Machine Learning concepts, from Data Analysis to Deep Learning.

    Daniel Formoso 5.7k Dec 30, 2022
    InfiniteBoost: building infinite ensembles with gradient descent

    InfiniteBoost Code for a paper InfiniteBoost: building infinite ensembles with gradient descent (arXiv:1706.01109). A. Rogozhnikov, T. Likhomanenko De

    Alex Rogozhnikov 183 Jan 03, 2023
    Test symmetries with sklearn decision tree models

    Test symmetries with sklearn decision tree models Setup Begin from an environment with a recent version of python 3. source setup.sh Leave the enviro

    Rupert Tombs 2 Jul 19, 2022
    #30DaysOfStreamlit is a 30-day social challenge for you to build and deploy Streamlit apps.

    30 Days Of Streamlit 🎈 This is the official repo of #30DaysOfStreamlit — a 30-day social challenge for you to learn, build and deploy Streamlit apps.

    Streamlit 53 Jan 02, 2023
    Automated Machine Learning Pipeline with Feature Engineering and Hyper-Parameters Tuning

    The mljar-supervised is an Automated Machine Learning Python package that works with tabular data. I

    MLJAR 2.4k Jan 02, 2023
    Adaptive: parallel active learning of mathematical functions

    adaptive Adaptive: parallel active learning of mathematical functions. adaptive is an open-source Python library designed to make adaptive parallel fu

    741 Dec 27, 2022
    This jupyter notebook project was completed by me and my friend using the dataset from Kaggle

    ARM This jupyter notebook project was completed by me and my friend using the dataset from Kaggle. The world Happiness 2017, which ranks 155 countries

    1 Jan 23, 2022
    Real-time stream processing for python

    Streamz Streamz helps you build pipelines to manage continuous streams of data. It is simple to use in simple cases, but also supports complex pipelin

    Python Streamz 1.1k Dec 28, 2022
    Little Ball of Fur - A graph sampling extension library for NetworKit and NetworkX (CIKM 2020)

    Little Ball of Fur is a graph sampling extension library for Python. Please look at the Documentation, relevant Paper, Promo video and External Resour

    Benedek Rozemberczki 619 Dec 14, 2022
    scikit-learn: machine learning in Python

    scikit-learn is a Python module for machine learning built on top of SciPy and is distributed under the 3-Clause BSD license. The project was started

    neurodata 3 Dec 16, 2022
    K-Means clusternig example with Python and Scikit-learn

    Unsupervised-Machine-Learning Flat Clustering K-Means clusternig example with Python and Scikit-learn Flat clustering Clustering algorithms group a se

    Emin 1 Dec 13, 2021
    Neural Machine Translation (NMT) tutorial with OpenNMT-py

    Neural Machine Translation (NMT) tutorial with OpenNMT-py. Data preprocessing, model training, evaluation, and deployment.

    Yasmin Moslem 29 Jan 09, 2023
    (3D): LeGO-LOAM, LIO-SAM, and LVI-SAM installation and application

    SLAM-application: installation and test (3D): LeGO-LOAM, LIO-SAM, and LVI-SAM Tested on Quadruped robot in Gazebo ● Results: video, video2 Requirement

    EungChang-Mason-Lee 203 Dec 26, 2022
    Responsible Machine Learning with Python

    Examples of techniques for training interpretable ML models, explaining ML models, and debugging ML models for accuracy, discrimination, and security.

    ph_ 624 Jan 06, 2023
    Winning solution for the Galaxy Challenge on Kaggle

    Winning solution for the Galaxy Challenge on Kaggle

    Sander Dieleman 483 Jan 02, 2023
    scikit-learn models hyperparameters tuning and feature selection, using evolutionary algorithms.

    Sklearn-genetic-opt scikit-learn models hyperparameters tuning and feature selection, using evolutionary algorithms. This is meant to be an alternativ

    Rodrigo Arenas 180 Dec 20, 2022
    Kaggle Competition using 15 numerical predictors to predict a continuous outcome.

    Kaggle-Comp.-Data-Mining Kaggle Competition using 15 numerical predictors to predict a continuous outcome as part of a final project for a stats data

    moisey alaev 1 Dec 28, 2021