nse-vcp-screenerlisted
Install: claude install-skill ajeeshworkspace/indian-trading-skills
# NSE VCP Screener
## Overview
This skill screens Indian stocks (Nifty 50/200/500) for Mark Minervini's Volatility Contraction Pattern (VCP). The VCP identifies stocks in Stage 2 uptrends that are forming tightening bases with declining volume — the classic setup before a potential breakout.
The screening pipeline has 3 phases:
1. **Pre-filter**: Quick quote-based filtering to eliminate obvious non-candidates
2. **Trend Template**: Apply Minervini's 7-point Stage 2 criteria using 260-day histories
3. **VCP Detection & Scoring**: Pattern analysis with 5-component composite scoring
## Data Source
This screener uses **yfinance** with `.NS` suffix for NSE stocks and the **niftystocks** package for stock universe lists. No paid API keys required.
## Execution
```bash
python3 scripts/screen_vcp.py --universe nifty500
```
### Command-Line Arguments
| Argument | Default | Description |
|----------|---------|-------------|
| `--universe` | `nifty50` | Stock universe: `nifty50`, `nifty200`, `nifty500`, or `custom` |
| `--custom-tickers` | — | Comma-separated tickers for custom universe (e.g., `RELIANCE,TCS,INFY`) |
| `--min-contractions` | `2` | Minimum number of contractions (2-4) |
| `--t1-depth-min` | `10` | Minimum T1 contraction depth % |
| `--t1-depth-max` | `40` | Maximum T1 contraction depth % |
| `--contraction-ratio` | `0.75` | Each contraction must be ≤ this ratio of the previous |
| `--min-contraction-days` | `5` | Minimum days per contraction |
| `--lookback-days`