用途:用于筛出印度 Nifty 50/200/500 股票池中符合 Mark Minervini 波动收缩形态(VCP)的候选股,旨在识别处于第 2 阶段上升趋势、形成逐步收紧整理区间且成交量下降的股票,即潜在突破前的经典形态。
主要能力:筛选流程分为三个阶段:1)预过滤,基于快速行情数据剔除明显不符合的股票;2)趋势模板,使用 260 日历史数据应用 Minervini 的 7 项第 2 阶段标准;3)VCP 检测与评分,进行形态分析并使用五分量综合评分(趋势模板 25%、收缩质量 25%、成交量形态 20%、枢轴邻近度 15%、相对强度 15%)。程序支持自定义股票池、收缩次数(2-4)、第一段收缩深度区间、收缩比例(每段收缩不超过前一段的指定比例)、每段最少天数、回看天数、突破成交量比、趋势模板最低分,以及输出目录。
使用方式:按资料执行 python3 scripts/screen_vcp.py --universe nifty500 运行;可将参数如 --custom-tickers、--min-contractions、--t1-depth-min、--t1-depth-max、--contraction-ratio、--min-contraction-days、--lookback-days、--breakout-volume-ratio、--trend-min-score、--output-dir 按需传入。运行后生成 JSON(结构化数据)与 Markdown(可读报告)到输出目录,再结合 references/vcp_methodology.md 与 references/scoring_system.md 解读结果,并对高分候选呈现综合分、收缩结构(T1/T2/T3 深度与持续时间)、成交量萎缩比、枢轴(突破价)、相对 Nifty 50 的相对强度,以及接近枢轴程度、成交量确认或背离、F&O 到期或财报季影响、F&O 手数(若属于 F&O 板块)等可操作要点。
适用场景:面向印度股市的 VCP 形态研究与突破前候选筛选,适合需要按 Minervini 第 2 阶段标准与收缩结构进行系统化扫描的分析场景。
限制与印度市场适配:数据来自 yfinance(.NS 后缀)与 niftystocks 包,无需付费 API 密钥;股票池为 Nifty 50/200/500 而非标普 500;相对强度基准为 Nifty 50(^NSEI);第一段收缩深度区间放宽至 10-40%(美股为 8-35%)以适配小盘股更高波动;触及涨跌停的股票可能出现虚假 VCP 形态,结果中会标注;流动性过滤为最低日均成交额 1 千万卢比,以剔除流动性不足的股票;结果会标明股票是否属于 F&O 板块。其他未在资料中说明的收费、平台或效果信息暂未提供。