This is a submission for the Neon Open Source Starter Kit Challenge : Ultimate Starter Kit
My Kit: DataPatternX
Introducing DataPatternX, a versatile and powerful starter kit designed to simplify candlestick pattern detection and data visualization in financial datasets. Whether you're a seasoned data analyst or just getting started with market analysis, DataPatternX offers a streamlined, modular approach to identifying key market patterns using PostgreSQL and Python.
Project Overview
DataPatternX is structured to ensure ease of use and scalability. The project is organized into key modules:
DataPatternX/
│
├── .env # Environment variables
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── DataPatternX.py # Entry point for running your project
├── .gitignore # Git ignore file
├── LICENSE # License information
│
├── config/ # Configuration settings
│ └── config.py
│
├── db/ # Database connection and query execution
│ ├── connection.py
│ └── queries.py
│
├── pattern_query/ # SQL queries for pattern detection
│ ├── patterns.py
│ └── sql_files/
│ ├── engulfing_bearish.sql
│ ├── engulfing_bullish.sql
│ ...
│
└── plotter/ # Plotting functions and classes
└── plot_chart.py
- DataPatternX is structured to ensure ease of use and scalability. The project is organized into key modules:
-
Configuration (
config/
): Manage your environment variables and settings efficiently. -
Database Operations (
db/
): Seamlessly connect to your PostgreSQL database and execute pattern detection queries. -
Pattern Queries (
pattern_query/
): Leverage SQL files to detect various candlestick patterns like engulfing, morning star, and more. -
Visualization (
plotter/
): Generate dynamic and insightful candlestick charts using Plotly, complete with markers highlighting detected patterns. -
Main Script (
DataPatternX.py
): The entry point for running your project, with options for querying patterns, saving results, and plotting charts.
Key Features
- Pattern Detection: Supports a variety of candlestick patterns with customizable SQL queries.
- Database Flexibility: Easily connect to any PostgreSQL database.
- Data Visualization: Create detailed candlestick charts with pattern markers.
- Modular Design: Each component is designed to be reusable and extendable. Example usage:
py DataPatternX.py -t ohlc_data Hammer Engulfing_bullish --plot --save patterns.csv
Link to Kit
You can find the full project on GitHub: DataPatternX. The repository includes a comprehensive README with setup instructions, making it easy to get started.
m-sarabi / DataPatternX
DataPatternX is a starter kit for seamless data pattern analysis. It connects to a PostgreSQL database (e.g., Neon Serverless Postgres), retrieves complex data patterns, and plots charts. The kit includes modules for database connection, query execution, chart plotting, and easy CLI tools for efficient interaction.
DataPatternX
Overview
This starter kit is designed to help you quickly set up a project that connects to a database retrieves candlestick pattern data using complex queries, manages pattern files, and plots charts. The project is modular and easy to extend, making it suitable for various applications.
Features
-
Database Connection: Easy database connection using
db/connection.py
. -
Data Retrieval: Retrieves data patterns from the database using complex SQL queries defined in
db/queries.py
. -
Chart Plotting: Plots charts using the data retrieved, implemented in
plotter/plot_chart.py
. -
Main Integration: Orchestrates all components in
DataPatternX.py
.
Getting Started
Prerequisites
- Python 3.x (tested with Python 3.12)
- PostgreSQL (or a serverless option such as Neon Serverless PostgreSQL)
Installation
-
Clone the repository:
git clone https://github.com/yourusername/starter-kit.git cd starter-kit
-
Install the required Python packages:
pip install -r requirements.txt
-
Set up your database. You can use a local SQL instance or a serverless option like Neon Serverless PostgreSQL.
Configuration
To…
My Journey
While working on DataPatternX, I aimed to create a tool that would not only simplify pattern detection but also make the process more intuitive for users. The choice of PostgreSQL, especially with the flexibility offered by modern solutions like Neon’s serverless Postgres, was driven by its robust support for window functions, essential for the accurate detection of patterns in time series data. Python, with its rich ecosystem of data libraries, complemented this by providing the tools necessary for analysis and visualization.
However, my journey with this project took an unexpected turn. Despite my enthusiasm as an Iranian developer to participate in the Neon Open Source Starter Kit Challenge, I discovered that I was ineligible due to my nationality. Although this was disheartening, I chose to complete and share the project regardless. The experience was rewarding, and I hope it serves as a valuable resource for the community.
Conclusion
Building DataPatternX allowed me to explore the intersection of financial data analysis and open-source development, pushing the boundaries of what I could achieve despite the challenges. I invite you to check out the project, write your thoughts, and explore what it has to offer.
Your feedback is highly valued
Top comments (2)
Happy you did it anyways! Great job.
Thanks ✌️