下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-dzobs9ce--a-share-opportunity-scan.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-dzobs9ce/a-share-opportunity-scan。生成 A 股每日机会扫描页面。当用户要求「生成今天的观察工作台」「看今天的市场」「今天有什么机会」「跑一下日报」「更新工作台」「扫一遍今天的票」时使用。输出一份单文件 HTML,含七块:今日概况(涨跌家数红绿对比、市场热度、指数)、每日机会(超跌缩量名单,附尽调引导)、结构观察清单(威科夫形态分级 A/AA/AAA 带失效价)、长期研究、解禁提醒、行业观察、数据说明。
回测结论固定在参考基线里不重算,每日只更新行情与扫描结果。不给买卖建议、不给仓位。触发关键词:观察工作台、每日机会、结构观察、A股扫描、威科夫、形态分级、市场热度。
阅读全文 (展开查看完整说明)
概述
A股机会扫描工作台
每天出一份页面,回答三件事:今天市场什么状态、有哪些跌到位置且抛压变轻的票、正在跟踪的结构到哪一步了。
不给买卖建议,不给仓位,不预测涨跌。页面上每个数字都能追到出处。
这个技能分两层,别搞混
| 层 | 内容 | 更新节奏 |
|---|---|---|
| 回测基线 | 历史信号按持有 20 日算出来的胜率、超额、分档表现 | 固定。存在 out/ 下,带哈希清单,每次启动只校验不重算 |
| 每日数据 | 今日涨跌家数、热度、指数、新扫出的机会与观察清单 | 每天更新 |
用户说"更新工作台"时,只跑每日那层。回测重跑要几分钟且结论不会天天变,每天重算既慢又会让页面上的胜率无谓漂移。
标准流程
1. 先自检(首次使用或换机器时)
python setup.py --check检查 Python 版本、数据库、回测基线、可选联网。三项都 OK 才继续。
首次安装(解压种子库):
python setup.py2. 跑每日更新
python daily.py- 默认取最新交易日,联网抓清单与快照,补齐当日日线,然后扫描出页面
- 约 1–3 分钟(取决于网络)
- 不联网时加
--offline(用库里已有数据) - 指定日期用
--date 2026-10-27 - 出完自动打开浏览器用
--open
输出位置:out/<年月日>机会扫描/index.html,例如 out/20261028机会扫描/index.html;同时复制一份到 out/latest/index.html(固定路径,方便脚本与习惯调用)。
3. 把结果讲给用户听
跑完先读 out/latest/data.json,再按下面的顺序汇报,不要只丢文件路径:
1. 今天市场什么状态
读 heat.label / heat.score / heat.up / heat.down / heat.amount / indices
例:热度 20「冰点」,涨 569 / 跌 4596,成交 1.46 万亿,上证 −1.33%
2. 今天有没有机会名单
读 opp.state(act=满足出手条件 / wait=不满足)和 opp.picks
每只报:代码 名称 板块 现价 20 日涨跌 量比 失效价
state=wait 时必须说清"今天不满足出手条件",不能照样推荐
3. 观察清单在跟踪什么
读 watch,按 level 分组数一下
挑 2–3 只讲形态走到哪一步、什么价位算判断错了
4. (可选)长期研究、解禁、行业必须同时说清的三句话(少一句都算误导):
- 名单只说明"跌得多 + 抛压变轻",不说明它会涨,也不说明它便宜
- 动不动手要先做尽调:基本面、股东与解禁、行业位置
- 胜率是单笔持有 20 日的统计,不是账户收益,也没扣手续费
4. 需要重算回测时(很少用)
python baseline_tool.py show # 先看当前基线是什么口径
# 跑对应实验脚本后
python baseline_tool.py seal # 把新结论封存为新基线改完必须重新 seal,否则 daily.py 会报"文件与清单不一致"——这是故意的,防止页面上的胜率悄悄变了而说明文档没跟着改。
关键文件
| 路径 | 作用 |
|---|---|
daily.py | 每日入口(用户唯一需要跑的) |
setup.py | 首次安装与自检 |
init_history.py | 可选:拉更长历史(只有重算回测才需要) |
baseline_tool.py | 查看/校验/封存回测基线 |
config/settings.json | 全部阈值。改参数不改代码 |
out/_baseline.json | 基线清单(含每个文件哈希与口径) |
out/latest/ | 最近一次结果 |
data/scan.db | 本地日线库,首次从 data/seed.db.gz 解压 |
docs/说明.md | 给人读的完整手册 |
docs/方法与局限.md | 这套方法是什么、哪些事做不到 |
页面里的七个区块
01 今日概况 — 涨跌家数红绿对撞条、涨跌停块、热度环、指数、四句解读02 每日机会 — 超跌缩量名单,每张卡带"复制去尽调";下方三组胜率对照与「一赚二平七亏」基准03 结构观察清单 — 威科夫形态分级(A / AA / AAA),每张卡说清为什么是这个级别、还差什么、哪个价位算错04 长期研究 — 财务指标池05 解禁提醒 — 未来 30 日限售解禁(只查观察清单与长期池)06 行业观察 — 板块强度,红涨绿跌07 数据说明 — 数据来源、口径、覆盖缺口、历史检验结论、免责
硬约束(改代码时不许破坏)
- A股配色:涨/买入红
#c0322b,跌/止损绿#12795a。禁止用绿色表示买入。 - 单文件 HTML:无外链、无 CDN、不内联图表库。页面必须能离线双击打开、能直接发微信。
- 阈值全部在
config/settings.json,代码里不写死。 - 诚实性断言在
core/render.py::_assert,构建时强制检查:不得出现"核心机会/买入区/仓位建议"等词;
分级卡必须有失效价且含数字;必须有"未纳入观察"区块;不得有外链与 %%。
- 持有期统一 T+20,不统计 5/10 日,不引导短线。
- 入场时点必须是当时可知的(Spring 记收复日、SOS 记确认日)。任何"事后才知道成立"的价格入场算前视作弊。
- 回测基线文件不得手动编辑。要更新就重跑脚本 +
seal。
判断这套方法值不值得用
页面上"数据说明"里写得很直白,汇报时也不要美化:
- 四类威科夫形态的原始 T+20 超额是负的(约 −0.90%),三档级别也在同一量级
- 这套方法没有可验证的选股能力,A 股 20 日维度偏反转而非动量
- 但它有一个真实作用:说清现在处在什么位置、什么价位算看错了
- 分级模型的"每日机会"(超跌+缩量)比追涨好很多,但比"同日随机挑"只好 0.4 个百分点,
好处主要来自择时,不是选股
如果用户问"这个能赚钱吗",照上面回答,不要含糊。
常见故障
| 现象 | 原因与处理 |
|---|---|
回测基线不完整 | out/ 下缺文件。从发布包恢复,或 python baseline_tool.py check 看缺哪个 |
文件与清单不一致 | 基线被改过。无意改动就恢复文件;有意更新则 python baseline_tool.py seal |
找不到 data/scan.db | 首次使用没跑 python setup.py |
页面市场涨跌幅是 -- | 当日日线没补上。python collect_bars.py --from-snapshot 单独补 |
| 联网取数失败 | 检查网络;公司网需代理时设 HTTPS_PROXY |
| 数据只到几天前 | python collect_bars.py --repair 补缺口 |