CSP Scanner
Filters the universe to cash-secured-put candidates: rich IV, uptrend, liquid, clear of earnings.
How to install in ThinkorSwim
- In ThinkorSwim, open a chart, then go to Studies → Edit Studies.
- Click Create, clear the editor, and paste the code.
- Name it, click Apply, then OK, and it draws on your chart.
How to Use — WTP_CSP_Scanner
Narrows the universe to good CSP names. Strike picking still happens in the chain. Educational, not advice.
What it is (one line)
A stock-level filter for cash-secured-put candidates: rich IV and a healthy uptrend and real liquidity and clear of a just-printed earnings and not over-extended. Run it on daily aggregation as a Scan filter or a watchlist column.
Who it's for & best timeframe
- Premium sellers. Run it daily (pre-market or evening) to build the day's CSP watchlist. Strike/DTE selection happens afterward in the option chain.
The filters (all must pass)
| Filter | Rule | Why |
|---|---|---|
| IV Rank | ≥ minIVRank (50) | premium is rich vs its own year |
| Trend | 50>200 SMA and price > 200 | sell puts with the trend, not against it |
| Liquidity | 50-day avg volume ≥ minAvgVolume (1M) | the options actually trade |
| Earnings clear | > earningsClearBars (5) bars since earnings | avoid names on top of an event |
| Pullback | RSI ≤ maxRSI (60) | prefer pulled-back, not extended |
How to run it
- Scan tab: Add filter → Study →
WTP_CSP_Scanner→ "Scan is true"; set scan
aggregation to Day.
- Watchlist / quote column: Add custom column →
WTP_CSP_Scanner→ display the
WL plot (shows IV Rank, green when the name passes).
Settings
minIVRank(50),minAvgVolume(1,000,000),earningsClearBars(5),
maxRSI (60), usePullbackFilter (yes), MA lengths 50/200.
Important limitation
The earnings filter sees PAST earnings only. Always confirm there's no UPCOMING earnings inside your expiration on the chart (WTP_Earnings) or in the option chain.
Option-chain setup (no code — built-in columns)
Trade tab → Option Chain → layout dropdown → Customize, then add columns: Delta, Prob OTM, Open Int, Bid, Ask. Yield / % return is not a built-in column and custom option-chain columns can't cleanly read strike + DTE per row — compute it by hand from Mark + strike + days.
The full CSP read
WTP_CSP_Scanner finds the name → WTP_IVRank confirms rich premium → WTP_VolumeProfile picks the shelf/strike → WTP_Earnings clears the event → WTP_DailyTrend confirms the regime. That's the whole workflow on one screen.
Video script outline
- Hook: "One scan builds your entire cash-secured-put watchlist."
- Walk the five filters and why each matters.
- Run it as a scan + as a watchlist column.
- Caveat: confirm upcoming earnings yourself.
- Hand off to the chain for strike/DTE. Import link.
Educational analysis, not financial advice.
← Back to all 103 indicators