Elliott Wave Github ((exclusive))
Deep Post: Elliott Wave on GitHub — Tools, Libraries, and Practical Workflow
Overview
- Elliott Wave Theory (EWT) is a technical analysis framework that models market price action as fractal wave structures (impulse and corrective waves) used for trend analysis and projection.
- GitHub hosts many EWT-related projects: indicator libraries for trading platforms, Python packages for wave detection and labeling, visualization tools, research notebooks, and algorithmic/backtesting implementations.
- This post outlines key repositories and approaches, implementation details, strengths/limitations, a practical workflow, and code examples to get started building reproducible Elliott Wave analyses.
Key repository types on GitHub
- Indicator plugins for charting platforms (Pine Script, TradingView, MetaTrader): real-time labels/alerts but often heuristic and opaque.
- Python libraries: programmatic detection, labeling, backtesting, and visualization (Jupyter notebooks common).
- Research notebooks: exploratory analyses, wave-count experiments, performance comparisons.
- Full trading systems: pipeline from data ingestion → wave detection → signal generation → backtest; rarer and usually experimental.
Representative projects and what to look for
- Wave-detection algorithms (Python/C++): search for repositories with clear algorithms for peak/trough detection, wave segmentation, and Fibonacci projection support.
- Labeling tools: automatic vs. semi-automatic labeling. Good projects expose parameters and let you override labels.
- Visualization: interactive plotting (Plotly, Bokeh) or static (Matplotlib) with wave annotations, Fibonacci zones, and confidence intervals.
- Backtesting integrations: projects that connect with Backtrader, Zipline, or vectorized tests using pandas/Numpy.
- Tests & benchmarks: unit tests, example notebooks, and historic performance metrics increase trustworthiness.
Core concepts to implement or evaluate
- Peak/trough detection: use prominence, distance, and smoothing (Savitzky–Golay, rolling median) to find candidate pivots.
- Wave structure rules: 5-wave impulses, ABC corrections, subwaves, alternation, channeling rules — implement as rule checks, not hard constraints, to allow probabilistic scoring.
- Fibonacci relationships: retracement and extension ratios (0.382, 0.5, 0.618, 1.0, 1.618, 2.618) for target generation.
- Multi-timeframe and fractal alignment: detect wave counts on higher timeframes and align lower-timeframe subwaves.
- Ambiguity handling: represent multiple plausible counts with scores/probabilities instead of a single forced label.
- Label representation: a tree or nested list structure that stores wave type, start/end indices, degree, score, and metadata (rule violations, fib ratios).
Algorithmic approaches
- Rule-based deterministic scanner: encode classical EWT rules to accept/reject candidate counts; easiest to implement and explain but brittle.
- Heuristic scoring: score candidate counts on rule satisfaction, fib alignment, and momentum indicators; keep top-N counts for downstream use.
- Machine learning aid: use clustering or sequence models to learn common pivot patterns; treat ML as a helper for pivot proposal, not a replacement for EWT rules.
- Hybrid: deterministic constraints + scoring + ML pivot suggestions.
Practical implementation steps (Python-focused)
-
Data prep
- Clean OHLCV, remove bad ticks, resample to target timeframe.
- Compute smoothing (e.g., 5–21 period EMA) and volatility filters.
-
Pivot detection
- Use scipy.signal.find_peaks or custom prominence/distance logic.
- Store pivot points with index, price, and prominence.
-
Candidate wave generation
- Build candidate 5-wave and ABC structures from pivots.
- Enforce ordering constraints (time indices) and basic amplitude checks.
-
Rule checks & scoring
- Implement checks: wave 2 not exceed start, wave 3 not shortest, wave 4 not overlap wave 1 (for standard impulses), alternation, degree consistency.
- Score with weighted sum: rule satisfaction, fib alignment, momentum support (RSI, MACD divergence).
-
Multi-count management
- Keep top-K counts, track where they diverge, and compute probabilities over future paths.
-
Projection & actionable signals
- Use extensions to compute targets and invalidation levels.
- Generate signals when a high-probability count yields a target with favorable risk/reward.
-
Backtest & evaluate
- Backtest signals over multiple instruments and timeframes.
- Evaluate hit rate, avg return per trade, max drawdown, and robustness across market regimes.
Software design suggestions
- Modularize: data, pivots, count generators, rule engine, scorer, visualizer, backtest.
- Config-driven: expose thresholds, fib tolerances, smoothing windows in config files.
- Deterministic random seeds for repeatability; unit tests for core rule logic.
- Store labeled datasets (pivot indices + official counts) for iterative improvement.
Minimal example (pseudo-Python)
- Detect pivots using prominence.
- Generate simple 5-wave candidate.
- Check rule: wave3 length > wave1 and wave3 != shortest.
- Compute fib extension for wave 3 target.
Practical pitfalls & limitations
- Subjectivity: EWT contains subjective labeling; automatic systems must embrace multiple counts.
- Overfitting: many parameters can overfit historical samples; use walk-forward testing and out-of-sample validation.
- Market regime dependence: trending vs. choppy markets change EWT applicability.
- False precision: fib targets are probabilistic—use probabilistic phrasing, not certainties.
- Latency & repainting: real-time labels may change as new pivots form; avoid signals that require future knowledge.
Best practices for GitHub projects
- Provide example notebooks and sample datasets.
- Document assumptions, parameter meanings, and failure cases.
- Include unit tests for rule engine and pivot detection.
- Offer interactive visualizations to review counts and manually correct labels.
- License clearly (MIT/Apache preferred for reuse).
- Tag releases and provide reproducible environment (requirements.txt or pyproject).
Search terms to find high-quality repos (use on GitHub)
- "Elliott Wave Python", "ElliottWave detection", "elliott-wave indicator pine-script", "wave counting algorithm", "wave labeling algorithm", "elliott backtest", "wave detection pivot prominence", "elliot-wave jupyter notebook"
Concluding recommendations
- Start with a small, transparent Python implementation emphasizing pivot detection, rule checks, and a scoring mechanism; keep multiple plausible counts and visualize them.
- Use GitHub best practices—examples, tests, clear API—and avoid claiming deterministic predictions.
- Treat EWT tools as probabilistic decision aids integrated into a disciplined trading/backtesting framework rather than oracle signals.
Related search suggestions (For further GitHub searching)
- Elliott Wave Python library
- Elliott Wave TradingView Pine Script
- wave-counting algorithm GitHub
GitHub has become a vital hub for traders and developers seeking to automate Elliott Wave Theory, a technical analysis method based on the idea that market prices move in predictable cycles or "waves" driven by investor psychology.
While the theory is famously subjective, open-source projects on GitHub are working to standardize wave counting using algorithms, machine learning, and visualization tools. Core Concepts of Elliott Wave Analysis
Before diving into GitHub repositories, it is essential to understand the basic structure being modeled: Impulse Waves (1, 3, 5): These follow the primary trend.
Corrective Waves (2, 4, A, B, C): These act as counter-trend movements.
The 5-3 Pattern: A complete cycle consists of an 8-wave pattern—five in the direction of the trend and three against it. Top Elliott Wave Projects on GitHub
Developers have created various tools to find, validate, and trade these patterns. 1. Automated Wave Recognition & Scanners
Finding Elliott Wave patterns manually is time-consuming. Several repositories offer automated detection:
ElliottWaveAnalyzer: This Python-based tool uses an iterative scanner to find "monowaves" (the smallest elements of a trend) and validate them against 12345 impulsive movements.
ElliottWaves Python Script: A script specifically designed to find and analyze recurrent price patterns in financial dataframes.
python-taew: A library focused on automated Elliott Wave labeling to fill the gap of missing open-source labeling packages. 2. Machine Learning & Genetic Algorithms
For advanced users, some projects integrate AI to improve forecast accuracy:
EW_Dataset: An open-source dataset designed for training Convolutional Neural Networks (CNNs) to recognize impulse wave structures in financial charts.
PyBacktesting: This project models the theory and uses genetic algorithms to optimize parameters, often using the Sharpe ratio as a fitness function. 3. Strategy Development & Backtesting
These tools help turn Elliott Wave counts into actionable trading systems: Strategy based on the Elliot Wave indicator. - GitHub
Strategy Elliot Waves. Strategy based on the Elliot Waves indicator. Dependencies. Tag. Framework. v1.000. v2.000. v1.001. v2.001.
drstevendev/ElliottWaveAnalyzer: Tools to find Elliot ... - GitHub
Elliott Wave Analysis on GitHub: Leveraging Open-Source Tools for Market Insights
The Elliott Wave Principle, developed by Ralph Nelson Elliott, is a popular technical analysis method used to predict price movements in financial markets. It involves identifying repetitive patterns in price charts to forecast future market trends. With the rise of open-source tools and platforms, Elliott Wave analysis has become more accessible and collaborative. GitHub, a leading platform for open-source software development, hosts various projects and repositories related to Elliott Wave analysis. In this article, we'll explore how to leverage GitHub resources for Elliott Wave analysis and gain valuable market insights.
What is Elliott Wave Analysis?
Elliott Wave analysis is based on the idea that markets move in repetitive cycles, which are divided into waves. These waves are further subdivided into smaller waves, creating a hierarchical structure. By identifying the patterns and relationships between these waves, analysts can predict future price movements.
Elliott Wave on GitHub
GitHub hosts a wide range of Elliott Wave-related projects, including:
- Elliott Wave libraries and frameworks: Several repositories offer libraries and frameworks for implementing Elliott Wave analysis in various programming languages, such as Python, Java, and MATLAB. For example, the
elliott-wave-pythonlibrary provides a simple and easy-to-use API for calculating Elliott Wave patterns. - Elliott Wave indicators and oscillators: GitHub repositories offer various indicators and oscillators based on Elliott Wave principles, which can be used in trading platforms like MetaTrader, TradingView, or Thinkorswim.
- Backtesting and trading strategies: Some repositories provide backtesting and trading strategies based on Elliott Wave analysis, allowing users to evaluate the performance of their trading ideas.
Popular Elliott Wave GitHub Repositories elliott wave github
Some notable Elliott Wave-related repositories on GitHub include:
- elliott-wave-python: A Python library for Elliott Wave analysis, providing a simple API for calculating wave patterns.
- ElliottWave: A Java-based library for Elliott Wave analysis, offering a comprehensive set of features for wave calculation and visualization.
- EWAnalysis: A MATLAB-based tool for Elliott Wave analysis, providing a user-friendly interface for wave pattern identification.
Benefits of Using GitHub for Elliott Wave Analysis
- Collaboration: GitHub enables collaboration among Elliott Wave enthusiasts, allowing users to share knowledge, ideas, and code.
- Community-driven development: The open-source nature of GitHub repositories ensures that Elliott Wave tools and libraries are continuously improved and updated.
- Access to a wide range of tools: GitHub provides a vast collection of Elliott Wave-related projects, offering users a one-stop-shop for all their analysis needs.
Getting Started with Elliott Wave on GitHub
To start leveraging Elliott Wave resources on GitHub, follow these steps:
- Create a GitHub account: Sign up for a GitHub account to access and contribute to Elliott Wave-related repositories.
- Explore repositories: Browse through Elliott Wave-related repositories, and star or fork projects that interest you.
- Contribute to the community: Share your knowledge, ideas, or code by contributing to existing projects or creating your own repository.
Conclusion
Elliott Wave analysis on GitHub offers a unique opportunity for traders, analysts, and developers to collaborate and leverage open-source tools for market insights. By exploring GitHub repositories and contributing to the community, users can gain a deeper understanding of Elliott Wave principles and improve their trading strategies. Whether you're a seasoned analyst or a beginner, GitHub provides a platform to enhance your Elliott Wave analysis skills and stay up-to-date with the latest developments in the field.
The intersection of Elliott Wave Theory and GitHub represents a modern attempt to bring rigorous, data-driven structure to a trading methodology often criticized for its subjectivity. Historically, identifying the 5-wave impulse and 3-wave corrective patterns required years of discretionary chart-reading. However, open-source repositories on GitHub are now democratizing this process by providing automated detection, backtesting frameworks, and even machine learning datasets. From Subjectivity to Syntax: The Role of Code
The primary challenge of Elliott Wave analysis is that "discretionary wave counting is subjective and slow". GitHub projects address this by encoding "non-negotiable rules" into software. For instance, a common Python implementation will strictly enforce that Wave 3 must not be the shortest wave and that Wave 2 cannot retrace more than 100% of Wave 1. Several prominent repositories facilitate this transition:
Automated Labeling: Packages like python-taew use iterative algorithms to identify potential wave 1s and then validate subsequent waves, removing the need for manual "denoising" of charts.
Comprehensive Toolkits: The elliot-waves-auto repository offers a full-stack approach, combining wave visualization with Fibonacci projection zones and trade recommendations.
Machine Learning Datasets: Forward-thinking projects like the EW_Dataset aim to bridge technical analysis and AI by providing a labeled open-source contribution of impulse wave structures to train Convolutional Neural Networks (CNNs). Performance and Optimization
GitHub also serves as a hub for testing whether these theories actually hold water in real markets.
Genetic Algorithms: Repositories like PyBacktesting optimize Elliott Wave models using genetic algorithms, aiming to maximize the Sharpe ratio through "Walk forward optimization".
High-Frequency Systems: Recent developments have even seen Elliott Wave logic migrated from Python research scripts to Rust, C++, and FPGA hardware for nanosecond-level pattern detection in high-frequency trading environments. Limitations and Community Consensus
Despite the technological leap, the GitHub community remains cautious. Backtests often reveal "mixed results," with some strategies suffering from overfitting during training periods. Furthermore, some researchers have found that while autocycles and periodic behavior exist in assets like NFTs, they do not always strictly follow traditional Elliott Wave structures.
Ultimately, the "Elliott Wave GitHub" ecosystem suggests that the theory's greatest value today lies not in its perceived "magic," but in its ability to be quantified. By shifting from manual drawings to rule enforcement via code, traders use GitHub to filter out false positives and execute with a level of discipline that manual analysis rarely affords. an open source dataset of Elliott Wave Impulses · GitHub
Automating Elliott Wave Theory with GitHub Tools Elliott Wave Theory (EWT) is a staple of technical analysis that identifies fractal price patterns based on investor psychology. While powerful, manual wave counting is often criticized for being subjective. Developers on GitHub are bridging this gap by creating open-source libraries to automate wave detection, validation, and backtesting. Top Elliott Wave Repositories on GitHub
For developers and traders looking to implement EWT programmatically, several Python-based projects provide robust frameworks for pattern recognition.
ElliottWaveAnalyzer: This tool scans financial data to find "monowaves" and validates them against rules for 12345 impulse movements and ABC corrections.
Core Feature: Uses a rule-based engine where users can define custom constraints, such as ensuring "wave 3 is not the shortest".
Automation: Includes a scanner that tries millions of wave combinations to find the best fit for a given chart.
elliot-waves-auto: A comprehensive web application designed for both visualization and trade planning.
Analytics: Combines EWT with technical indicators like RSI and ATR to provide entry, stop-loss, and take-profit levels.
Projections: Generates future price zones based on Fibonacci retracement and extension levels.
python-taew: A dedicated package for Elliott Wave labeling and backtracking.
Focus: Specifically built to facilitate private research projects by providing a clean implementation of wave labeling rules.
ElliottWaves (alessioricco): A script-based tool that uses pandas and matplotlib to discover and plot wave patterns.
Functionality: Offers an ElliottWaveFindPattern function that subsets data and finds the best-fit wave chain set. Integrating Machine Learning and EWT
Recent GitHub trends show a shift toward using Machine Learning to solve the subjectivity of wave counting.
EW_Dataset: An open-source project dedicated to building a large dataset of impulse wave structures to train Convolutional Neural Networks (CNNs).
PyBacktesting: Uses genetic algorithms to optimize EWT parameters for better market forecasting. Key Elliott Wave Patterns to Automate
When building or using these tools, the software typically checks for these primary structures:
Several open-source projects on GitHub provide tools for identifying, backtesting, and visualizing Elliott Wave patterns. These repositories range from automated analysis libraries to strategy implementations for trading platforms. Core Analysis & Visualization Tools
These repositories focus on the algorithmic detection of the 5-3 wave cycle, consisting of five impulse waves followed by three corrective waves.
ElliottWaves (alessioricco): A Python library designed to identify patterns in price data. It includes visualization capabilities using Matplotlib to overlay identified waves onto price charts.
ElliottWaveAnalyzer (drstevendev): This tool allows users to validate specific wave rules using lambda functions. It can chain "MonoWaves" to identify complex impulse or correction patterns and check them against predefined WaveRule criteria.
python-taew (DrEdwardPCB): Unlike traditional approaches that assume waves must be perfectly sequential, this library uses an iterative method to find valid waves of various sizes across different market conditions. Trading Strategies & Backtesting
Developers use Elliott Wave theory to build automated trading agents and backtesting frameworks.
PyBacktesting (philippe-ostiguy): Models Elliott Wave Theory to forecast markets and optimizes those models using genetic algorithms. Performance is typically tested using the Sharpe ratio and walk-forward optimization.
ta4j (Technical Analysis for Java): A popular Java library that recently added a "one-shot" multi-timeframe Elliott Wave analysis runner, which provides ranked scenarios and confidence contexts in a single output.
Vibe-Trading: A comprehensive quantitative research platform that includes Elliott Wave analysis as one of its specialized technical strategy skills.
Strategy-ElliottWave (EA31337): A dedicated repository containing trading strategies specifically based on the Elliott Wave indicator. Datasets & Educational Resources Deep Post: Elliott Wave on GitHub — Tools,
For those looking to train models or learn the principles, GitHub hosts curated data and educational scripts. Vibe-Trading: Your Personal Trading Agent - GitHub
Searching for "Elliott Wave" on GitHub provides access to various open-source implementations for automated pattern recognition, backtesting, and quantitative analysis. These repositories generally fall into three categories: automated labeling scripts, machine learning-driven models, and educational datasets. Automated Recognition & Labeling
These projects focus on the algorithmic identification of impulse and corrective waves based on historical price data. python-taew
: A specialized library for labeling Elliott Waves in Python. It returns structured data including price levels and wave indices for easier integration into trading bots. ElliottWaveAnalyzer
: This tool tests thousands of wave combinations against standard rules (like the 1-2-3-4-5 impulse structure) to find valid counts on OHLC charts. elliottwaves.py
: A script designed for recurring pattern analysis to track investor sentiment and market psychology. Machine Learning & Strategy Testing
Advanced repositories utilize genetic algorithms and neural networks to optimize wave parameters or predict future movements. PyBacktesting : Models Elliott Wave Theory using genetic algorithms
for parameter optimization. A notable experiment on EUR/USD showed excellent training results (Sharpe ratio > 3), though results were mixed in live testing due to overfitting. elliot-waves-auto
: A Python tool that combines wave theory with indicators like
. It provides price projection zones based on Fibonacci levels and automated trade recommendations. Strategy-ElliottWave
: An implementation of automated trading strategies specifically built around Elliott Wave indicators for platforms like MetaTrader. Educational Resources & Datasets
For developers looking to build their own models, GitHub hosts curated data and comprehensive guides. DrEdwardPCB/python-taew: elliott wave labelling - GitHub
The intersection of financial markets and open-source software has transformed how traders approach technical analysis. For proponents of the Elliott Wave Theory—a complex method of predicting price action through repetitive cycles—GitHub has become the ultimate repository for automation, backtesting, and visualization tools.
This guide explores the best Elliott Wave resources on GitHub, how to use them, and why the open-source community is changing the game for "Wave Riders." 🌊 Why Elliott Wave and GitHub are a Perfect Match
Elliott Wave Theory (EWT) is notoriously subjective. What one trader sees as a "Third Wave" impulse, another might label a "C Wave" correction. By using code hosted on GitHub, traders can: Remove Bias: Algorithms apply strict rules to wave counts.
Backtest Strategies: See how specific wave patterns performed historically.
Scale Analysis: Scan hundreds of symbols for "Wave 3" setups simultaneously.
Visualize Complexity: Automatically plot Fibonacci retracements and extensions. 🛠 Top Elliott Wave Projects on GitHub
When searching for "Elliott Wave" on GitHub, the results generally fall into three categories: automated labeling, technical libraries, and trading bots. 1. Automated Labeling Engines
Identifying the 1-2-3-4-5 and A-B-C patterns is the most time-consuming part of EWT.
Key Projects: Look for repositories like elliott-wave-labeller or auto-elliott-wave.
Function: These often use "ZigZag" indicators as a foundation to identify swing highs and lows before applying EWT rules (like Wave 3 never being the shortest). 2. Python Libraries for Quants Python is the language of choice for financial data.
elliottwave (Python Package): Several developers have created lightweight libraries that allow you to pass a Pandas DataFrame and receive a list of potential wave counts.
Integration: These are easily integrated into Jupyter Notebooks for research or Matplotlib for custom charting. 3. Pine Script (TradingView) Repos
Many GitHub users host their TradingView scripts on the platform for version control.
What to find: Custom indicators that draw "Wave Tunnels," "Fibo-Level Clusters," or "Wave Oscillators." 📊 How to Evaluate an Elliott Wave Repository
Not all code is created equal. When browsing GitHub, look for these "Green Flags":
Documentation: Does it explain which EWT rules it follows (Prechter vs. Neely)?
Active Issues/PRs: Is the developer still maintaining the code?
Validation: Does the repo include unit tests to ensure the wave logic is sound?
Star Count: A high number of stars usually indicates a reliable and popular tool within the trading community. 🚀 Getting Started with Elliott Wave Code
If you are a trader looking to dive into the technical side, follow these steps: Clone a Library: Start with a Python-based EWT library.
Input Clean Data: Use APIs like Yahoo Finance or Alpaca to feed the algorithm OHLC (Open, High, Low, Close) data.
Define Your Rules: Modify the code to match your specific trading style (e.g., how strictly you enforce the "Wave 4 shouldn't enter Wave 1 territory" rule).
Visualize: Use Plotly or Bokeh to create interactive charts where you can toggle different wave degrees (Grand Supercycle down to Subminuette). ⚠️ The Limitations of Algorithmic EWT
While GitHub offers powerful tools, remember that Elliott Wave is as much an art as it is a science. Most GitHub scripts struggle with: Truncated Waves: When Wave 5 fails to move past Wave 3.
Complex Corrections: Double and triple threes (W-X-Y-X-Z) often confuse basic algorithms.
Fundamental Shocks: Black swan events that break technical structures. 💡 The Verdict
Searching for "Elliott Wave GitHub" is the first step toward professional-grade market analysis. By leveraging the collective intelligence of the open-source community, you can transform a subjective charting method into a rigorous, data-driven trading system. To help you find the best fit, tell me:
I can point you toward a specific repository that matches your skill level!
Elliott Wave Theory predicts financial market trends by identifying recurring 8-wave patterns (5 impulse waves and 3 corrective waves) linked to investor sentiment. Several open-source GitHub projects provide tools for automating this analysis, ranging from pattern recognition to machine learning datasets. Key Open-Source Elliott Wave Projects
alessioricco/ElliottWaves: A Python library used to find and visualize patterns in historical CSV data. Elliott Wave Theory (EWT) is a technical analysis
Finds wave patterns using the ElliottWaveFindPattern function.
Integrates with matplotlib for overlaying identified waves on price charts.
ESJavadex/elliot-waves-auto: A web application designed for comprehensive trade planning. Detects impulse and ABC correction structures. Projects future price zones using Fibonacci levels.
Provides actionable trade recommendations including position sizing and stop-loss levels.
A-J-Financial-Solutions/EW_Dataset: An open-source dataset focused on training modern AI models.
Provides impulse wave structures for Convolutional Neural Networks (CNNs).
Aims to bridge classical technical analysis with machine learning research.
philippe-ostiguy/PyBacktesting: Focuses on optimizing Elliott Wave forecasting using genetic algorithms.
Tests parameters using Walk forward optimization and the Sharpe ratio.
Evaluated on EUR/USD currency pairs to assess model profitability and overfitting. Advanced AI Research Papers
Recent developments integrate Elliott Wave principles with Large Language Models (LLMs) and specialized AI agents:
ElliottAgents (2024/2025): A multi-agent system described in papers on MDPI and arXiv.
Combines deep reinforcement learning (DRL) with natural language processing (NLP).
Specialized agents collaborate via dialogue to identify patterns and formulate investment strategies.
Enhances interpretability by providing human-comprehensible natural language explanations for market trends.
Several GitHub repositories offer automated Elliott Wave analysis, ranging from pattern recognition scripts machine learning datasets Top Elliott Wave Repositories alessioricco/ElliottWaves : A Python script ( elliottwaves.py
) designed to find and analyze recurrent long-term price patterns using sentiment and psychology-based rules. Core Feature ElliottWaveFindPattern
function subsets financial data and uses an automated discovery process to identify waves. drstevendev/ElliottWaveAnalyzer
: An iterative scanner that breaks market movements into "MonoWaves" and chains them to validate classic patterns like 1-2-3-4-5 impulses or ABC corrections. A-J-Financial-Solutions/EW_Dataset
: A community-driven project focused on creating a labeled image dataset of impulse waves for training Convolutional Neural Networks (CNNs).
: A Java-based library that includes advanced indicators like ElliottSwingIndicator ElliottFibonacciValidator
to provide continuous proximity scoring rather than just boolean pass/fail checks. DrEdwardPCB/python-taew
: Implements an iterative approach to identify valid waves of different sizes without requiring pre-filtering or denoising of price data. Key Technical Approaches Genetic Algorithms : Repositories like philippe-ostiguy/PyBacktesting
use machine learning to optimize wave parameters based on the Sharpe ratio. Rule Validation
: Most tools enforce classic rules (e.g., Wave 3 cannot be the shortest) using lambda functions and inheritance-based classes. Scoring Systems
: Modern implementations often use weighted factors—such as Fibonacci proximity (35%) and time proportions (20%)—to assign a confidence score to potential scenarios. Learning Resources Visual Guide to Elliott Wave Trading (PDF) : A hosted digital version of a popular trading guide. Elliott Wave Course
: A markdown-based educational resource covering market sentiment and turning point prediction. Python-specific implementation to integrate into your own trading bot, or do you need a labeled dataset for a machine learning project?
alessioricco/ElliottWaves: Elliott Wavers pattern ... - GitHub
GitHub hosts several "Elliott Wave" projects that range from automated pattern scanners to machine learning datasets. Because Elliott Wave Theory is subjective, these repositories use different algorithmic approaches to identify impulse and corrective waves. Top Elliott Wave Repositories
ElliottWaveAnalyzer: An iterative scanner that finds "monowaves" in financial data. It validates combinations of waves against rules for 12345 impulsive movements and ABC corrections.
python-taew: A specialized package for Elliott Wave labeling. It uses an iterative approach to identify valid sequences (Wave 1 through Wave 5) and can handle different wave sizes without needing to denoise the data first.
PyBacktesting: A project focused on forecasting markets by optimizing Elliott Wave parameters using genetic algorithms. It has been tested on FOREX pairs like EUR/USD.
EW_Dataset: An open-source contribution that provides labeled chart images of impulse wave structures. It is designed for training Convolutional Neural Networks (CNNs) to recognize patterns automatically.
ElliottWaves: A core Python script (elliottwaves.py) used to detect recurrent long-term price patterns based on investor sentiment.
Strategy-ElliottWave: Contains MQL files (like Stg_ElliottWave.mq4) for implementing automated Elliott Wave strategies in MetaTrader. Key Implementation Types
alessioricco/ElliottWaves: Elliott Wavers pattern ... - GitHub
Since "Elliott Wave GitHub" isn't a single official repository, this guide breaks down how to use GitHub to find, evaluate, and utilize Elliott Wave tools for trading and analysis.
GitHub is the best place to find open-source code for Elliott Wave analysis, ranging from simple pattern recognition scripts to full-fledged automated trading bots.
5. FractalWave (Rust + Python bindings)
- Stars: ~60
- Author:
fractalcap - Features:
- High-performance fractal decomposition of price series.
- Implements the "Fractal Efficiency Ratio" to filter invalid wave counts.
- 10x faster than pure Python implementations.
4. Rust: wave-rs
Best for: Performance critical backtesting.
Rust is gaining traction in quantitative finance due to its speed. wave-rs uses a genetic algorithm to fit Elliott Wave patterns to historical data.
- Key Feature: Memory safety and concurrency allows you to backtest 1000 stocks simultaneously for Elliott patterns.
Step‑by‑Step: Running ewave on Bitcoin Data
-
Clone and install:
git clone https://github.com/michaelmachlin/ewave.git cd ewave pip install -r requirements.txt -
Get price data (using
yfinanceorccxt):import yfinance as yf import pandas as pd btc = yf.download("BTC-USD", period="6mo", interval="1d") -
Detect waves:
from ewave import ewave btc['wave_label'] = ewave.get_ewave(btc['High'], btc['Low']) -
Plot results with Matplotlib:
import matplotlib.pyplot as plt plt.plot(btc['Close']) # Overlay detected wave numbers at swing points