All Projects → RiccardoM → Forex-and-Stock-Python-Pattern-Recognizer

RiccardoM / Forex-and-Stock-Python-Pattern-Recognizer

Licence: MIT license
A machine learning program that is able to recognize patterns inside Forex or stock data

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Forex-and-Stock-Python-Pattern-Recognizer

robinhood.tools
📈🤑💰 Advanced trading tools and resources for Robinhood Web.
Stars: ✭ 27 (-79.85%)
Mutual labels:  forex-trading, stock-trading
Deep Learning Drizzle
Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Computer Vision, and NLP by learning from these exciting lectures!!
Stars: ✭ 9,717 (+7151.49%)
Mutual labels:  pattern-recognition
CROHME extractor
CROHME dataset extractor for OFFLINE-text-recognition task.
Stars: ✭ 77 (-42.54%)
Mutual labels:  pattern-recognition
Competitive-Feature-Learning
Online feature-extraction and classification algorithm that learns representations of input patterns.
Stars: ✭ 32 (-76.12%)
Mutual labels:  pattern-recognition
MomentToolbox
Matlab code for the paper "A survey of orthogonal moments for image representation: Theory, implementation, and evaluation"
Stars: ✭ 13 (-90.3%)
Mutual labels:  pattern-recognition
scikit-maad
Open-source and modular toolbox for quantitative soundscape analysis in Python
Stars: ✭ 21 (-84.33%)
Mutual labels:  pattern-recognition
calcipher
Calculates the best possible answer for multiple-choice questions using techniques to maximize accuracy without any other outside resources or knowledge.
Stars: ✭ 15 (-88.81%)
Mutual labels:  pattern-recognition
Median-and-Turbo-Renko-indicator-bundle
MQL5 header file for 'Median and Turbo renko indicator bundle' available for MT5 via MQL5 Market. The file lets you easily create a Renko EA in MT5 using the Median Renko indicator.
Stars: ✭ 68 (-49.25%)
Mutual labels:  forex-trading
Ta Lib
Python wrapper for TA-Lib (http://ta-lib.org/).
Stars: ✭ 6,034 (+4402.99%)
Mutual labels:  pattern-recognition
Real-Time-Abnormal-Events-Detection-and-Tracking-in-Surveillance-System
The main abnormal behaviors that this project can detect are: Violence, covering camera, Choking, lying down, Running, Motion in restricted areas. It provides much flexibility by allowing users to choose the abnormal behaviors they want to be detected and keeps track of every abnormal event to be reviewed. We used three methods to detect abnorma…
Stars: ✭ 35 (-73.88%)
Mutual labels:  pattern-recognition
face-recognition
A GPU-accelerated real-time face recognition system based on classical machine learning algorithms
Stars: ✭ 24 (-82.09%)
Mutual labels:  pattern-recognition
vf3lib
VF3 Algorithm - The fastest algorithm to solve subgraph isomorphism on large and dense graphs
Stars: ✭ 58 (-56.72%)
Mutual labels:  pattern-recognition
comparing-trajectory-clustering-methods
Comparing Different Clustering Methods and Similarity Metrics on Trajectory Datasets
Stars: ✭ 82 (-38.81%)
Mutual labels:  pattern-recognition
Sig
The most powerful and customizable binary pattern scanner
Stars: ✭ 131 (-2.24%)
Mutual labels:  pattern-recognition
Mathai
一个拍照做题程序。输入一张包含数学计算题的图片,输出识别出的数学计算式以及计算结果。This is a mathematic expression recognition project.
Stars: ✭ 1,965 (+1366.42%)
Mutual labels:  pattern-recognition
AI booklet CE-AUT
Booklet and exam of Artificial Intelligence Master Degree at Amirkabir University of technology.
Stars: ✭ 14 (-89.55%)
Mutual labels:  pattern-recognition
Metaboverse
Visualizing and Analyzing Metabolic Networks with Reaction Pattern Recognition
Stars: ✭ 17 (-87.31%)
Mutual labels:  pattern-recognition
ECoL
Extended Complexity Library in R
Stars: ✭ 45 (-66.42%)
Mutual labels:  pattern-recognition
TradeTheEvent
Implementation of "Trade the Event: Corporate Events Detection for News-Based Event-Driven Trading." In Findings of ACL2021
Stars: ✭ 64 (-52.24%)
Mutual labels:  stock-trading
Higra
Hierarchical Graph Analysis
Stars: ✭ 84 (-37.31%)
Mutual labels:  pattern-recognition

Forex and Stock Python Pattern Recognizer

WARNING

This project is no longer maintained.
I created this project during my University times, but now I do not have the time nor willing to continue this by myself.
The repo will be put on read-only mode, but you are free to clone/fork it as you prefer to continue the work I've done.

Introduction

This project represents a machine learning program that is able to recognize patterns inside Forex or stock data.

Data used

Currently all the data loaded are the ones represented inside the GBPUSD1d.txt file, which contains bids and asks for 1-day tick data.
You can also try out the system loading the 1-month tick data (1.63 milions entries) simply by changing the followin code

# settings.py

# Use GBPUSD1d for 1-day tick data (~62k lines) or GBPUSD1m for 1-month tick data (~1.63 mln lines)
file_name = "data/GBPUSD1d.txt"

This data was downloaded from the Sentdex.com website, following the url http://sentdex.com/GBPUSD.zip (direct download).

Motivations

This code was written following the YouTube playlist Machine Learning for Forex and Stock analysis and algorithmic trading uploaded by the YouTube channel sentdex, adapting it to Python 3 and performing some minor performance improvements. This was done as a way to get into practical machine learning after having followed the Machine Learning of the Master Degree in Computer Science at the University of Padua.

Requirements

In order to run the code you need to have the following libraries and programs installed on your computer

  • Python 3.6
  • numpy
  • matplotlib

You can install matplotlib by following the matplotlib official guide, and numpy following numpy's official guide.

How it works

The program will run the following tasks

  1. Take the first end_point (inside settings.py) lines of data.
  2. Recognize all the different patterns of data made by dots_for_pattern entries each one and store them.
  3. Take dots_for_pattern entries that have never seen before (30 steps into the future).
  4. Recognize the patterns that are most similar to the new data. This means that
    • Each pattern must be made of points that are at least 50% similar to the corresponding point inside the new data
    • Each pattern must be overall at least pattern_similarity_value% similar to the new pattern
  5. Save into the patterns folder a graph with the following data plotted inside
    • All the patterns that have been recognized, each one with a different color
    • The pattern that was been searched for, in a turquoise and thicker line
    • The predictions of the outcome of all the recognized patterns
      • A green dot for each outcome that represents a prediction of a rise
      • A red dot for each outcome that predicts a fall
    • The average predicted outcome value as a blue dot
    • The real outcome value as a turquoise dot
  6. Increment by one the considered set of data and repat from point (1).

Collaborating

I'm open to all kinds of improvements that can be possibily made, as long as they are submitted using well-documented pull requests.

License

Copyright 2018 Riccardo Montagnin.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].