A股雷达-钱米AI
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-dzobs9ce--a-share-radar.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-dzobs9ce/a-share-radar。A股雷达:每天收盘后扫一遍全市场,出一份《A股雷达日报》。当用户要求「跑一下雷达」「生成今天的雷达日报」「看今天的市场」「今天有什么机会」「扫一遍今天的票」「更新工作台」「生成观察工作台」时使用。输出一份单文件 HTML,含七块:今日概况(涨跌家数红绿对比、市场热度、指数)、每日机会(超跌缩量名单,附尽调引导)、结构观察清单(威科夫形态分级 A/AA/AAA 带失效价)、长期研究、解禁提醒、行业观察、数据说明。
回测结论固定在参考基线里不重算,每日只更新行情与扫描结果。不给买卖建议、不给仓位。触发关键词:A股雷达、雷达日报、每日机会、结构观察、A股扫描、威科夫、形态分级、市场热度、观察工作台。
阅读全文 (展开查看完整说明)
概述
A股雷达
每天出一份页面,回答三件事:今天市场什么状态、有哪些跌到位置且抛压变轻的票、正在跟踪的结构到哪一步了。
不给买卖建议,不给仓位,不预测涨跌。页面上每个数字都能追到出处。
这个技能分两层,别搞混
| 层 | 内容 | 更新节奏 |
|---|---|---|
| 回测基线 | 历史信号按持有 20 日算出来的胜率、超额、分档表现 | 固定。存在 out/ 下,带哈希清单,每次启动只校验不重算 |
| 每日数据 | 今日涨跌家数、热度、指数、新扫出的机会与观察清单 | 每天更新 |
用户说"更新工作台"时,只跑每日那层。回测重跑要几分钟且结论不会天天变,每天重算既慢又会让页面上的胜率无谓漂移。
标准流程
1. 跑每日更新(唯一必做的一步)
python daily.py- 默认取最新交易日,联网抓清单与快照,补齐当日日线,然后扫描出页面
- 约 1–3 分钟(取决于网络)
- 首次运行会自动解压种子库(
data/seed.db.gz→data/scan.db,约 5 秒),
不需要先跑 setup.py
- 不联网时加
--offline(用库里已有数据) - 指定日期用
--date 2026-10-27 - 出完自动打开浏览器用
--open
输出位置:out/<年月日>雷达日报/A股雷达日报-<日期>.html,例如 out/20261028雷达日报/A股雷达日报-2026-10-28.html;同时复制一份到 out/latest/(目录固定,文件名带日期)。
文件名带中文与日期是有意的:发到微信、邮件里,对方一眼知道这是什么、哪天的。index.html 在这种场景下等于没名字。
2. 换机器 / 出问题时先自检
python setup.py --verify # 只验发布包完整:缺哪个文件、哪个坏了,逐个点名
python setup.py # 完整安装自检:解库 + 验包 + 验基线--verify 会按 _manifest.json 逐个核对字节数与哈希。装到别人电脑上出问题,先跑这一条,它能直接回答"到底少了什么",比反复重装省事。
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 | 安装自检;--verify 单独验发布包 |
_manifest.json | 发布包清单(每个文件的字节数与哈希),排障用 |
init_history.py | 可选:拉更长历史(种子库缺失时的兜底) |
collect_bars.py | 日线采集;--repair 补缺口、--prune 清残缺日期 |
baseline_tool.py | 查看/校验/封存回测基线 |
config/settings.json | 全部阈值。改参数不改代码 |
out/_baseline.json | 基线清单(含每个文件哈希与口径) |
out/latest/ | 最近一次结果 |
data/scan.db | 本地日线库,首次从 data/seed.db.gz 自动解压 |
data/seed.json | 种子库身份卡(字节数、哈希、日期区间) |
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,也没有种子库 | 发布包没带全(种子库 25 MB,最容易被漏)。python setup.py --verify 看缺哪些文件,重新完整解压;实在没有种子就跑 python init_history.py --days 140(约 10–20 分钟) |
data/seed.db.gz 文件不完整 / 哈希校验不通过 | 传输被截断。重新拷一次发布包,不要手工补文件 |
现有 data/scan.db 历史不够 | 库被截断或只拉了几天。python init_history.py --days 140 补齐 |
页面市场涨跌幅是 -- | 当日日线没补上。python collect_bars.py --from-snapshot 单独补 |
| 观察清单空了 / 分级"初筛 0" | 库里有覆盖极低的残缺日期,顶掉了最新交易日。python collect_bars.py --prune 清理;daily.py 遇到会主动提示 |
| 联网取数失败 | 检查网络;公司网需代理时设 HTTPS_PROXY |
| 数据只到几天前 | python collect_bars.py --repair 补缺口 |
没有 HTML 就是失败,不要拿纯文字汇报顶替。 页面生不出来时,daily.py会以非零码退出并写清原因;把那段原文发出来,另存一份 data.json 供核对,不要因为它不出图就改口说"今天数据没意义"。
种子库缺失的影响范围
种子库解压出来的 data/scan.db 是所有计算的数据源。它不在,页面上这四块全部为空:
| 区块 | 依赖 |
|---|---|
| 今日概况(涨跌家数、热度、指数) | 当日快照 + 日线(算等权指数与 20 日市场涨跌) |
| 每日机会(超跌缩量名单) | 20 日/5 日涨跌、量比、60 日区间位置 |
| 结构观察清单(A/AA/AAA 分级) | 130 日形态、回撤、回吐比例 |
| 长期研究、行业观察 | 日线与成分股合成指数 |
不受影响的:out/ 下的回测基线(胜率、超额、分档结论)是固定文件,与数据库无关;页面渲染逻辑也与种子库无关。所以"出不了 HTML"不是渲染器坏了,是流程在渲染之前就因为没有数据退出了。