安装
claude skill add --url github.com/openclaw/skills/tree/main/skills/chinfi-codex/a-stock-market-snapshot文档
A股市场快照与股票分组
触发条件
当用户消息匹配以下模式时激活此技能:
code
复盘 [可选日期]
日期格式支持:
YYYY-MM-DD(如: 2026-03-13)YYYY/MM/DD(如: 2026/03/13)- 省略日期 → 默认使用今天(自动回退到最近交易日)
触发示例:
| 用户输入 | 行为 |
|---|---|
复盘 | 获取今日市场快照 |
复盘 2026-03-13 | 获取指定日期快照 |
复盘 2026/03/13 | 获取指定日期快照 |
复盘一下今天的市场 | 获取今日市场快照 |
Overview
使用 scripts/fetch_market_and_stock_groups.py 抓取指定日期或最近交易日的 A 股市场快照,并输出结构化 JSON 与分组 CSV。
使用 scripts/render_market_chart.py 把 snapshot 渲染成"今日指数日K线"三联图。
使用 scripts/generate_market_report.py 一键完成:抓数 + 绘图 + 生成日报。
优先复用脚本,不要重复手写同类抓取逻辑或临时画图代码。
Workflow
当用户发送 "复盘 [日期]" 时,按以下流程执行:
-
解析用户输入
- 提取日期:尝试从消息中提取日期(支持
YYYY-MM-DD或YYYY/MM/DD格式) - 如无日期:默认使用今天
- 提取日期:尝试从消息中提取日期(支持
-
确认运行前提
- 准备
TUSHARE_TOKEN,或在当前工作目录下提供.streamlit/secrets.toml且包含tushare_token - 确认环境已安装
akshare、pandas、tushare、matplotlib
- 准备
-
确认日期口径
- 用户指定了日期 → 运行时必须带
--force-date - 用户未指定日期 → 自动回退到最近交易日
- 用户指定了日期 → 运行时必须带
-
执行命令
bashpython scripts/generate_market_report.py --date <日期> --output-dir datas/output_snapshot -
输出报告
- 先发图(
index_kline_{date}.png) - 再发文(按固定模板生成)
- 明确说明过滤规则、成交额口径和分组条件
- 先发图(
Run Script
用户触发示例
code
用户: 复盘
系统: [生成今日市场日报]
用户: 复盘 2026-03-13
系统: [生成2026-03-13市场日报]
用户: 复盘 2026/03/13
系统: [生成2026-03-13市场日报]
执行命令
在目标项目目录下运行:
bash
# 完整命令(指定日期)
python scripts/generate_market_report.py --date 2026-03-13 --output-dir datas/output_snapshot
# 完整命令(今日/最近交易日)
python scripts/generate_market_report.py --output-dir datas/output_snapshot
如需拆开执行:
bash
python scripts/fetch_market_and_stock_groups.py --date 2026-03-13 --force-date --output-dir datas/output_snapshot
python scripts/render_market_chart.py --snapshot datas/output_snapshot/snapshot_2026-03-13.json
常用参数:
--date YYYY-MM-DD:目标日期--lookback-days 120:指数 K 线输出天数--min-list-days 60:新股过滤阈值--output-dir <dir>:输出目录--force-date:强制按给定日期抓取
总脚本规则:
- 用户给了
--date时,总脚本自动按--force-date逻辑执行。 - 总脚本输出:
snapshot_{trade_date}.jsontop_100_gainers_{trade_date}.csvtop_100_losers_{trade_date}.csvindex_kline_{trade_date}.pngmarket_report_{trade_date}.md
Output Contract
脚本会输出以下文件:
snapshot_{trade_date}.json- 完整市场快照(包含所有数据)top_100_gainers_{trade_date}.csv- 涨幅前100top_100_losers_{trade_date}.csv- 跌幅前100index_kline_{trade_date}.png- 三指数 K 线图
输出结果包含以下核心信息:
1. 大盘指数数据
- 三大指数(上证、深证、创业板、科创50)120天 K 线
- 大盘成交额:按上证与深证
index_daily.amount求和 - 市场情绪:来自
ak.stock_market_activity_legu()(上涨/下跌家数、涨停/跌停数、活跃度) - 技术面深度分析:MACD、KDJ、RSI、均线系统、布林带、量价背离、技术形态识别(双底/双顶等)
2. 风格指数数据
- 上证50(超大盘)
- 沪深300(大盘)
- 中证500(中盘)
- 中证1000(小盘)
- 小盘成长(成长风格)
- 红利指数(红利策略)
3. 全市场统计
- 股票过滤后总数
- 涨跌幅分布(9个区间)
4. 股票分组
top_100_gainers: 涨幅前100top_100_losers: 跌幅前100
5. 过滤规则
- 去除 ST
- 去除名称包含"退"的股票
- 去除北交所股票
- 去除上市天数不足
min_list_days的新股
技术面分析指标
本技能提供全面的技术面深度分析,包括:
趋势指标
| 指标 | 说明 |
|---|---|
| MACD | DIF、DEA、柱状图,识别金叉/死叉、背离信号 |
| 均线系统 | MA5/10/20/60,判断多头排列/空头排列 |
| 布林带 | 上轨、中轨、下轨,判断波动区间 |
动量指标
| 指标 | 说明 |
|---|---|
| KDJ | K/D/J值,识别超买超卖、金叉死叉 |
| RSI | 6日/12日/24日RSI,判断强弱和背离 |
量价分析
- 量价背离检测(顶背离/底背离)
- 成交量趋势分析
- 价量配合度评估
技术形态识别
| 形态 | 类型 | 可靠度 |
|---|---|---|
| 双底形态(W底) | 看涨 | 高 |
| 双顶形态(M头) | 看跌 | 高 |
| 对称三角形 | 中性 | 中 |
关键价位
- 支撑位(近期低点)
- 阻力位(近期高点)
- 目标价/止损位(基于形态识别)
Reporting Rules
向用户说明结果时,保持以下口径:
- 必须先输出图片,再输出正文,不要反过来。
- 图片标题固定为
今日指数日K线,图中固定包含上证指数、创业板指、科创板指,三张子图放在同一行。 - 用户指定日期时,明确说明本次抓取使用了
--force-date,按指定日期口径执行。 - 明确
market_turnover_amount_sum的单位是index_daily.amount(千元),且汇总范围为上证加深证。 - 技术面分析基于120日K线数据,指标参数遵循经典设置(MACD:12/26/9, KDJ:9/3/3, RSI:6/12/24)。
- 如接口返回空数据或字段变化,明确指出缺口,不要静默忽略。
正文格式固定按以下模板输出:
text
【2026-03-17】大盘数据
## 【今日指数】
| 指数 | 收盘 | 涨跌幅 | 技术面分析 | 2日走势预测 |
|------|------|--------|------------|-------------|
| **上证指数** | 4049.91 | -0.85% | MACD空头排列,KDJ中性(28.5),RSI弱势(30.6),双顶形态(M头)已跌破颈线,支撑位4048,阻力位4197 | 震荡下行或探底企稳 |
| **创业板指** | 3280.06 | -2.29% | MACD多头但动能放缓,KDJ中性(70.1),疑似双顶形成中,支撑位3111,阻力位3390 | 冲高后回踩确认 |
| **科创板指** | 1354.15 | -2.23% | MACD空头排列,均线空头,RSI中性(34.8),双底/双顶形态并存待确认,支撑位1349,阻力位1494 | 震荡下行或探底企稳 |
- **成交额**:2.21 万亿元
## 【大盘数据】
- **情绪指数**:41.82%
- **涨跌分布**:涨2171家 / 跌2892家
- **涨停**:43家,**跌停**:12家
## 【涨跌幅分布】
| 区间 | 家数 |
|------|------|
| >20% | 3家 |
| 10%~20% | 22家 |
| 5%~10% | 64家 |
| 3%~5% | 68家 |
| 0%~3% | 681家 |
| -3%~0% | 2707家 |
| -5%~-3% | 1039家 |
| -10%~-5% | 398家 |
| <-10% | 18家 |
## 【风格指数分析】
| 风格 | 当日涨跌 | 20日涨跌 | 趋势判断 |
|------|----------|----------|----------|
| **红利指数** | -0.68% | **+4.91%** | 唯一正收益,防御为王 |
| 上证50 | +0.32% | -4.01% | 日内抗跌,但中期仍弱 |
| 沪深300 | -0.73% | -1.84% | 跟随大盘调整 |
| 中证500 | -2.07% | -3.50% | 中盘走弱 |
| 中证1000 | -2.33% | -2.79% | 小盘领跌 |
| 小盘成长 | -2.08% | -3.89% | 成长风格承压最重 |
### 风格趋势解读
当日表现:上证50 > 红利 > 沪深300 > 中证500 > 小盘成长 > 中证1000 20日表现:红利指数 >>> 其他全线负收益
code
**核心结论:**
| 维度 | 特征 |
|------|------|
| **市值风格** | 大盘 > 中盘 > 小盘,市值越大越抗跌 |
| **价值/成长** | 价值(红利)碾压成长,风险偏好骤降 |
| **趋势持续性** | 红利20日+4.91%一枝独秀,资金持续流入高股息防御板块 |
## 【技术面 × 风格面 综合研判】
### 空头信号(共振)
| 信号 | 说明 |
|------|------|
| 上证指数双顶跌破 | 大盘技术面走坏,权重的支撑减弱 |
| 成长风格领跌 | 创业板指-2.29%+小盘成长20日-3.89%,高估值品种遭抛售 |
| 科创板空头排列 | 科技成长赛道资金撤离明显 |
### 唯一亮点
| 信号 | 说明 |
|------|------|
| 红利策略独立走强 | 20日+4.91% vs 沪深300的-1.84%,超额收益近7个百分点 |
## 【分组特征】
**涨幅前100:**
1. 强势方向集中在主板、创业板,高弹性风格主导当日赚钱效应。
2. 涨幅前100平均涨幅8.12%,前10均值13.23%,强势个股向头部集中。
3. 情绪温度偏暖但扩散有限,若次日量能不放大,持续性更偏结构性轮动。
**跌幅前100:**
1. 弱势方向集中在创业板、主板,高位回撤与弱景气方向承压明显。
2. 跌幅前100平均跌幅-9.06%,中位数-8.58%,亏损主要集中在尾部杀跌。
3. 风险偏好回落但未全面失控,恐慌主要体现在局部板块与高波动个股。
## 【总结:风格正在往哪里走?】
### 趋势判断:防御为王,大盘优先,成长让道
技术面相位:偏空(上证M头+科创板空头+创业板顶背离) 风格面趋势:红利 > 大盘价值 > 中小盘 > 成长
code
| 配置建议 | 方向 |
|----------|------|
| 超配 | 红利高股息、银行、电力、公用事业 |
| 标配 | 上证50成分股、低估值大盘蓝筹 |
| 低配 | 小盘成长股、科创板高估值品种、题材概念股 |
**关键观察点:**
- 上证指数颈线位争夺,若失守可能下探目标价
- 红利指数能否延续强势,决定防御行情的持续性
- 两市成交额若跌破关键阈值,需进一步降低仓位
> 一句话:技术上偏空+风格上防御,现阶段"求稳"优先于"求进",红利和大盘价值是避风港。
分组总结约束:
涨幅前100必须严格输出 3 行,顺序固定为:-
- 强势风格/方向
-
- 涨幅集中度
-
- 情绪温度与持续性
-
跌幅前100必须严格输出 3 行,顺序固定为:-
- 弱势风格/方向
-
- 跌幅集中度
-
- 风险偏好与恐慌程度
-
- 每行以
1.2.3.开头。 - 每行不超过 100 字。
- 不要输出额外标题、解释、代码块或前后说明。
- 移除原【涨幅Top100统计】部分(成交额分层、市值分层、板块分布)。
- 技术面分析合并进【今日指数】表格,不再单独输出【技术面深度分析】章节。
- 必须包含【风格指数分析】及【技术面 × 风格面 综合研判】部分。
Resources
scripts/fetch_market_and_stock_groups.py:主抓取脚本scripts/render_market_chart.py:三指数 K 线图片生成脚本scripts/generate_market_report.py:抓数、绘图、生成日报的一体化脚本scripts/technical_analysis.py:技术面分析模块(MACD/KDJ/RSI/形态识别)references/api_reference.md:依赖、输出结构和使用说明
技术面分析详细说明
指标参数设置
本技能采用经典技术指标参数,确保分析结果的行业通用性:
| 指标 | 参数设置 | 用途 |
|---|---|---|
| MACD | 12/26/9 | 捕捉中长期趋势变化 |
| KDJ | 9/3/3 | 判断超买超卖和短期转折 |
| RSI | 6/12/24 | 多周期动量分析 |
| 均线 | 5/10/20/60 | 短中长期趋势判断 |
| 布林带 | 20/2 | 波动区间和突破判断 |
综合判断逻辑
系统通过多指标共振原理生成综合判断:
信号权重:
- MACD趋势信号(权重25%)
- KDJ位置信号(权重25%)
- RSI动量信号(权重25%)
- 均线排列信号(权重25%)
判断等级:
- 强烈看多:≥3个看涨信号(置信度:高)
- 偏多:2个看涨信号(置信度:中)
- 震荡观望:信号均衡或不足(置信度:低)
- 偏空:2个看跌信号(置信度:中)
- 强烈看空:≥3个看跌信号(置信度:高)
技术形态识别能力
当前支持以下经典形态识别:
| 形态 | 识别准确率 | 适用场景 |
|---|---|---|
| 双底(W底) | 高 | 底部反转判断 |
| 双顶(M头) | 高 | 顶部反转判断 |
| 对称三角形 | 中 | 中继整理判断 |
形态确认规则:
- 双底:两个低点差距<5%,中间反弹>3%,突破颈线确认
- 双顶:两个高点差距<5%,中间回调>3%,跌破颈线确认
风险提示
- 技术面分析基于历史数据,不构成投资建议
- 形态识别依赖120日K线数据,新股或数据不足时可能失效
- 建议结合基本面和市场情绪综合判断
配置说明
TUSHARE_TOKEN(必需)
bash
export TUSHARE_TOKEN="your_token_here"
或在 .streamlit/secrets.toml 中添加:
toml
tushare_token = "your_token_here"