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
    A repository to work on Machine Learning course. Select an algorithm to classify writer's gender, of Hebrew texts.

    MachineLearning A repository to work on Machine Learning course. Select an algorithm to classify writer's gender, of Hebrew texts. Tested algorithms:

    Haim Adrian 1 Feb 01, 2022
    neurodsp is a collection of approaches for applying digital signal processing to neural time series

    neurodsp is a collection of approaches for applying digital signal processing to neural time series, including algorithms that have been proposed for the analysis of neural time series. It also inclu

    NeuroDSP 224 Dec 02, 2022
    Anomaly Detection and Correlation library

    luminol Overview Luminol is a light weight python library for time series data analysis. The two major functionalities it supports are anomaly detecti

    LinkedIn 1.1k Jan 01, 2023
    Conducted ANOVA and Logistic regression analysis using matplot library to visualize the result.

    Intro-to-Data-Science Conducted ANOVA and Logistic regression analysis. Project ANOVA The main aim of this project is to perform One-Way ANOVA analysi

    Chris Yuan 1 Feb 06, 2022
    A Python library for detecting patterns and anomalies in massive datasets using the Matrix Profile

    matrixprofile-ts matrixprofile-ts is a Python 2 and 3 library for evaluating time series data using the Matrix Profile algorithms developed by the Keo

    Target 696 Dec 26, 2022
    Markov bot - A Writing bot based on Markov Chain for Data Structure Lab

    基于马尔可夫链的写作机器人 前端 用html/css完成 Demo展示(已给出文本的相应展示) 用户提供相关的语料库后训练的成果 后端 要完成的几个接口 解析文

    DysprosiumDy 9 May 05, 2022
    Tribuo - A Java machine learning library

    Tribuo - A Java prediction library (v4.1) Tribuo is a machine learning library in Java that provides multi-class classification, regression, clusterin

    Oracle 1.1k Dec 28, 2022
    Apache Liminal is an end-to-end platform for data engineers & scientists, allowing them to build, train and deploy machine learning models in a robust and agile way

    Apache Liminals goal is to operationalise the machine learning process, allowing data scientists to quickly transition from a successful experiment to an automated pipeline of model training, validat

    The Apache Software Foundation 121 Dec 28, 2022
    Extreme Learning Machine implementation in Python

    Python-ELM v0.3 --- ARCHIVED March 2021 --- This is an implementation of the Extreme Learning Machine [1][2] in Python, based on scikit-learn. From

    David C. Lambert 511 Dec 20, 2022
    李航《统计学习方法》复现

    本项目复现李航《统计学习方法》每一章节的算法 特点: 笔记摘要:在每个文件开头都会有一些核心的摘要 pythonic:这里会用尽可能规范的方式来实现,包括编程风格几乎严格按照PEP8 循序渐进:前期的算法会更list的方式来做计算,可读性比较强,后期几乎完全为numpy.array的计算,并且辅助详

    58 Oct 22, 2021
    Python package for stacking (machine learning technique)

    vecstack Python package for stacking (stacked generalization) featuring lightweight functional API and fully compatible scikit-learn API Convenient wa

    Igor Ivanov 671 Dec 25, 2022
    This is my implementation on the K-nearest neighbors algorithm from scratch using Python

    K Nearest Neighbors (KNN) algorithm In this Machine Learning world, there are various algorithms designed for classification problems such as Logistic

    sonny1902 1 Jan 08, 2022
    🚪✊Knock Knock: Get notified when your training ends with only two additional lines of code

    Knock Knock A small library to get a notification when your training is complete or when it crashes during the process with two additional lines of co

    Hugging Face 2.5k Jan 07, 2023
    Covid-polygraph - a set of Machine Learning-driven fact-checking tools

    Covid-polygraph, a set of Machine Learning-driven fact-checking tools that aim to address the issue of misleading information related to COVID-19.

    1 Apr 22, 2022
    Lightning ⚡️ fast forecasting with statistical and econometric models.

    Nixtla Statistical ⚡️ Forecast Lightning fast forecasting with statistical and econometric models StatsForecast offers a collection of widely used uni

    Nixtla 2.1k Dec 29, 2022
    🌲 Implementation of the Robust Random Cut Forest algorithm for anomaly detection on streams

    🌲 Implementation of the Robust Random Cut Forest algorithm for anomaly detection on streams

    Real-time water systems lab 416 Jan 06, 2023
    scikit-learn is a python module for machine learning built on top of numpy / scipy

    About scikit-learn is a python module for machine learning built on top of numpy / scipy. The purpose of the scikit-learn-tutorial subproject is to le

    Gael Varoquaux 122 Dec 12, 2022
    K-means clustering is a method used for clustering analysis, especially in data mining and statistics.

    K Means Algorithm What is K Means This algorithm is an iterative algorithm that partitions the dataset according to their features into K number of pr

    1 Nov 01, 2021
    AI and Machine Learning with Kubeflow, Amazon EKS, and SageMaker

    Data Science on AWS - O'Reilly Book Get the book on Amazon.com Book Outline Quick Start Workshop (4-hours) In this quick start hands-on workshop, you

    Data Science on AWS 2.8k Jan 03, 2023
    Fast Fourier Transform-accelerated Interpolation-based t-SNE (FIt-SNE)

    FFT-accelerated Interpolation-based t-SNE (FIt-SNE) Introduction t-Stochastic Neighborhood Embedding (t-SNE) is a highly successful method for dimensi

    Kluger Lab 547 Dec 21, 2022