潜龙出水·放量五池选股(赵云第三课 9.23 版)
课件命题:看懂主力启动信号 → 跟随主力,入场即是拉升(吃主升浪)。
本工具把第三课「潜龙出水(抓一浪)」工程化,并在课程四条件基础上显式加入「放量」维度(课程原话:「价格是城,量能是兵」),按满足的信号个数把候选股分成五等池,方便分批跟踪。
完整干货见 references/lesson3-ganhuo.md(从《点龙睛·抓龙头吃主升》9.23 版课件 66 页提取)。用户问「讲讲第三课 / 第三课讲了什么」时,读该文件作答。
触发后直接执行(出报告 / 选股看板,不要只讲方法)
PY="<python 解释器>" # managed python:.../python.exe(screener.py 用 sys.executable 调用问财 CLI,无需指定)
S="<技能目录>/qianlong-chusheng-screener/scripts/screener.py"
OUT="<输出目录绝对路径>" # 必须绝对路径(Windows 用 C:/... 形式)
"$PY" "$S" "<代码或名称>" --out "$OUT" [--json] # 单票潜龙出水六信号报告
"$PY" "$S" "<代码>" --realtime --out "$OUT" # (占位)叠加实时价
"$PY" "$S" --screen --iwencai "近10日涨停" --iwencai-limit 50 --iwencai-pages 2 --top 15 --out "$OUT" # 同花顺i问财宽口候选(主推)
"$PY" "$S" --screen --watchlist 600519,000993,300750 --out "$OUT" # 指定股票池筛选
"$PY" "$S" --screen --sina --top 12 --out "$OUT" # 新浪涨幅榜候选(弱种子)
--iwencai 数据源(同花顺 i 问财 OpenAPI,主推):
- 经 hithink-astock-selector/scripts/cli.py 取自然语言查询候选,再本工具六信号精筛。
- 支持 | 分隔多条 query 取并集(例:"近10日涨停|今日涨幅大于5%|昨日涨停"),可按代码自动去重。
- 缺省值即上述三组:单条 query 每次返回的集合会波动,覆盖面不足会漏掉真正的核心票(实测:100 只候选时核心池 0 只,扩到 139 只后回到 4 只),务必保留多组并集。
- --iwencai-limit(每页条数,默认 50)、--iwencai-pages(每组翻页数,默认 2)。
- 环境变量自举:Bash 运行时不一定 source ~/.bash_profile,screener.py 会主动读取 IWENCAI_API_KEY/IWENCAI_BASE_URL 注入子进程;写在 profile 即可,无需手动 export。
输入:600519 / 贵州茅台 / sz300750 / 300750.SZ 均可,自动反查。
输出:
- 单票 → <名称>_<代码>_潜龙出水报告.html(内嵌 SVG K线+六信号卡+进场点+适用性,离线可开);--json 另导出指标 JSON。
- 选股池 → 潜龙出水五池看板.html + 潜龙出水五池.json。HTML 为暗色看板:左侧档位导航(总览/核心池/潜力池/备选池/观察池/风险池,带计数徽章)+ 顶部统计卡(候选总数/入池数/核心数/进场信号数)+ 表格/卡片双视图切换 + 点击个股弹层(SVG K线标注涨停日/多头防线/牢笼顶/再次放量日 + 六信号卡 + 进场点 + 适用性)。详情为预渲染隐藏 div(id="det-<code>"),无需网络。
判定体系:六信号(2026-09-28 按用户案例图修正口径)
> 用户口径:1低位涨停 → 2涨停后洗盘<10日且调整不跌破低位涨停 → 3突破洗盘期最高点即为进场点,进场日须为放量大阳(最好涨停)且同日突破5日均线,并突破前期高点解套。核心池必须是「形态完整且进场日已触发」。
| # | 信号 | 工程判定 |
|---|---|---|
| S1 | 低位涨停 | 近 20 日内存在涨停锚点,锚点收盘处近 120 日区间下 45%(长期底部) |
| S2 | 放量涨停 | 涨停当日量能 ≥ 近 20 日均量 ×1.5(课程「量能是兵」) |
| S3 | 洗盘<10日 | 涨停日距最新交易日 ≤ 10 个交易日(太长热度散、太短洗不净) |
| S4 | 洗盘不破涨停 | 调整期间最低价 ≥ 涨停日最低价×0.995(不跌破低位涨停=画地为牢) |
| S5 | 进场日触发 | 最新交易日:涨幅≥5%(大阳/涨停)+量比≥1.5+收盘突破洗盘期最高点+收盘站上5日均线(四者同一天) |
| S6 | 解放套牢盘 | 最新收盘 ≥ 近 30 个交易日最高点(2026-09-28 用户定为 30 日;突破前期高点,扫清抛压) |
进场点=突破洗盘期最高点那一天(锚点次日起至前一日的最高价),且该日放量大阳/涨停+站上5日线——三者同日才算触发;未触发的形态完整股只入潜力池。
五池分级(2026-09-28 用户定稿:四条件 + 今日涨停)
四条件:①低位涨停 ②洗盘<10日不破涨停 ③进场(突破洗盘高点+放量大阳/涨停+5日线,同日)④解套(突破近30个交易日最高点)。
| 池 | 判定 |
|---|---|
| 核心池 | 四条件全满足 且 今日涨停(进场日为涨停板)且解套 |
| 潜力池 | 缺 1 个条件(如:今日放量大阳突破但非涨停 / 进场未解套 / 洗盘超时等) |
| 备选池 | 缺 2 个条件(典型:形态完整但未突破——缺进场+解套) |
| 观察池 | 仅今日首板(今日涨停且近10个交易日内无其他涨停)——这是观察池的唯一入口,优先级高于条件计数,所以池内可能有条件全缺的首板股 |
| 风险池 | 缺 3 个及以上条件(含今日放量大阳但无形态者)/调整跌破涨停日低点/近期无涨停锚点 |
> 2026-09-28 二次确认:原本「缺 3 个条件」的股票也落在观察池,导致观察池混入 34 只非首板票。现按用户决定,这些一律降入风险池,观察池只留今日首板。
排序:分数↓ → 进场信号(True优先) → 新鲜度(洗盘天数)↑。
选股候选来源(重要)
- 主推
--iwencai:同花顺 i 问财自然语言宽口 + 六信号精筛。需IWENCAI_API_KEY(见上)。 - 必须多组 query 取并集:单条 query 每次返回的股票集合会波动(实测同一 query 两次跑,核心票江淮汽车/九阳股份会漏掉),因此
--iwencai支持|分隔多条,内置默认值为
近10日涨停|今日涨幅大于5%|昨日涨停(实测候选从 100 → 139 只,核心池 0 → 4 只)。 - 未指定任何候选源时(只有
--screen)自动使用上述默认三组,不会空跑。 --exclude-st:排除 ST / *ST 标的(ST 股涨停仅 5%,形态易失真,默认不过滤)。--watchlist:用户关注池(最贴合「近期涨停后回调」的标的),或问财手筛后喂入。--sina:新浪沪深A股涨幅榜兜底种子,但对潜龙出水是弱种子(涨幅榜前列高位,常命中 0 只)——属预期,非 bug。- 东财
push2his在本环境偶发被拦,已内置新浪回退;有网环境自动切换。
回复用户时必须讲清两层结论
- 严格照课件标准的判定(脚本给的六信号 / 命中分 / 所属池 / 进场信号 / 实测数值)。
- 方法适用性偏差 —— 脚本按近 250 日日均振幅自动评级:
- 振幅 ≥4% 或涨停 ≥3 次 → 适配良好
- 振幅 ≥2% → 基本适配
- 振幅 <2% → 适配性弱:大市值/机构定价标的连板结构难现,低位涨停/回调不破判定易失效 - 市场维度「找真龙」(热点板块领涨、连板天梯高度龙头)需 i 问财人工复核;脚本只负责技术维度。
> ⚠️ 非买卖建议。投资有风险,决策自负。
已踩过的坑(改动脚本时勿回退)
- 涨跌停限制必须自适应:主板 10%、创业板 300/301 与科创板 688/689 20%、ST 5%、北交所 30%。阈值取
limit × 0.97留余量;写死 9.8% 会漏判创业板涨跌停。 - 文件名非法字符:
*ST闻泰的*会让 Windows 写盘失败,必须safe()清洗\/:*?"<>|。 - 数据源:✅ 东财
push2his.eastmoney.com/api/qt/stock/kline/get(secid=市场.代码,fqt=1前复权,volume 单位=手需 ×100)——K线主源;✅ 新浪money.finance.sina.com.cn/.../CN_MarketData.getKLineData(前复权,volume 单位=股)——回退;✅ 东财searchapi.eastmoney.com/api/suggest/get反查;❌ 新浪CN_MarketData.getHQNodeData不存在,候选榜要用Market_Center.getHQNodeData。 - 数据需 ≥60 根日线才能跑(均线/形态),新股显式报错。
- HTML 模板用拼接注入 CSS:CSS 里
100%必须写成100%(本工具是拼接非%格式化,勿再写成100%%,否则污染样式)。 - 脚本文件名勿叫
select.py:会与 Python 标准库内建模块select冲突(import select永远命中标准库)。本工具已命名为screener.py。 - K线不足 nbar 根时坐标偏移:SVG 只画最近
n根,w0 = N - n,全局索引经X(i)映射,i < w0的标注直接跳过。 - 分级按四条件计数(①低位涨停 ②洗盘不破 ③进场 ④解套):核心须今日涨停;缺1→潜力、缺2→备选、今日首板→观察、全不满足或破涨停低点→风险。
回归测试
改脚本后至少跑这组,覆盖涨跌幅限制、命中、文件名清洗、选股池:
"$PY" "$S" 600519 --out "$OUT" # 主板10% / 适配性弱 / 大概率不触发(无近期涨停)
"$PY" "$S" 300750 --out "$OUT" # 创业板20% / 自适应 / 不触发
"$PY" "$S" *ST闻泰 --out "$OUT" # ST 5% / 文件名清洗(*→无)
"$PY" "$S" 000993 --out "$OUT" # 连板龙头 / 潜龙出水 6/6 核心池(验证正向判定)
"$PY" "$S" --screen --watchlist 600519,000993,300750,000573 --out "$OUT" # 选股池冒烟(应命中000993)
"$PY" "$S" --screen --iwencai "近10日涨停" --iwencai-limit 20 --iwencai-pages 1 --out "$OUT" # 问财宽口(验证 Key 自举+五池分布)
校验:单票 HTML d.count('%%')==0 且 d.count('%(')==0 且 <svg>/</svg> 各 1;看板 HTML 检查六档 section 齐全、详情弹层数==候选数、无残留 %%/%(。
与其它课/技能的关系
- 第一课《寻龙诀》龙头基因、第二课《震龙躯》震仓、第四课《观龙势》筹码峰、第五课《定龙时》分时狙击。
- 同系列「潜龙出水」单招旧版:
zhaoyun-qianlong-chusheng(六档板,无显式放量维度);二波「龙腾九霄」:zhushenglang-juejinchi-zhiyue智跃版。本技能是其放量增强 + 五池分级的独立版本。