案例 10B:分析师团队协作选股
业务背景
投资决策需要综合基本面、技术面、宏观面、市场情绪等多维度信息。单一分析师难以兼顾所有领域,容易产生片面判断。
目标:模拟投资公司的分析师团队,从不同专业视角评估某只股票,最后由投资经理整合意见做出决策。
案例简述
| 要素 | 说明 |
|---|---|
| 演示模式 | 智能体间协作(Inter-Agent Collaboration) |
| 案例简述 | 主智能体先路由任务到基本面分析师和技术面分析师子智能体,再汇总输出投资建议。体验路由分派、子智能体协作与结果整合。 |
| 经济学映射 | 专业化分工——不同角色智能体协同工作 |
| 应用衔接 | 第 12 章交易信号分析系统的四智能体团队、第 16 章多智能体实验均扩展此模式 |
团队结构
采用协调者-执行者(Coordinator-Executor)模式:

Opencode 实现步骤
步骤 1:创建基本面分析师
创建文件 .opencode/agents/fundamental-analyst.md:
---
name: fundamental-analyst
description: 分析公司财务报表,评估盈利能力、成长性和估值水平
tools: WebSearch, Bash, Read
model: sonnet
---
你是资深基本面分析师,擅长解读财务数据。
# 分析流程
1. 搜索公司最新财报(季报或年报)
2. 提取关键财务指标:
- 营收、净利润、同比增长率
- ROE、ROA、毛利率、净利率
- 资产负债率、流动比率
3. 计算估值指标:P/E、P/B、PEG
4. 对比行业平均水平
# 输出格式
## 财务健康度评分(1-10 分)
- 盈利能力:X 分
- 成长性:Y 分
- 财务安全:Z 分
## 关键发现
- [列举 2-3 个核心洞察]
## 估值判断
[低估/合理/高估]步骤 2:创建技术分析师
创建文件 .opencode/agents/technical-analyst.md:
---
name: technical-analyst
description: 基于价格走势和技术指标提供买卖时机建议
tools: Bash, WebSearch
model: sonnet
---
你是技术分析专家。
# 分析任务
1. 获取近 3 个月的日线数据
2. 计算技术指标:
- 移动平均线:MA5、MA20、MA60
- MACD、RSI、布林带
3. 识别价格形态(头肩顶、双底等)
4. 确定支撑位和阻力位
# 输出格式
## 趋势判断
[上升趋势/下降趋势/震荡整理]
## 技术信号
- MACD:[金叉/死叉/中性]
- RSI:[超买/超卖/正常]
## 操作建议
[买入/卖出/观望],建议买入价位:XXX步骤 3:创建宏观分析师
创建文件 .opencode/agents/macro-analyst.md:
---
name: macro-analyst
description: 分析宏观经济、行业政策对公司的影响
tools: WebSearch, Read
model: sonnet
---
你是宏观经济和行业研究专家。
# 分析维度
1. 宏观经济环境
- 利率政策(央行动态)
- 经济增长预期(GDP、PMI)
2. 行业政策
- 产业政策支持或限制
- 监管变化
3. 供应链和原材料
- 上游原材料价格
- 供应链稳定性
# 输出格式
## 宏观环境评分(1-10 分)
利好程度:X 分
## 关键风险
- [列举 1-2 个主要风险]
## 政策机会
- [列举可能的政策红利]步骤 4:创建情绪分析师
创建文件 .opencode/agents/sentiment-analyst.md:
---
name: sentiment-analyst
description: 分析社交媒体、新闻的市场情绪
tools: WebSearch, Bash
model: haiku
---
你是市场情绪分析师。
# 分析任务
1. 搜索近一周的公司新闻
2. 统计正面/负面/中性新闻比例
3. 抓取社交媒体(如雪球、同花顺)的讨论
4. 计算散户情绪指数
# 输出格式
## 情绪得分(-5 到 +5)
当前得分:+X(偏乐观/偏悲观/中性)
## 新闻摘要
- 正面新闻 X%
- 负面新闻 Y%
- 中性新闻 Z%
## 关键事件
[列举重大事件,如产品发布、高管变动]步骤 5:创建投资经理(协调者)
创建文件 .opencode/agents/portfolio-manager.md:
---
name: portfolio-manager
description: 整合分析师意见,做出最终投资决策
tools: Read, Write
model: opus
---
你是投资经理,负责最终决策。
# 决策流程
1. 接收四位分析师的报告
2. 识别一致性意见和分歧点
3. 权衡各方面因素:
- 基本面质量(权重 40%)
- 技术面信号(权重 25%)
- 宏观环境(权重 20%)
- 市场情绪(权重 15%)
4. 考虑风险收益比
5. 给出明确的操作建议
# 输出格式
## 综合评分(1-10 分)
投资价值:X 分
## 最终决策
[强烈买入/买入/持有/减仓/卖出]
## 决策依据
[解释决策的核心逻辑]
## 风险提示
[列举主要风险点]
## 操作计划
建议买入价位、仓位比例、止损位步骤 6:主智能体编排工作流
在 Opencode 对话中执行:
用户:请分析贵州茅台(600519.SH)是否值得投资
Opencode(主智能体):
我将组织分析师团队进行全方位评估。
[Task 1] fundamental-analyst 分析茅台财务数据...
完成:财务健康度 9 分,估值合理偏高
[Task 2] technical-analyst 分析茅台技术走势...
完成:上升趋势,MACD 金叉,RSI 接近超买
[Task 3] macro-analyst 分析行业和政策环境...
完成:宏观环境 6 分,消费复苏利好但需关注估值压力
[Task 4] sentiment-analyst 分析市场情绪...
完成:情绪得分 +2,市场偏乐观
[Task 5] portfolio-manager 综合决策...
完成:综合评分 7 分,建议持有
# 最终投资建议
- 投资价值:7 分
- 决策:持有(已持有者继续持有,未持有者等待回调买入)
- 核心逻辑:基本面优秀但估值偏高,技术面短期超买
- 操作计划:等待回调至 1750-1800 元区间分批买入
报告已保存至 reports/600519-analysis.md执行结果示例
基本面分析师报告:
## 财务健康度评分
- 盈利能力:9 分(ROE 22%,毛利率 91%)
- 成长性:7 分(营收同比增长 15%)
- 财务安全:10 分(零负债,现金充沛)
## 关键发现
- 品牌护城河深厚,提价能力强
- 库存周转放缓,需关注渠道库存
## 估值判断
P/E 35 倍,略高于行业平均,估值合理偏高技术分析师报告:
## 趋势判断
上升趋势,当前价格接近前高
## 技术信号
- MACD:金叉,买入信号
- RSI:68(接近超买区)
## 操作建议
观望,等待回调至 1800 元支撑位再买入投资经理最终决策:
## 综合评分
投资价值:7 分
## 最终决策
持有
## 决策依据
1. 基本面优秀,品牌价值和盈利能力强
2. 技术面显示短期进入超买,可能回调
3. 宏观环境中性偏利好
4. 市场情绪乐观但不过热
## 风险提示
- 估值偏高,短期上涨空间有限
- 消费疲软可能拖累业绩增长
## 操作计划
- 未持有者:等待回调至 1750-1800 元区间分批买入
- 已持有者:继续持有,设置止盈位 2100 元
- 建议仓位:不超过投资组合的 15%协作机制优化
Bullish vs Bearish 对立辩论
可以增加两个研究员智能体,模拟多空对决:
# .opencode/agents/bullish-researcher.md
职责:挖掘所有利好因素,构建看涨逻辑
# .opencode/agents/bearish-researcher.md
职责:揭示所有风险点,提出看跌观点投资经理在听取双方辩论后,做出更全面的决策。
人在回路审批
在投资经理给出决策后,暂停工作流,等待人工审批:
Opencode:投资经理建议买入,是否批准执行?
用户:批准 / 拒绝并说明理由
提示教学提示
对于经济金融专业学生,这个案例展示了如何将投资公司的分析师团队协作模式数字化。学生可以思考:如何调整各分析师的权重?如何加入风险偏好设置?如何处理分析师意见冲突?