Agent Skillsqusong0627/QuantMind › daily-review

daily-review

GitHub

A股盘后复盘技能,自动执行取数脚本获取行情、情绪及模型信号数据,生成包含次日研判的结构化报告并转为PDF落盘。

skills/daily-review/SKILL.md qusong0627/QuantMind

Trigger Scenarios

复盘 每日复盘 今日复盘 盘后复盘 复盘20260814

Install

npx skills add qusong0627/QuantMind --skill daily-review -g -y
More Options

Use without installing

npx skills use qusong0627/QuantMind@daily-review

指定 Agent (Claude Code)

npx skills add qusong0627/QuantMind --skill daily-review -a claude-code -g -y

安装 repo 全部 skill

npx skills add qusong0627/QuantMind --all -g -y

预览 repo 内 skill

npx skills add qusong0627/QuantMind --list

SKILL.md

Frontmatter
{
    "name": "daily-review",
    "description": "A股每日复盘(专业版)— 基于 QuantDB 本地数据 + 当日新闻情绪 + 模型推理信号 + L1\/L2 因子截面 + 板块资金流的盘后复盘:指数、涨跌结构与涨停梯队、量能、行业\/概念轮动、资金面、L2 微观结构、当日有新闻股票匹配、模型推理信号复盘(昨日推理命中率 + 明日信号Top5)、次日走势方向研判(六维信号加权 → 明确方向+置信度)。用户说「复盘」「每日复盘」「复盘某天」时使用:跑取数脚本(daily_review + news_review)→ 按模板写复盘报告 → 转 PDF → 落盘股票报告目录 → 聊天回复速览。触发词:复盘、每日复盘、今日复盘、盘后复盘、复盘20260814"
}

⚙️ 运行环境契约(最高优先级,先于本文其余内容执行)

本技能可能运行在 QuantBot(QwenPaw 容器)宿主机/本地 Claude Code。执行前先探测环境(which docker、API 连通性),并遵守以下映射规则:

  1. 后端 API 地址:QwenPaw / 容器网络内一律用 http://quantmind:8000quantmind 是 docker 网络别名);仅宿主机调试用 http://127.0.0.1:8000。正文中出现的 127.0.0.1:8000localhost:800x,在 QwenPaw 环境下自动替换为 http://quantmind:8000
  2. 取数脚本执行:凡 import 了 pandas / duckdb / psycopg2 / numpy / sqlalchemy 等重依赖或 backend 包的脚本,必须在 quantmind 容器内执行(QwenPaw 本地 venv 无这些依赖):
    docker cp <脚本路径> quantmind:/tmp/<脚本名> && docker exec -w /app quantmind python3 /tmp/<脚本名> <参数>
    
    脚本源三选一:宿主机 repo skills/<name>/scripts/、QwenPaw 工作区 /app/working/workspaces/default/skills/<name>/scripts/、挂载目录 /quantmind/skills/<name>/scripts/。纯标准库脚本(无重依赖)可在 QwenPaw 本地直接跑。
  3. 报告落盘:股票报告页可见的 MD/PDF 报告,直接写 /data/reports/trading_agents/{市场或类别}/{股票名}/(QwenPaw 对 /app/db 有写权限,直接写文件,不要 docker cp);过程数据 facts 写 /data/reports/<类别>//data 可写)。
  4. MD → PDF 转换(按优先级降级): ① docker exec -w /app quantmind python3 backend/scripts/md_to_pdf_report.py <输入.md> <输出.pdf>(研报级排版,首选); ② docker 不可用时,改用 QwenPaw 内置 pdf 技能把 MD 转成 PDF; ③ 两者都不可用则只交付 MD,并明确告知用户 PDF 未能生成及原因。
  5. 本文中的 ~/.claudecp -r ... ~/.claude/skills 等说明仅适用于本地 Claude Code 维护者,QuantBot 不要执行

daily-review — A股每日复盘(专业版)

盘后固定动作:把 QuantDB 当天数据 + 当日新闻情绪 + L1/L2 因子截面变成一份结构固定的复盘报告(Markdown + PDF),落盘到前端「股票报告」页可见目录,并在聊天里回复速览。报告末必含「次日走势研判」——给出明确方向(强烈看多/看多/震荡/看空/强烈看空)+ 置信度星级 + 每维依据。

⚠️ 单位铁律(先查 [[quantdb-fields]],最高优先级)

陷阱 正确口径
个股 volume=、amount=万元 指数 volume=、amount=万元
复盘报告里金额一律换算为亿元(万元÷1e4) 脚本输出的 *_yi 字段单位已是亿元
technical_indicators.pct_change = %return_1d/20d 全 NaN 别用 涨跌家数/涨停/连板全用它
index_daily.preClose 全 NULL 指数涨跌幅用 close 序列自算(脚本已处理)
l2_factors 已恢复日更(202608+ 当日有数据,L1 主力资金可用);两融通常滞后 1 日(偶与当日对齐,以 facts 为准);北向只有季度快照 必须带「数据滞后声明」,滞后数据集禁止当当日数据写

执行流程(每次复盘固定 5 步)

第 1 步:跑取数脚本(两条:daily_review 取 L1/L2/方向 + 模型推理信号,news_review 取当日新闻情绪)

# ① 宿主机:daily_review.py 出 指数/广度/板块/资金面 + L1/L2 因子透视 + 板块资金流 + 模型推理信号 + 次日方向
cd <repo>/skills/daily-review/scripts
python3 daily_review.py --date 20260814              # 指定日;不带 --date 则取最新交易日
python3 daily_review.py --watch 601138.SH,600519.SH  # 可选:自选/持仓股必带
python3 daily_review.py --model mdl_cn_train_xxx     # 可选:指定推理模型,默认每日推理模型(5eea5418)
#   ↑ 模型推理信号自动查询 PG:昨日推理→今日信号命中率复盘 + 今日推理→明日信号 Top5;
#     无推理 run 时脚本**自动补跑**(docker exec trigger_inference.py,10-30 秒),
#     补跑失败原因如实写入 facts(常见:特征 parquet 滞后——先跑
#     `docker exec quantmind python3 /app/backend/scripts/update_feature_parquet.py` 补特征再复盘)
#     无 PG / PG 挂时该章节降级为缺失(facts 无「十一、模型推理信号」)

# ② 容器内:news_review.py 聚合当日新闻情绪(有新闻股票匹配 + 板块聚焦 + 来源/时段质量)
#    .claude 目录未挂载进容器,须先 docker cp 到容器 /tmp 再跑
docker cp <repo>/skills/daily-review/scripts/news_review.py quantmind:/tmp/
docker exec quantmind python3 /tmp/news_review.py --date 20260814

顺序:先跑 ② 再跑 ① —— daily_review.py 读到 data/reports/daily_review/{YYYY-MM-DD}_news.json 后,「新闻情绪」维度才加权、方向置信度提到 ★★★★★;只跑 ① 时新闻维度中性、置信度降到 ★★★(facts「六、新闻情绪」会提示补跑 news_review)。

输出 data/reports/daily_review/{YYYY-MM-DD}_stats.json + {YYYY-MM-DD}_facts.md(宿主机 ①);{YYYY-MM-DD}_news.json(容器 ②,写同一共享目录)。 脚本兼容宿主机与容器内(数据目录自动探测;容器内 QuantDB 路径 /data/quantdb、报告路径 /data/reports/daily_review,宿主机 data/quantdbdata/reports/daily_review)。

第 2 步:读 facts.md 写复盘报告(Markdown 模板)

报告 = facts.md 的事实 + 你的解读。facts.md 没有的数字禁止出现在报告里。

# A股每日复盘 2026-08-14(周五)

> **报告日期**:2026-08-14
> **数据截至**:2026-08-14

## 一、盘面速览(结论先行)
2-4 句:指数表现 → 涨跌结构 → 量能 → 主线板块 → 一句话定性(强势/震荡/弱势 + 依据)→ **一句话次日方向**(引自 facts 十,如「六维合成:强烈看空 -4.6/11,置信 ★★★★★」)

## 二、指数与量能
指数表(facts 一、)+ 两市成交额解读(环比/5 日均对照,放量 or 缩量)

## 三、涨跌结构与情绪
涨停/跌停/炸板数量、最高连板与连板梯队、涨跌分布表(facts 二、四)
情绪读数 + 解读:买压/卖压对比、早盘上涨占比 → 追高意愿强还是弱

## 四、板块与主线
行业一级 Top/Bottom(facts 三)、概念 Top;指出当日主线与杀跌方向;
涨停个股聚集在哪些板块(从涨幅榜的 industry 列归纳)

## 五、资金面
两融(注明截至日与滞后天数)、北向季度快照(注明季度口径);L2 主力净额见七

## 六、新闻情绪(当日有新闻的股票匹配)
当日新闻总数/涉及股票数、利好/利空/中性、净情绪;来源质量(高质量源 vs 反向源);
黄金时段利好占比;新闻聚焦板块(哪些行业消息面热);有新闻个股 Top(篇数/净情绪/事件标签)。
结论:今日消息面是偏多/偏空/中性 + 焦点板块。

## 七、L1/L2 因子透视(facts 七)
L1 换手/动量/波动均值对照前日;L2 微观结构:正向因子强信号股占比(越高=知情资金越扩散)、
VPIN 家族分位、量价背离、超级大单净额及前日对比;板块超级大单净额表(净流入 vs 净流出)。
结论:微观结构是扩散/收敛 + 资金流入/流出方向。

## 八、模型推理信号(对应 facts 十一,模型预测复盘)
两块:
1. **昨日推理 → 今日验证**:昨日模型推理(推理{data}→信号{pred})对今日的 Top10 信号对照今日实际涨跌——
   命中率/平均涨幅/相对全市场超额/涨停跌停数。写清信号平均涨幅跑赢还是跑输市场。
2. **明日信号 Top5**:今日推理(基于{data})预测明日最强 5 只(名称/代码/信号分/方向);若今日推理未跑,标注「取最近一次推理」。

结论句点明模型风格:信号股是否集中强势板块、与当日主线是否一致、与次日方向研判是否呼应。
推理信号来自 PG(`engine_signal_scores` fusion_score 降序),数字必须照抄 facts 十一,禁止臆造。

## 九、个股榜
涨幅/跌幅/成交额/换手榜解读(facts 八),挑 3-5 只有代表性的说原因判断(无新闻佐证时只描述数据,不编原因)

## 十、自选/持仓复盘(自带 --watch 时才有)
逐只:涨跌幅、量能、技术位(MA20 上下)、当日状态(涨停/炸板/大涨/异动)

## 十一、昨日复盘回顾(复盘闭环,连续性的核心)
读上一份复盘(同目录 {上一交易日}.md 或 PDF 前的 md)的「要点与明日关注」,
逐条对照今日实际:命中几条 / 未命中几条 / 打脸的原因是什么(禁止含糊带过)
**若上一份复盘有「次日走势研判」,先对照它给出的方向是否兑现**,再对照要点。

## 十二、次日走势研判(六维方向表,直接引用 facts 十)
方向(强烈看多/看多/震荡/看空/强烈看空)+ 得分 + 置信度星级 = 六维(趋势/量能、情绪/结构、L2 微观、新闻情绪、板块/资金流)评分。
逐维解读:哪些维度在看多/看空/中性;多空矛盾点在哪;结合「有新闻股票 + L2 强信号股」交集给 2-4 条可验证的次日明确预期。
**禁止把方向当承诺**——沿 facts 口径:方向只是六维信号的可解释合成,明日以指数/广度/涨停数验证。

## 十三、要点与明日关注
- 要点:今日市场最重要的 3 条事实
- 明日关注:从「次日走势研判」的可验证预期里挑 2-4 条(明天能判断对错的才算,禁止「关注成交量变化」这类废话)

## 数据说明
滞后数据集声明 + 单位说明(从 facts 的数据说明复制)

写作铁律:每个数字带单位;涨停梯队/连板高度以脚本 stats 的 market.streaks 为准;涨跌停判定规则见 REFERENCES/review-methods.md;ST 涨跌幅与新股规则别记错(主板 ST 2026-07-06 起 ±10%)。

第 3 步:Markdown → PDF(研报风,复用 stock-market-analysis §7.4 管线)

转换脚本 backend/scripts/md_to_pdf_report.py(reportlab,封面/红涨绿跌语义着色/斑马纹表格自动生效)。

环境分支(先探测:容器内 test -d /app/backend 为真):

# —— 宿主机(Claude Code)——
docker cp /tmp/复盘.md quantmind:/tmp/review.md
docker exec quantmind bash -lc "cd /app && python3 backend/scripts/md_to_pdf_report.py /tmp/review.md /tmp/review.pdf"
docker cp quantmind:/tmp/review.pdf /tmp/复盘.pdf

# —— 容器内(QuantBot / QwenPaw)——
python3 /app/backend/scripts/md_to_pdf_report.py /tmp/review.md /tmp/review.pdf

第 4 步:落盘股票报告目录(必做,只发 /tmp = 未交付)

文件名固定:每日复盘_{YYYY-MM-DD}.md / .pdf,放 db/trading_agents_results/每日复盘/

# —— 宿主机:宿主机直接 cp 会 EACCES(目录 owner 是容器 root),必须 docker cp ——
docker cp 复盘.md quantmind:/data/reports/trading_agents/每日复盘/每日复盘_2026-08-14.md
docker cp 复盘.pdf quantmind:/data/reports/trading_agents/每日复盘/每日复盘_2026-08-14.pdf

# —— 容器内:直接 cp ——
cp 复盘.md /data/reports/trading_agents/每日复盘/每日复盘_2026-08-14.md
cp 复盘.pdf /data/reports/trading_agents/每日复盘/每日复盘_2026-08-14.pdf

落盘后 ls 确认 md + pdf 都在(前端「股票报告」页 → 每日复盘 文件夹)。

第 5 步:聊天回复速览(QuantBot/Claude 直接回答用户用这个格式)

**A股复盘 2026-08-14(周五)**

一句话总结:…

指数:上证 +0.01% / 深成 +0.45% / 创业板 +1.12% / 科创50 -0.00% / 北证50 -0.94%
广度:涨 2400 / 跌 2970(涨跌比 0.81);涨停 64 / 跌停 14 / 炸板 22;最高 5 连板
量能:两市成交额 21,565.76 亿元(环比上一交易日 1.04x;5 日均 21,xxx 亿,量比 x.xx)
主线:行业 Top3 …;概念 Top3 …
资金:两融 xxx 亿(截至 08-13,+xx 亿);北向 2026Q2 持仓市值 30,685.68 亿元;超级大单 ±xx 亿
情绪:买压 0.49 / 卖压 0.51;早盘上涨占比 40.68%
新闻:命中 xxx 篇 / 有新闻股票 xxx 只;净情绪 ±xx%;聚焦板块 …
L2:强信号股占比 xx%;VPIN 分位 xx;超级大单 ±xx 亿
模型推理:昨日 TopN 信号今日命中率 xx%(平均 ±xx%,超额 ±xx%);明日信号 Top5:新易盛/兆易创新/…
自选:…(有 --watch 才有)
**次日方向:看空/看多…(得分 xx/11.0,置信 ★★☆)**

→ 完整复盘报告已落盘「股票报告 → 每日复盘」目录

复盘日期标注规则

  • 用户说「复盘」不带日期 → 最新交易日(脚本默认行为)
  • 「复盘 20260814」/「复盘 8月14日」 → --date 20260814;非交易日脚本自动取 ≤ 该日期的最近交易日并在报告封面注明实际复盘日
  • 报告文件名、封面报告日期/数据截至、聊天速览标题三处日期必须一致

维护

  • 单测:cd scripts && python3 -m pytest tests/ -q -c tests/pytest.ini(覆盖涨跌停判定/连板/分布/板块加权/单位换算/除权检测/方向引擎/模型推理命中率与 run 选择)
  • 核心脚本:
    • daily_review.py — 攻全市场基本面/技术/资金/L1/L2/方向 + 模型推理信号(含 direction_engine.py 六维评分)
    • news_review.py — 当日新闻情绪聚合(须在容器内跑.claude 未挂载进容器,先 docker cp 脚本到 /tmp;输出写到共享的 /data/reports/daily_review/);PG 富集表是活数据,同一日重跑结果可能因 enrichment 继续更新而略有变化
    • inference_signals.py — 模型推理信号 PG 查询(engine_signal_scores + qm_model_inference_runs):昨日推理→今日验证 / 今日推理→明日 Top5;默认每日推理模型 5eea5418,可用 --model 覆盖;PG 挂则降级缺失
    • direction_engine.py — 纯函数六维评分器,无 I/O;方向只是信号的可解释合成,不是预测承诺
  • 涨跌停规则复用 backend/services/trade/simulation/services/local_market_data.py(经 ZTPrice/DTPrice 交叉验证 99.71%),禁止在本 skill 里另写一套

相关技能

  • [[quantdb-fields]] — 必读:单位/口径速查(本 skill 计算正确性前提)
  • [[news-sentiment-research]] — 新闻情绪研究方法论(来源白/黑名单、时段质量、事件标签的来源;六维里的「新闻情绪」维度据此加权)
  • [[stock-market-analysis]] — 盘后想对某只股票深挖时用(复盘是广度,它是深度)
  • [[quantdb-sdk]] — QuantDB 数据源背景

Version History

  • 2b47c67 Current 2026-09-02 21:02

Same Skill Collection

skills/ai-ide-strategy-writing/SKILL.md
skills/backtest-center/SKILL.md
skills/batch-inference-analysis/SKILL.md
skills/install-futu-opend/SKILL.md
skills/market-analysis/SKILL.md
skills/model-train-infer-backtest-report/SKILL.md
skills/news-sentiment-finbert/SKILL.md
skills/news-sentiment-research/SKILL.md
skills/quantdb-data-structure/SKILL.md
skills/quantdb-fields/SKILL.md
skills/quantdb-sdk/SKILL.md
skills/quantmind-operations/SKILL.md
skills/rd-agent-factor-mining/SKILL.md
skills/simulation-trading/SKILL.md
skills/smart-strategy-stock-picking/SKILL.md
skills/stock-market-analysis/SKILL.md
skills/stock-picks/SKILL.md
skills/stock-research/SKILL.md
skills/tdx-live-trading/SKILL.md
skills/trading-agents/SKILL.md
skills/futuapi/SKILL.md
skills/ibkr-cli/SKILL.md
skills/tigeropen-cpp/SKILL.md
skills/tigeropen-csharp/SKILL.md
skills/tigeropen-go/SKILL.md
skills/tigeropen-java/SKILL.md
skills/tigeropen-rust/SKILL.md
skills/tigeropen-typescript/SKILL.md
skills/tigeropen/SKILL.md

Metadata

Files
0
Version
2b47c67
Hash
322648c3
Indexed
2026-09-02 21:02

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-02 22:42
浙ICP备14020137号-1 $bản đồ khách truy cập$