A股股票实时分析与可执行操作建议生成器。支持三种模式:(1) 持仓简报模式 — 针对用户持仓出盘前/盘中风险简报;(2) 单股深度模式 — 针对一只股票出技术面 + 操作位 + 止损方案;(3) 多股对比模式 — 针对多只股票(自选股/同板块/比价)做横向对比。触发短语:盘前简报 / 持仓简报 / 帮我看下 X...
" 规则比感觉重要——把可以提前算清楚的事,写在能照着执行的清单里。"
bash
# 📊 分析类(原 v3.x 能力)
python3 scripts/run_brief.py portfolio
python3 scripts/run_brief.py single 600519
python3 scripts/run_brief.py multi 600519 000858
# 🎯 智能选股(v4.0 新增)
python3 scripts/run_brief.py pick all # 综合 TOP
python3 scripts/run_brief.py pick business # 业绩驱动
python3 scripts/run_brief.py pick money # 资金驱动
python3 scripts/run_brief.py sectors # 板块强度
python3 scripts/run_brief.py push # QQ 推送简报
# 👁 盯盘 Agent(v4.0 新增)
python3 scripts/run_brief.py watch start # 启动盯盘(systemd 后台)
python3 scripts/run_brief.py watch check # 立刻检查一次
# 📋 纪律守护(v4.0 新增)
python3 scripts/run_brief.py rr 650 670 688 720 640 615 570
# 风险收益比 = 现价 保守 中性 乐观 技术止损 硬止损 极限止损
python3 scripts/run_brief.py check 600519 # 纪律综合检查
来源整合后状态stock-smart-pickerscripts/smart_picker.py✅price-watcherscripts/price_watcher.py✅v3.2 决策模板scripts/disciplines.py✅universe_v2.jsonconfigs/universe.json✅watchlist.jsonconfigs/watchlist.json✅
text
用户输入 →
├─ 提到"持仓 / 我的票 / 盘前简报"
│ → 模式 P:持仓模式(读 portfolio + 7 步法)
│
├─ 只提到 1 只股票("看下 X / 分析 X")
│ → 模式 S:单股深度模式(技术面 + 操作位)
│
├─ 提到 2 只及以上("X 和 Y 谁好 / 这几只票")
│ → 模式 M:多股对比模式(横向对比 + 排序推荐)
│
└─ 不确定时 → 优先问一句确认,不要默认
维度模式 P(持仓)模式 S(单股)模式 M(多股)数据源portfolio + 实时 + K线实时 + K线 + 个股资金流实时 + K线(精简)输出篇幅长(含融资体检)中(含基本面+技术面)短(对比表为主)止损规则完整三档(含重仓收紧)标准三档不强制止损融资体检✅ 必做❌❌特色全面、防漏深、详横向、快
场景触发持仓盘前/盘中简报✅ P"看下 600519 / 帮我分析 X"✅ S"X 和 Y 哪个好 / 这几只票排序"✅ M"今天买什么 / 推荐股票"❌(这不是本 skill 职责,应转给"选股 skill")"X 公司基本面怎么样"⚠️ 单股模式可附带基本面,但不是核心港美股 / 期货 / ETF❌
text
Step 1 解析用户输入 → 识别模式 P/S/M + 提取股票代码
Step 2 拉实时行情 → 优先腾讯接口(最稳)
Step 3 拉历史 K 线 → AKShare stock_zh_a_hist (qfq, 近 60 日)
Step 4 计算关键位 → MA5/10/20/30 + 近 N 日高低 + 量能
Step 5 判断态势 → 杀跌 / 冲高 / 震荡 / 趋势上行 / 趋势下行
Step 6 生成操作位 → 止损位(模式 P/S)或 排序推荐(模式 M)
Step 7 模式专属动作 → P:融资体检 | S:深度分析 | M:横向对比
每步都必须执行,不能省略。
text
- 6 位数字 → 直接当代码(沪:60xxxx/68xxxx;深:00xxxx/30xxxx)
- 中文名称 → 用 ak.stock_zh_a_spot_em 查找代码(懒查询,缓存)
- 拼音简称(如 GLY)→ 不强制识别,要求用户输入完整名或代码
- 模糊匹配 → 命中多个时列出让用户选
用户输入模式"盘前简报" / "我的持仓今天怎么样"P"看下罗博特科" / "分析一下 300757"S"罗博特科和源杰哪个好" / "300757 688498 排序"M"茅台 五粮液 泸州老窖"M"拉一下我自选股的数据"P 或 M(看 watchlist 是否存在)
优先级数据源调用方式备注1️⃣腾讯财经data_fetcher._tencent_realtime_quote(code)最稳。即使 AKShare 主源超时也能拿到数据2️⃣新浪财经批量data_fetcher._sina_batch_quotes([codes])适合一次拉多只(模式 M 优先)3️⃣AKShare 主源ak.stock_zh_a_spot_em经常超时, timeout=15s 必须,不要硬等
踩过的坑:AKShare 主源 82.push2.eastmoney.com 在交易日早盘经常超时(实测 50 分钟没出结果)。 默认走腾讯,不要先尝试 AKShare。
python
import akshare as ak
df = ak.stock_zh_a_hist(
symbol='300757', period='daily',
start_date='20260101', end_date='20260421',
adjust='qfq'
)
历史 K 线用 AKShare 没问题(走的是历史接口,非实时推送)。
模式额外数据P担保比例(用户提供)+ 大盘指数 + 一仓公告扫描(TinyFish)S个股资金流向 / 北向持股 / 财务摘要(可选)M仅基础数据, 不补充(保持轻量)
优先级:TinyFish Search → gsk web_search 兑底
TINYFISH_API_KEY 或 secrets 文件严格时效过滤(v2.4 重点修复)
text
担保比例 = (持仓总市值 + 融资买入证券市值) / 融资余额
警戒线:
均线含义适合做什么MA5短期支撑/压力强势股的 预警线****MA10短期趋势线多数股的 风控线****MA20中期生命线跌破常意味着趋势反转MA30中期趋势与 MA20 共振时确认信号更强
text
预警线:当日跌 5% 或跌破 MA5(一般股)/ MA10(重仓股)→ 减 1/3
风控线:跌破 MA10(一般股)/ 成本 -15%(重仓股)→ 再减 1/3
清仓线:跌破成本 -25%,或融资担保比例 < 150% → 全部清掉 + 还融资
仓位调整因子:
输出包含 5 个块:
输出 = 横向对比表 + 综合排序
对比维度(按重要性):
排序规则(轻量打分):
text
score = +当日涨跌幅 ÷ 2
+ 短期强弱(MA5偏离) × 1.5
+ 中期趋势(MA20偏离) × 1
+ 量价共振分(放量涨 +2 / 缩量涨 +0 / 放量跌 -2)
最高分给"⭐ 推荐关注",最低分给"⚠️ 注意风险", 绝不直接说"买/卖"。
markdown
# 📊 盘前持仓简报 — YYYY-MM-DD HH:MM
## 一、当日态势速览
[一句话总结今天的市场+持仓状态]
## 二、个股实时态势
| 股票 | 现价 | 今开 | 高/低 | 涨跌幅 | 备注 |
## 三、关键均线 + 三档止损
### 🎯 [股票A](重点)
| 均线 | 价位 | 距现价 |
**止损位**:预警 / 风控 / 清仓
## 四、⚠️ 真正该担心的事
[按风险等级排序,不按持仓顺序]
## 五、📋 今天上午可执行的操作
✅ 不要做 / 🎯 设条件单 / 🔥 融资硬规则
## 六、今晚问自己 3 个问题
markdown
# 🔍 [股票名] [代码] 实时分析 — YYYY-MM-DD HH:MM
## 一、态势速判
[一句话定性:突破 / 回踩 / 震荡 / 顶背离 / 底部企稳]
## 二、基本面快照(可选)
| 维度 | 数值 | 行业对比 |
| PE / PB / 市值 / 行业 / 主营 |
## 三、技术面分析
- 当日:现价 ↑ x.xx% | 量比 x.x | 换手 x.xx%
- 均线结构:MA5/10/20/30 + 一句话点评
- 关键位:上方阻力 / 下方支撑 / 整数关
- 量价:放量涨 / 缩量涨 / 放量跌 / 缩量跌
## 四、操作位建议
| 类型 | 价位 | 触发动作 |
| 介入位 | xxx | 站稳后小仓位试探 |
| 加仓位 | xxx | 突破前高确认 |
| 止损位 | xxx | 跌破后减仓 |
| 止盈位 | xxx | 触及后落袋 1/3 |
## 五、风险提示 + 跟踪要点
- 短期风险:……
- 关注信号:……
markdown
# 📊 多股对比分析 — YYYY-MM-DD HH:MM
## 一、横向对比表
| 排名 | 股票 | 现价 | 涨跌幅 | MA5偏离 | MA20偏离 | 量比 | 40日涨幅 | 综合分 | 标签 |
|:---:|------|-----:|-------:|-------:|--------:|-----:|--------:|------:|------|
| 1 | A | ... | ... | ... | ... | ... | ... | 8.5 | ⭐ |
| 2 | B | ... | ... | ... | ... | ... | ... | 6.2 | 🟡 |
| 3 | C | ... | ... | ... | ... | ... | ... | 3.1 | ⚠️ |
## 二、关键差异点
- A vs B:A 强在……,B 强在……
- B vs C:……
## 三、给你的判断(不构成投资建议)
- ⭐ **优势更明显**:A — 理由:……
- 🟡 **保持观察**:B — 理由:……
- ⚠️ **谨慎对待**:C — 理由:……
推荐出手/不出手时要仔细区分两个概念:
text
好公司 = 业绩好 + 政策好 + 估值低 + 赛道好
好股票 = 技术面强势 + 资金推动 + 有短期催化剂
两者不一定同时成立。
象限公司面股票面应对策略🚀✅好✅好重仓持有⚠️✅好❌差机会成本贼—业绩好但技术面磨底,双重陷阱🎲❌差✅好游资烒作股,要参与必须快进快出⛔❌差❌差远离不出手
如果一只股票同时满足以下条件,它就是典型的**“鸡肋股”**:
text
不是 “公司不好 → 卖”
是 “股票点不火 → 换手仓位”
资金重新配置逻辑:
1. 不要等“业绩兑现”(可能要等 1-2 年)
2. 借任何反弹机会清仓
3. 金额划转到“势最强”的持仓或现金储备
4. “少赚 5%” 不是亏,“错过 30%” 才是亏
text
EV(持有) = P(业绩兑现) × 预期涨幅 - P(错过机会) × 机会値
EV(卖出换手) = 当前价 × (1+换仓后预期涨幅) - 交易成本
简化版:
如果 你其他持仓平均上涨趋势 > 该股预期上涨趋势,
则 卖出换手始终比持有有利
遇到“持仓里的机会成本贼”时, 不要说:
要说:
❌ 错误✅ 正确"建议谨慎操作""跌破 500 减 1/2,跌破 482 清融资部分""情绪面不佳""当日成交额 4.79 亿,量比 0.62(早盘缩量)"把所有股票按输入顺序列一遍按"重要性 / 紧迫度"排序模式 P 不算融资担保比例必须算,且单独成段用 AKShare 主源超时还硬等立即切腾讯接口(≤15s)给"目标价"但不给"止损价"永远是"止损 + 仓位管理"组合“公司好就该拿着” 不考虑机会成本区分“好公司” 与 “好股票”(话 § 8)让用户盘中盯价让用户 昨晚或开盘前 设好条件单模式 M 直接说"买 A"用"⭐ 优势更明显"+ 理由
bash
# 模式 P:持仓
python3 ~/.openclaw/workspace/skills/stock-realtime-brief/scripts/run_brief.py \
--mode portfolio \
--portfolio /home/work/.openclaw/workspace/data/portfolio.json
# 模式 S:单股
python3 ~/.openclaw/workspace/skills/stock-realtime-brief/scripts/run_brief.py \
--mode single \
--code 300757
# 模式 M:多股对比
python3 ~/.openclaw/workspace/skills/stock-realtime-brief/scripts/run_brief.py \
--mode multi \
--codes 300757,688498,688234,600519
# 自动模式:让脚本根据输入数量自判
python3 ~/.openclaw/workspace/skills/stock-realtime-brief/scripts/run_brief.py \
--auto --codes 300757,688498
~/.openclaw/workspace/stock-agents/data_fetcher.py 拉数据2026-04-21 早盘(持仓模式 P)
2026-04-29(v2.0 升级):扩展为 P/S/M 三模式
weekly-position-review — 周末复盘 + 下周剧本(待建)evening-trading-log — 收盘后交易日志整理(待建)realtime-position-monitor — 盘中实时风险监测(待建)stock-screener — 选股 skill(待建,本 skill 不做选股)Q: 用户说"看下茅台"怎么处理? A: 茅台→600519,模式 S 单股深度。
Q: 用户给一堆代码不指定模式? A: ≥2 只默认走模式 M,输出对比表 + 排序。
Q: 用户问港股 / 美股? A: 直接拒绝:"本 skill 仅支持 A 股,港美股请用 xx skill。"
Q: 模式 M 输出多少只股票合适? A: 2-10 只最佳。≥10 时建议拆分为多个对比组。
Q: 简报里能不能直接说"买/卖"? A: 绝不。永远用"介入位 / 减仓位 / 止损位 / 落袋"等条件性表达。
用户反馈:仅看技术面+减持公告 → 错失天岳 +60% 上涨
权重:
总分 >= +3:强买 / 加仓 总分 +1 ~ +3:持有 / 观察 总分 -2 ~ 0:谨慎 / 减仓部分 总分 < -2:强减 / 清仓
天岳 5/6 减持公告(已知利空) → 单维度看空 ≠ 全部看空 其他 6 维都偏多 → 应继续持有 → 实际涨到 180
用户指导原则(来自实战教训):
"实时的分析就不要考虑周期性,更多从技术、资金、板块、重点落在量价关系"
之前的混淆:把"盘中即时分析"和"盘后/单股长期评估"混在一起 → 给出不可执行的建议。
模式何时用核心维度输出盘中实时模式交易时段(9:30-15:00)询问"现在怎么样"量价/资金/技术/板块当下状态 + 趋势预判 + 立即可做的策略盘后/单股研究收盘后 / 深度调研 / 周末分析多周期/业绩/研报/估值仓位策略 + 中长期判断
调用: realtime_analyzer.py
核心维度(按重要性):
评分加权:
状态分级:
盘中模式触发:
盘后模式触发:
罗博特科 5/22 09:55 盘中:
而盘后模式会说:
两个结论看似矛盾,实际是不同时间维度的合理结合:
数据与消息的时效性 = 决策的前置条件
来源:2026-05-26 用户经过实战教训后明确建立
任何建议前必须确认:
见 ~/.openclaw/workspace/memory/principle-data-freshness.md