Project: Pre-market Stock Screener
This custom stock screener was built to streamline the pre-market scanning process by extracting and organizing real-time stock data from multiple online sources. It consolidates and categorizes stocks into key actionable groups to help identify high-probability trading setups for the current session. The screener presents data in the following prioritized order:
-
Earnings Movers: Stocks reacting to earnings releases with significant pre-market price/volume changes
-
News-Based Movers: Stocks moving due to major news events unrelated to earnings
-
Earnings Surprises: Companies with earnings deviations but lacking early volume
-
Second-Day Plays: Stocks that had notable moves in the previous trading session
-
Overbought Setups: Stocks showing potential for a technical pullback or reversal
The result is a focused, trader-ready list that supports informed and rapid decision-making at market open.
https://youtu.be/k-bRfOLc4VI
Take a look inside





Technologies Used
Python:
- Front-end: flask (with HTML & Javascripts)
- Back-end: numpy, pandas, requests, httpx
Motivation
The screener was created to automate the often time-consuming and manual process of filtering stocks for day trading. By organizing real-time data into specific categories, it helps narrow down the universe of tickers to only those with meaningful catalysts, improving both efficiency and quality of trade selection.
Challenges & Learninigs
- Workflow Efficiency: Gained experience in building tools that fit seamlessly into a real-world trading workflow, optimizing for speed and relevance.
- Market Domain Knowledge: Building the screener significantly deepened my understanding of market structure, earnings cycles, and how catalysts impact intraday volatility. This domain insight was essential for transforming raw data into meaningful filters, and for mapping specific indicators (e.g., gap size, float, ATR) to trading strategies in a quantitative, hypothesis-driven way.
- Quantitative Thinking in Design: Throughout development, the project demanded a systematic approach to evaluating which features and filters enhanced predictive value. By combining structured logic with exploratory analysis, I created a tool that supports data-driven trade selection rooted in both statistical and contextual understanding of the market.
- Signal Relevance & Indicator Filtering: A key challenge was determining which data points (e.g., earnings beats, unusual volume, sector momentum) were statistically relevant to different intraday trading strategies.
- Data Collection Complexity: Aggregating data from multiple financial news and data websites involved handling different formats, structures, and update intervals.
- Rate Limiting & Stability: Encountered and overcame challenges related to API and web scraping rate limits by implementing caching strategies, staggered requests, and failover logic.
- Flask Web Development: Built a lightweight, modular Flask app to serve and display the screener’s real-time results.