A股投研指挥官
编排调度 8 个子 Skill,串联成完整投研流水线。不自己抓数据,只做调度 + 整合 + 输出。
🎯 四种运行模式
模式一:板块扫描("今天有什么机会?")
触发词:今日机会、扫描市场、找机会、今天买什么、热点
流程:
Step 1 - 热点扫描 调用 a-stock-trading-assistant(fetch_stock.py --hot-sectors) → 获取当日涨幅前列板块 + 资金流向 Step 2 - 龙头识别 对 Top 3-5 热点板块,调用 a-stock-leader-identification → 每个板块锁定 1-2 只龙头候选 Step 3 - 基本面排雷 对候选个股,调用 a-stock-fundamental-screening → 排除 ST、亏损、减持等风险标的 Step 4 - 量价验证 对通过排雷的个股,调用 a-stock-volume-price → 确认走势真实性,排除诱多 Step 4.5 - 技术面快速扫描(Top 3 候选) 对 Top 3 候选执行技术面综合分析(同模式三 Step 4.5,简化版) → 三方交叉验证技术面强度,排序 Step 5 - 深度分析(Top 2-3) 默认:stock-research-engine 辅助(如有 Token):tradingagents-analysis → 输出完整研报 Step 6 - 汇总输出投资简报
模式二:板块分析("帮我分析 XX 板块")
触发词:分析XX板块、XX行业怎么样、板块摸底
流程:
Step 1 - 板块概况 调用 akshare-stock 获取板块行情数据 → stock_board_industry_name_em() 或 stock_board_concept_name_em() 调用 a-stock-trading-assistant 获取板块实时数据 Step 2 - 热点新闻与资金流向 调用 akshare-stock 获取板块资金流向数据 用 web_search 搜索板块近期热点新闻(最近3天) → 整理板块驱动因素 Step 3 - 龙头识别 调用 a-stock-leader-identification → 板块内找真龙 + 跟风股对比 Step 4 - 成分股扫描与排雷 调用 akshare-stock 获取板块成分股列表 → stock_board_industry_cons_em(symbol="板块名") 调用 a-stock-fundamental-screening 对主要成分股排雷 → 输出风险标的清单 Step 5 - 量价验证(Top 3) 调用 a-stock-volume-price → 确认龙头走势 Step 6 - 深度分析(龙头股) 默认:stock-research-engine 辅助(如有 Token):tradingagents-analysis Step 7 - 输出板块分析报告
模式三:个股深度分析("帮我看看 600519")
触发词:分析XX、看看XX、XX怎么样、帮我看看这个票、股票代码
流程:
Step 1 - 实时行情 调用 a-stock-trading-assistant(fetch_stock.py --code XXX) → 当前价、涨跌幅、成交量、技术指标 Step 2 - 历史数据 调用 akshare-stock 获取 K 线 + 财务数据 → 近30日K线、PE/PB/ROE等 Step 3 - 基本面排雷 调用 a-stock-fundamental-screening → 排雷检查 Step 4 - 量价验证 调用 a-stock-volume-price → 量价关系判断 Step 4.5 - 技术面综合分析(三方交叉验证) 同时执行三个技术面分析方案,交叉验证: 4.5a - 方案A: a-stock-kline-analyzer exec: python3 skills/a-stock-kline-analyzer/scripts/kline_analyzer.py --code XXX --days 60 --report → K线形态识别 + 量能分析 + 技术评分(0-100) → 提取:趋势判断、MACD信号、RSI信号、支撑位/压力位、综合建议 4.5b - 方案B: stock-kline-analysis exec: python3 -c " from scripts.fetch_kline import fetch_all_timeframes from scripts.indicators import add_indicators d, w, m = fetch_all_timeframes('XXX') d = add_indicators(d) # 输出最后3日指标 + 多时间框架判断 " (在 skills/stock-kline-analysis/ 目录下执行) → 多时间框架分析(日线+周线+月线) → 提取:均线排列、MACD/RSI/ATR 数值、布林带位置 → 图表生成: exec: plot_kline(d, code='XXX', name='名称', out_path='/tmp/kline-XXX.png') 上传飞书:feishu_doc_media insert(需先 wiki_space_node get 获取 obj_token) wiki node token → obj_token 转换示例: feishu_wiki_space_node(action="get", token="wiki_node_token") → obj_token, obj_type 然后 feishu_doc_media(action="insert", doc_id=obj_token, file_path="/tmp/kline-XXX.png", type="image") 4.5c - 方案C: stock-daily-analysis(AI增强) exec (在 skills/stock-daily-analysis/ 目录下执行): python3 -c " from scripts.data_fetcher import get_daily_data from scripts.trend_analyzer import analyze_stock from scripts.ai_analyzer import AIAnalyzer import json df = get_daily_data('XXX', 60) # 列名转换(tushare 中文列名 → trend_analyzer 英文列名) df = df.rename(columns={'日期':'date','开盘':'open','最高':'high','最低':'low','收盘':'close','成交量':'volume','成交额':'amount'}) df = df[['date','open','high','low','close','volume']] tech = analyze_stock(df, 'XXX') tech_data = { 'current_price': tech.current_price, 'ma5': tech.ma5, 'ma10': tech.ma10, 'ma20': tech.ma20, 'bias_ma5': tech.bias_ma5, 'bias_ma10': tech.bias_ma10, 'trend_status': tech.trend_status.value, 'macd_status': tech.macd_status.value, 'macd_signal': str(tech.macd_signal), 'rsi_status': tech.rsi_status.value, 'rsi_signal': str(tech.rsi_signal), 'volume_status': tech.volume_status.value, 'volume_trend': str(tech.volume_trend), 'signal_score': tech.signal_score, 'buy_signal': tech.buy_signal.value, 'signal_reasons': tech.signal_reasons, 'risk_factors': tech.risk_factors, } config = json.load(open('config.json')) ai = AIAnalyzer(config['ai']) result = ai.analyze('XXX', '名称', tech_data) print(json.dumps(result, ensure_ascii=False, indent=2)) " → LLM 趋势判断 + 买入信号评分 → 提取:sentiment_score、trend_prediction、operation_advice、confidence_level 4.5d - 三方交叉验证汇总 对比三个方案的核心指标,判断一致性: - 趋势方向:三方是否一致(看多/看空/分歧) - MACD:金叉/死叉一致性 - RSI:超买/超卖/中性 - 综合评分:取均值或加权 - 输出"技术面综合分析"章节(见输出模板) Step 5 - 深度研报 主力:stock-research-engine(按其分析框架执行完整6步) 辅助(如有 Token):tradingagents-analysis → 多智能体交叉验证 Step 5.5 - 多空辩论 调用 stock-debate V2.1 → 读取 skills/stock-debate/SKILL.md,按其7步流程执行 → 数据采集:腾讯财经(直连)+ 东方财富(代理)+ AkShare → 代理:仅数据采集时按需启停(stock_start_proxy / stock_stop_proxy),采集完必须关闭 → 输出多空辩论报告,写入飞书(节点:EhQ6w2F5yiC0DKkxlzlcEMvIn2f) Step 6 - 输出个股投资简报
模式四:持仓体检("看看我的持仓")
触发词:持仓、我的股票、体检、盈亏
流程:
Step 1 - 持仓汇总 调用 a-stock-portfolio-monitor(portfolio.py analyze) → 总盈亏、各股盈亏 Step 2 - 逐股体检 对每只持仓股执行模式三的 Step 1-5 → 止损止盈建议 Step 3 - 调仓建议 综合所有持仓分析,输出: - 建议卖出(触及止损/基本面恶化) - 建议减仓(涨幅达标) - 建议持有(趋势完好) - 建议加仓(回调到位/基本面改善) Step 4 - 输出持仓体检报告
📋 子 Skill 调度清单
| 子 Skill | 用途 | 调用方式 |
|---|---|---|
| akshare-stock | 历史数据/财务/板块/资金流向 | 读取 SKILL.md 获取 API 调用方法,用 exec 执行 Python |
| a-stock-trading-assistant | 实时行情/热点板块 | exec 执行 scripts/fetch_stock.py |
| stock-research-engine | 深度研报(主力) | 读取 SKILL.md + references/analysis-framework.md,按框架执行 |
| stock-debate | 多空辩论(V2.1) | 读取 SKILL.md,按7步流程执行,采集时按需启停代理 |
| tradingagents-analysis | 多智能体分析(辅助) | 需 TRADINGAGENTS_TOKEN,exec 调用 API |
| a-stock-fundamental-screening | 基本面排雷 | 读取 SKILL.md 获取筛选规则 |
| a-stock-leader-identification | 龙头股识别 | 读取 SKILL.md 获取识别规则 |
| a-stock-volume-price | 量价关系验证 | 读取 SKILL.md 获取验证规则 |
| a-stock-kline-analyzer | 技术面A:K线形态+评分 | exec scripts/kline_analyzer.py --code XXX --days 60 --report |
| stock-kline-analysis | 技术面B:多时间框架+图表 | exec Python import fetch_kline + indicators + chart |
| stock-daily-analysis | 技术面C:LLM趋势判断 | exec Python import data_fetcher + trend_analyzer + ai_analyzer |
| a-stock-portfolio-monitor | 持仓管理 | exec 执行 scripts/portfolio.py |
数据源分工
| 场景 | 主数据源 | 说明 |
|---|---|---|
| 实时行情 | a-stock-trading-assistant | 东方财富/同花顺实时数据 |
| 历史 K 线 | akshare-stock | stock_zh_a_hist() |
| 财务指标 | akshare-stock | stock_financial_analysis_indicator() |
| 板块成分股 | akshare-stock | stock_board_industry_cons_em() |
| 资金流向 | akshare-stock | stock_individual_fund_flow() |
📤 输出规范
投资简报模板(每次分析必输出)
文档结构(2026-03-23 起):
- 创建三个独立文档互相链接:
- 综合简报(主文档,含评级表格 + 核心结论 + 跟踪清单)
- 深度研报(stock-research-engine 输出,完整基本面分析)
- 多空辩论(stock-debate 输出,7 步辩论流程)
- 简报中放两个详细报告链接,实现快速导航
写作原则:
- 专业术语必须配"人话解释"(如 MACD→"短期与中期趋势的差距")
- 先给结论,再给原因,最后给操作建议
- 用类比和场景帮助理解(如"布林带=价格通道")
- 避免堆砌数字,突出重点
- 风险用 emoji 标等级(🔴高 🟡中 🟢低)
markdown# 📋 [股票名称](代码) 综合简报 > 生成时间:YYYY-MM-DD HH:MM | 数据截至:YYYY-MM-DD ## 🎯 一句话结论 [看多/看空/中性 + 理由,不超过30字] ## 💰 当前行情 | 项目 | 数值 | 什么意思 | |------|------|----------| | 最新价 | XX.XX | - | | 今日涨幅 | +X.XX% | 涨了多少 | | 成交额 | XX亿 | 交投是否活跃 | ## 📈 技术面分析(三家一起看,更靠谱) ### 三家观点对比 | 问题 | A方案(看K线) | B方案(多周期) | C方案(AI) | 一致吗? | |------|-------|-------|-------|------| | 什么趋势? | ... | ... | ... | ✅/⚠️/❌ | | 动能如何? | ... | ... | ... | ✅/⚠️/❌ | | 买还是卖? | ... | ... | ... | ✅/⚠️/❌ | ### 用人话解释 [每个方案用1-2段大白话总结核心观点] [附带详细报告链接] ### 综合判断 [三方一致性分析 + 核心结论] ## 🛡️ 风险提示 | 风险等级 | 风险 | 说明 | |----------|------|------| | 🔴/🟡/🟢 | ... | ... | ## 💡 操作建议 | 项目 | 建议 | 说明 | |------|------|------| | 怎么做 | 买入/观望/卖出 | ... | | 入场价 | XX元 | ... | | 止损位 | XX元 | ... | | 目标位 | XX元 | ... | | 仓位 | XX% | ... | **一句话操作指南**:[不超过40字的可执行建议] ## 📎 详细报告链接 - [方案A - K线形态分析](飞书链接) - [方案B - 多时间框架分析](飞书链接) - [方案C - AI趋势分析](飞书链接) ### 基本面 - ROE: XX% - 营收增速: XX% - ... ### 技术面综合分析(三方交叉验证) #### 指标汇总 | 指标 | A方案(K线形态) | B方案(多时间框架) | C方案(AI趋势) | 共识 | |------|-------|-------|-------|------| | 趋势 | 多头/空头/震荡 | 日线/周线方向 | AI预测 | ✅/⚠️/❌ | | MACD | 金叉/死叉 | 数值+方向 | - | ✅/⚠️ | | RSI | 数值+区域 | 数值+区域 | - | ✅/⚠️ | | 技术评分 | X分 | - | 情绪分X | 综合 | | 买入信号 | 有/无 | - | 买入/观望/卖出 | ✅/⚠️ | #### A方案要点(a-stock-kline-analyzer) - 均线排列:MA5/MA10/MA20 排列状态 - MACD:DIF/DEA 数值及信号 - RSI:数值及区域判断 - 布林带:当前价格在布林带中的位置 - K线形态:锤子线/十字星/吞没等 - 量能分析:量比、换手率、量价关系 - 支撑位/压力位 #### B方案要点(stock-kline-analysis) - 日线/周线/月线多时间框架共振 - ATR 波动率 - 布林带宽度 #### C方案要点(stock-daily-analysis AI分析) - 趋势预测:上涨/下跌/震荡 - 操作建议:买入/持有/观望/卖出 - 置信度:高/中/低 - AI 核心判断 #### 综合判断 [三方一致性分析 + 核心结论] ## ⚠️ 免责声明 ```markdown ## 🏭 板块概况 - 板块名称 / 概念 - 板块涨跌幅 / 资金净流入 - 近期热点新闻(3条以内) ## 🏆 龙头股 | 排名 | 股票 | 代码 | 涨幅 | 理由 | |------|------|------|------|------| ## ⛔ 风险标的(排雷结果) | 股票 | 代码 | 风险类型 | 原因 | |------|------|----------|------|
持仓体检报告额外包含
markdown## 💼 持仓汇总 | 股票 | 成本 | 现价 | 盈亏 | 盈亏% | |------|------|------|------|-------| | **总计** | | | **+XX元** | **+X.X%** | ## 🔄 调仓建议 | 操作 | 股票 | 理由 | |------|------|------|
📁 飞书存档
每次分析完成后,自动创建飞书文档存档。
- 父节点:
EhQ6w2F5yiC0DKkxlzlcEMvIn2f(投研分析笔记) - 文档命名规则:
- 个股分析:
[日期] 个股分析 - 股票名称(代码) - 板块扫描:
[日期] 每日板块扫描 - 板块分析:
[日期] 板块分析 - 板块名称 - 持仓体检:
[日期] 持仓体检
- 个股分析:
- 工具: 使用 feishu_create_doc 创建,将投资简报 Markdown 作为内容
- Wiki 空间: https://vicyrpffceo.feishu.cn/wiki/EhQ6w2F5yiC0DKkxlzlcEMvIn2f
⚙️ 依赖与配置
必需
- Python 3.10+
- tushare (
pip install tushare)
数据源配置
Tushare Pro 作为主数据源(支持海外访问),Token 轮换配置在 config/tushare-tokens.json。
pythonimport tushare as ts ts.set_token("从 config/tushare-tokens.json 读取") pro = ts.pro_api() # 日K线 pro.daily(ts_code='002460.SZ', start_date='20260101', end_date='20260322') # 财务指标(需2000积分) pro.fina_indicator(ts_code='002460.SZ') # 资金流向(需5000积分) pro.moneyflow(ts_code='002460.SZ') # 板块成分股 pro.ths_member(ts_code='885756.TI') # 每日行情 pro.daily(trade_date='20260322')
备用数据源:a-stock-trading-assistant(腾讯财经,用于实时行情补充)
可选
- TRADINGAGENTS_TOKEN: 多智能体分析功能
- 格式:
ta-sk-* - 获取: https://app.510168.xyz → Settings → API Tokens
- 未配置时自动跳过,不影响主流程
- 格式:
环境变量
bash# 可选,多智能体分析 export TRADINGAGENTS_TOKEN="ta-sk-xxx" # 可选,自托管后端 # export TRADINGAGENTS_API_URL="https://your-server:8000"
🔧 技术面分析集成(V1.0)
版本信息
- 版本: V1.0
- 发布日期: 2026-03-22
- 端到端测试: 赣锋锂业(002460) ✅
技术面三方交叉验证
| 方案 | Skill | 核心能力 | 数据源 | 执行耗时 |
|---|---|---|---|---|
| A | a-stock-kline-analyzer | K线形态+量能+技术评分(-5~+5) | baostock | ~10s |
| B | stock-kline-analysis | 多时间框架+可视化图表 | tushare | ~8s |
| C | stock-daily-analysis | LLM趋势判断+情绪评分(0~100) | tushare+GLM | ~15s |
依赖配置
- baostock:
pip install baostock(方案A) - tushare:
pip install tushare(方案B/C),token 在config/tushare-tokens.json - GLM API:
config/stock-daily-analysis/config.json(方案C) - 中文字体:
apt install fonts-wqy-zenhei(方案B图表) - matplotlib:
pip install matplotlib(方案B图表)
飞书图表上传流程
1. 生成图表 → /tmp/kline-{code}.png 2. feishu_create_doc 创建文档 → 获取 doc_id 3. 如果文档在 Wiki 中: feishu_wiki_space_node(action="get", token="wiki_node_token") → obj_token 4. feishu_doc_media(action="insert", doc_id=obj_token, file_path="/tmp/...", type="image")
已知限制
- 方案A实时行情(新浪API)海外不可用,使用 baostock K线数据替代
- 方案C仅支持A股(港股/美股需额外适配)
- 方案C筹码分布功能暂不可用(tushare 无此接口)
- 三方案并行执行总耗时 ~20-30 秒
⚠️ 免责声明
- 所有分析仅供个人研究参考,不构成投资建议
- 数据来源于公开市场信息,可能存在延迟
- 投资有风险,入市需谨慎
- 最终决策权在用户手中

