Building a Nasdaq 100 Puts Screener
Welcome back to my portfolio blog! As I continue exploring the fascinating world of algorithmic trading, I wanted to share one of my recent projects: a Put Options Screener designed to identify lucrative cash-secured put selling opportunities on stocks within the Nasdaq 100 Index.
This journey has been both challenging and rewarding — every project teaches me something new about market dynamics and the power of automation. Today, I’ll walk you through how I built this screener, what it does, and what I’ve learned along the way.
Why a Puts Screener?
Selling puts can be a conservative way to generate income, especially when you have a bullish-to-neutral outlook on a stock. The idea is to identify stocks where selling puts could be profitable, with favorable risk/reward profiles.
However, manually screening stocks based on trend, momentum, and options data can be time-consuming. That’s where automation comes in. I aimed to build a tool that quickly filters and analyzes potential candidates, saving me time and helping me make data-driven decisions.
How the Puts Screener Works
This project is powered by Python and uses data from Polygon, a comprehensive provider of financial data. Here’s a quick rundown of its features and functionalities:
Key Features:
Stock Screening Based on Technical Indicators:
Price trend regimes
Relative Strength Index (RSI)
Z-score of price movements
Percentage from 400-day highs
Option Data Analysis:
Pulls option chain data for selected stocks
Focuses on ~25% out-of-the-money puts
Supports multiple expiration dates: 2025-09-19, 2025-12-19, 2026-03-20 (editable)
Calculations & Metrics:
Option yield
Bid-ask spread
Greeks (delta, gamma, theta, vega)
Implied volatility
Export & User-Friendliness:
Exports filtered results to an Excel workbook with sheets organized by expiry date
Simple execution via a batch file (`execute.bat`)
Visually appealing progress bar during runtime (see attached screenshot) — I love how it makes the process look cool and professional!
How to Run It
To use the screener:
Ensure your Polygon API key is configured
Double-click `execute.bat`
Wait for it to analyze stocks and options (here's where the progress bar adds a nice touch)
Retrieve the output Excel file from the `excel_output` folder (filename: `Puts_Screener_{date}.xlsx`)
Final Thoughts
This project has been a fantastic learning experience for me:
Diving deeper into options metrics and technical analysis
Automating tedious tasks to make quicker, more informed decisions
Improving my Python scripting and data handling skills
Final Words
Building this puts me one step closer to my goal of creating a fully automated algo trading toolkit. Each project, like this puts screener, helps me understand market behavior better and refine my strategies.
Thanks for following my journey! Feel free to reach out if you want to collaborate or share your own algo trading projects.
Happy trading and coding!
—Ian