Python Stock Pattern Detector Bot
Budget: $750 – $1,500 USD
I need an experienced Python developer / financial data engineer to build a configurable bot that
scans historical U.S. stock market data and detects significant downside price movements.
The system should scan historical U.S. stock data and create a structured database of events in which a stock experienced a significant price drop, based on configurable quantitative rules.
The ideal freelancer should have experience with Python, financial market data APIs, and historical OHLCV data, intraday data processing, PostgreSQL, data engineering, stock screeners, financial dashboards, quantitative research tools, and large historical data collection.
Please include examples of similar financial data tools, stock scanners, screeners, or market data pipelines you have built.
This is a data collection and research project only.
Main Objective:
Build a Python-based tool that can scan up to 10 years of historical U.S. stock data and detect price drop events using OHLCV data.
- See Attached Doc For more details: "Freelancer.com (Historical Stock Price Drop Data Collector) (1).PDF"
- Example of a Chart description: "Stock Example Chart.snagx"
The tool should scan up to 10 years of historical U.S. stock data and identify stocks that experienced significant price declines based on configurable rules.
The tool should support filtering by market cap category:
* Nano cap: below $50M
* Micro cap: $50M–$300M
* Small cap: $300M–$2B
* Mid cap: $2B–$10B
The system must be fully configurable so thresholds and filters can be changed without modifying the core code.
_Main Detection Rules
The tool should detect historical price drop events such as:
* Stock drops 10% or more from the previous close to the current close.
* Stock drops 10% or more from the previous close to the current open.
* Stock drops 10% or more during pre-market, regular market hours, or after-hours.
* Stock drops 10% or more intraday from high to low.
* Strong red candle appears on configurable timeframes: daily, 1-hour, 30-minute, 10-minute, or 5-minute.
* Drop occurs with abnormal volume, such as 1.5x or 2x the 20-day average volume.
NOTE: All percentages and thresholds must be configurable.
_Data to Save for Each Event
For every detected event, the system must save:
* Ticker symbol
* Company name
* Exchange
* Sector and industry
* Event date and exact/estimated event time
* Timeframe detected
* Market cap and market cap category
* Float or estimated float, if available
* Previous close, open, high, low, close
* Close-to-close drop percentage
* Previous close-to-open drop percentage
* Intraday high-to-low drop percentage
* Gap-down percentage
* Red candle percentage
* Event day volume
* Dollar volume
* Return after 1, 2, and 3 trading days
* Data source used
* Chart snapshot path, if generated
* Timestamp when the record was created
_Chart Snapshot Requirement
For each detected event, the system should optionally generate and save a chart image showing the price action around the drop.
Preferred chart format:
* Candlestick chart
* 5-minute chart preferred when intraday data is available
* Include volume bars
* Include ticker, event date, and timeframe
* Optional percentage drop annotation
* Save as PNG or JPG
* Link the image path to the database event record
_The chart can be generated from OHLCV/intraday data using libraries such as:
* Matplotlib
* Plotly
* mplfinance
* TradingView Lightweight Charts
* Other reliable charting libraries
_TradingView screenshots may be considered if technically possible, but the preferred method is to generate chart images programmatically from market data.
Preferred Data Sources
The developer should recommend the best data provider combination, but the preferred setup is:
* Polygon.io / Massive for historical OHLCV and intraday U.S. stock data
* Financial Modeling Prep for company profile, market cap, sector, industry, and fundamentals
* Optional Intrinio for higher-quality public float data
* PostgreSQL or Supabase for database storage
_The system should be modular so data providers can be replaced later without rewriting the entire tool.
API keys must be stored securely using environment variables or a secure configuration file.
_ Database and Export Requirements
The system should support PostgreSQL database storage with deduplication logic, so scans can be re-run without creating duplicate event records.
Suggested tables:
* `companies`
* `price_drop_events`
* `scan_runs`
* `data_sources`
* `export_runs`
The tool must allow exporting results in multiple formats:
* CSV
* Excel/XLSX
* JSON
* Parquet
* SQLite database file
* PostgreSQL table
* ZIP package containing data files and chart snapshots
Exports should be configurable by date range, exchange, ticker, market cap category, timeframe, drop percentage, and whether chart snapshots are included.
_Optional Dashboard
A simple Streamlit dashboard is preferred but not required for the first version.
If included, it should allow filtering by:
* Date range
* Ticker
* Exchange
* Market cap category
* Drop percentage
* Relative volume
* Sector
* Industry
* Timeframe
* Whether the chart snapshot exists
_It should also include export buttons for CSV, Excel, JSON, Parquet, and ZIP.
Preferred Technology Stack
* Python
* Pandas or Polars
* PostgreSQL
* SQLAlchemy
* Requests/API clients
* YAML or JSON configuration
* Environment variables for API keys
* Matplotlib / Plotly / mplfinance for chart generation
* Streamlit optional
* Modular code structure
* Clean documentation
_Deliverables
* Working Python scanner
* Configurable YAML or JSON file
* PostgreSQL database schema
* Historical price drop detection logic
* CSV, Excel, JSON, and Parquet export
* Optional SQLite export
* ZIP export with data and chart snapshots
* Chart snapshot generation system
* Deduplication logic
* Logging and error handling
* Documentation explaining how to install, configure, and run the tool
* Example output with at least 100 detected historical events
* Clean source code repository
_Ideal Candidate
The ideal freelancer should have experience with:
* Python
* Financial market data APIs
* Historical OHLCV data
* Intraday data processing
* PostgreSQL
* Data engineering
* Stock screeners
* Financial dashboards
* Quantitative research tools
* Large historical data collection
* Chart generation from OHLCV data
* Exporting datasets in CSV, Excel, JSON, Parquet, and database formats
Please include examples of similar financial data tools, stock scanners, screeners, charting tools, or market data pipelines you have built.
---
Based on the longer work description you provided.
scans historical U.S. stock market data and detects significant downside price movements.
The system should scan historical U.S. stock data and create a structured database of events in which a stock experienced a significant price drop, based on configurable quantitative rules.
The ideal freelancer should have experience with Python, financial market data APIs, and historical OHLCV data, intraday data processing, PostgreSQL, data engineering, stock screeners, financial dashboards, quantitative research tools, and large historical data collection.
Please include examples of similar financial data tools, stock scanners, screeners, or market data pipelines you have built.
This is a data collection and research project only.
Main Objective:
Build a Python-based tool that can scan up to 10 years of historical U.S. stock data and detect price drop events using OHLCV data.
- See Attached Doc For more details: "Freelancer.com (Historical Stock Price Drop Data Collector) (1).PDF"
- Example of a Chart description: "Stock Example Chart.snagx"
The tool should scan up to 10 years of historical U.S. stock data and identify stocks that experienced significant price declines based on configurable rules.
The tool should support filtering by market cap category:
* Nano cap: below $50M
* Micro cap: $50M–$300M
* Small cap: $300M–$2B
* Mid cap: $2B–$10B
The system must be fully configurable so thresholds and filters can be changed without modifying the core code.
_Main Detection Rules
The tool should detect historical price drop events such as:
* Stock drops 10% or more from the previous close to the current close.
* Stock drops 10% or more from the previous close to the current open.
* Stock drops 10% or more during pre-market, regular market hours, or after-hours.
* Stock drops 10% or more intraday from high to low.
* Strong red candle appears on configurable timeframes: daily, 1-hour, 30-minute, 10-minute, or 5-minute.
* Drop occurs with abnormal volume, such as 1.5x or 2x the 20-day average volume.
NOTE: All percentages and thresholds must be configurable.
_Data to Save for Each Event
For every detected event, the system must save:
* Ticker symbol
* Company name
* Exchange
* Sector and industry
* Event date and exact/estimated event time
* Timeframe detected
* Market cap and market cap category
* Float or estimated float, if available
* Previous close, open, high, low, close
* Close-to-close drop percentage
* Previous close-to-open drop percentage
* Intraday high-to-low drop percentage
* Gap-down percentage
* Red candle percentage
* Event day volume
* Dollar volume
* Return after 1, 2, and 3 trading days
* Data source used
* Chart snapshot path, if generated
* Timestamp when the record was created
_Chart Snapshot Requirement
For each detected event, the system should optionally generate and save a chart image showing the price action around the drop.
Preferred chart format:
* Candlestick chart
* 5-minute chart preferred when intraday data is available
* Include volume bars
* Include ticker, event date, and timeframe
* Optional percentage drop annotation
* Save as PNG or JPG
* Link the image path to the database event record
_The chart can be generated from OHLCV/intraday data using libraries such as:
* Matplotlib
* Plotly
* mplfinance
* TradingView Lightweight Charts
* Other reliable charting libraries
_TradingView screenshots may be considered if technically possible, but the preferred method is to generate chart images programmatically from market data.
Preferred Data Sources
The developer should recommend the best data provider combination, but the preferred setup is:
* Polygon.io / Massive for historical OHLCV and intraday U.S. stock data
* Financial Modeling Prep for company profile, market cap, sector, industry, and fundamentals
* Optional Intrinio for higher-quality public float data
* PostgreSQL or Supabase for database storage
_The system should be modular so data providers can be replaced later without rewriting the entire tool.
API keys must be stored securely using environment variables or a secure configuration file.
_ Database and Export Requirements
The system should support PostgreSQL database storage with deduplication logic, so scans can be re-run without creating duplicate event records.
Suggested tables:
* `companies`
* `price_drop_events`
* `scan_runs`
* `data_sources`
* `export_runs`
The tool must allow exporting results in multiple formats:
* CSV
* Excel/XLSX
* JSON
* Parquet
* SQLite database file
* PostgreSQL table
* ZIP package containing data files and chart snapshots
Exports should be configurable by date range, exchange, ticker, market cap category, timeframe, drop percentage, and whether chart snapshots are included.
_Optional Dashboard
A simple Streamlit dashboard is preferred but not required for the first version.
If included, it should allow filtering by:
* Date range
* Ticker
* Exchange
* Market cap category
* Drop percentage
* Relative volume
* Sector
* Industry
* Timeframe
* Whether the chart snapshot exists
_It should also include export buttons for CSV, Excel, JSON, Parquet, and ZIP.
Preferred Technology Stack
* Python
* Pandas or Polars
* PostgreSQL
* SQLAlchemy
* Requests/API clients
* YAML or JSON configuration
* Environment variables for API keys
* Matplotlib / Plotly / mplfinance for chart generation
* Streamlit optional
* Modular code structure
* Clean documentation
_Deliverables
* Working Python scanner
* Configurable YAML or JSON file
* PostgreSQL database schema
* Historical price drop detection logic
* CSV, Excel, JSON, and Parquet export
* Optional SQLite export
* ZIP export with data and chart snapshots
* Chart snapshot generation system
* Deduplication logic
* Logging and error handling
* Documentation explaining how to install, configure, and run the tool
* Example output with at least 100 detected historical events
* Clean source code repository
_Ideal Candidate
The ideal freelancer should have experience with:
* Python
* Financial market data APIs
* Historical OHLCV data
* Intraday data processing
* PostgreSQL
* Data engineering
* Stock screeners
* Financial dashboards
* Quantitative research tools
* Large historical data collection
* Chart generation from OHLCV data
* Exporting datasets in CSV, Excel, JSON, Parquet, and database formats
Please include examples of similar financial data tools, stock scanners, screeners, charting tools, or market data pipelines you have built.
---
Based on the longer work description you provided.