boheng-investment-workflow

投资研究多智能体决策系统 - 8位专业分析师并行研究,加权投票给出投资建议。支持A股股票、基金、ETF、可转债等多种投资标的分析。支持实时行情获取、财务数据分析、多维度分析、风险提示。触发词:股票分析、基金推荐、投资建议、买卖建议、估值分析、能买吗。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "boheng-investment-workflow" with this command: npx skills add zhangboheng/boheng-investment-workflow

投资研究多智能体决策系统

🎯 核心特性

特性说明
多智能体分析8位专业分析师并行研究
加权投票机制按权重计算最终投资建议
多标的支持支持A股股票、基金、ETF、可转债
实时行情通过腾讯财经API获取实时行情
财务数据分析行情数据+行业估算(部分指标)
完整报告输出结构化投资决策报告
风险提示识别并提示潜在风险

⚠️ 数据说明:本技能仅使用腾讯财经API(qt.gtimg.cn)获取数据。部分财务指标(如毛利率、净利率)基于行业经验估算,非真实财务报表数据。如需精确财务数据,请查阅官方财报或专业数据平台。


🚀 快速开始

1️⃣ 安装

cd ~/.openclaw/skills/boheng-investment-workflow/scripts
chmod +x install.sh
./install.sh

会自动完成:

  • ✅ 创建 ~/.openclaw/workspace/investment/ 数据目录
  • ✅ 安装 Python 依赖(requests, beautifulsoup4, akshare)
  • ✅ 测试基本功能

依赖说明

依赖包用途
requestsHTTP 请求(必需)
beautifulsoup4HTML 解析(可选)

⚠️ 注意:本技能不再依赖 AKShare。所有数据通过腾讯财经API获取,部分财务指标为估算值。


2️⃣ 分析投资标的

股票分析

# 分析单只股票
python3 analyze_stock.py 600919

# 指定股票名称
python3 analyze_stock.py 600919 江苏银行

基金分析

# 分析基金
python3 analyze_fund.py 110022  # 易方达消费行业

# 指定基金名称
python3 analyze_fund.py 110022 易方达消费行业

ETF分析

# 分析ETF
python3 analyze_etf.py 510300  # 沪深300ETF

# 指定ETF名称
python3 analyze_etf.py 510300 沪深300ETF

可转债分析

# 分析可转债
python3 analyze_bond.py 113050  # 核能转债

# 指定可转债名称
python3 analyze_bond.py 113050 核能转债

3️⃣ 输出示例

==================================================
        投资研究决策报告
==================================================

【标的】:600919 江苏银行
【研究时间】:2026-04-29
【当前价格】:¥11.40 (+0.35%)

==========================================
        财务数据概览
==========================================

📊 盈利能力:
   ROE: 12.5%  |  毛利率: 45.2%  |  净利率: 28.3%

📈 成长能力:
   营收增速: 8.5%  |  利润增速: 12.3%

💰 估值指标:
   PE: 5.8倍  |  PB: 0.65倍  |  股息率: 5.2%

==========================================
        8位分析师投票结果
==========================================

1. 宏观经济分析师 → ✅ 建议 (权重 1.0x)
   理由:货币政策宽松,利率下行利好银行股...

2. 行业研究员 → ✅ 建议 (权重 1.5x) ⭐
   理由:银行业景气度稳定,息差收窄但资产质量改善...

==========================================
            最终结论
==========================================

最终建议:✅ 建议投资

综合建议:
1. 估值处于历史低位,具备安全边际
2. 高股息率(5.2%),适合长期持有
3. 建议分批建仓,控制仓位

风险提示:
- 经济下行可能导致不良贷款上升
- 息差收窄压力持续
==========================================

📁 文件结构

boheng-investment-workflow/
├── SKILL.md                    # 主文档
├── README.md                   # 使用说明
└── scripts/
    ├── config.py               # ⭐ 统一配置
    ├── monitor.py              # ⭐ 行情监控模块
    ├── financial_data.py       # ⭐ 财务数据模块(AKShare)
    ├── analysts.py             # ⭐ 8位分析师模块
    ├── analyze_stock.py        # ⭐ 股票分析入口
    ├── analyze_fund.py         # ⭐ 基金分析入口
    ├── analyze_etf.py          # ⭐ ETF分析入口
    ├── analyze_bond.py         # ⭐ 可转债分析入口
    ├── report_generator.py     # 报告生成器
    ├── install.sh              # 安装脚本
    └── uninstall.sh            # 卸载脚本

👥 8位分析师及其职责

#分析师职责分析维度权重数据来源
1宏观经济分析师宏观环境分析GDP/利率/政策1.0xAKShare宏观接口
2行业研究员行业景气度赛道/竞争/政策1.5xAKShare行业数据
3基本面分析师公司财务分析业绩/增长/护城河1.5xAKShare财务报表
4技术分析师K线趋势分析趋势/支撑/信号1.0xAKShare K线数据
5风险控制师风险识别仓位/止损/分散1.2x综合分析
6量化分析师数据统计分析因子/相关/回测1.0xAKShare历史数据
7情绪分析师市场情绪分析资金/贪婪恐惧0.8xAKShare资金流向
8估值分析师合理价值分析DCF/PE分位/安全边际1.2xAKShare估值数据

📊 AKShare 数据接口使用

⚠️ 重要说明:v1.1.1 版本起,本技能已移除 AKShare 依赖,改为仅使用腾讯财经API。以下文档保留供参考,但代码中不再使用 AKShare。

行情数据(已弃用 AKShare)

import akshare as ak

# 实时行情
df = ak.stock_zh_a_spot_em()
quote = df[df['代码'] == '600919'].iloc[0]

# 历史K线
df = ak.stock_zh_a_hist(symbol="600919", period="daily", 
                         start_date="20250101", end_date="20260429",
                         adjust="qfq")  # 前复权

财务数据

import akshare as ak

# 主要财务指标
df = ak.stock_financial_analysis_indicator(symbol="600919")
# 包含:ROE、毛利率、净利率、营收增速等

# 资产负债表
df = ak.stock_balance_sheet_by_report_em(symbol="600919")

# 利润表
df = ak.stock_profit_sheet_by_report_em(symbol="600919")

# 现金流量表
df = ak.stock_cash_flow_sheet_by_report_em(symbol="600919")

估值数据

import akshare as ak

# 市盈率、市净率、股息率
df = ak.stock_a_lg_indicator(symbol="600919")
# 包含:pe_ttm、pb、dv_ratio(股息率)

# 估值分位
# 需要结合历史数据计算

资金流向

import akshare as ak

# 个股资金流向
df = ak.stock_individual_fund_flow(stock="600919", market="sh")

# 主力资金
df = ak.stock_fund_flow_individual(symbol="600919")

行业数据

import akshare as ak

# 行业板块行情
df = ak.stock_board_industry_name_em(symbol="银行")

# 个股所属行业
df = ak.stock_individual_info_em(symbol="600919")

📈 各分析师数据使用详解

1. 宏观经济分析师

数据接口

# 中国GDP增速
df = ak.macro_china_gdp()

# CPI/PPI
df = ak.macro_china_cpi_yearly()

# 社融数据
df = ak.macro_china_shrz_money()

# 利率数据
df = ak.macro_china_shibor_all()

分析逻辑

  • GDP增速 > 5%:经济扩张,利好股市
  • CPI < 3%:通胀温和,货币政策空间大
  • 社融增速上升:信用扩张,利好市场

2. 行业研究员

数据接口

# 行业涨跌幅排行
df = ak.stock_board_industry_index_em()

# 行业资金流向
df = ak.stock_board_industry_fund_flow_em()

# 行业估值
df = ak.stock_board_industry_pe_lg(symbol="银行")

分析逻辑

  • 行业涨跌幅排名前30%:景气度高
  • 行业资金净流入:资金关注度高
  • 行业PE处于历史低位:估值优势

3. 基本面分析师

数据接口

# 主要财务指标
df = ak.stock_financial_analysis_indicator(symbol="600919")

# 关键指标:
# - roe: 净资产收益率
# - roa: 总资产收益率
# - grossprofitmargin: 毛利率
# - netprofitmargin: 净利率
# - revenue_growth: 营收增速
# - net_profit_growth: 利润增速
# - debt_to_asset: 资产负债率
# - current_ratio: 流动比率
# - ocf_to_revenue: 经营现金流/营收

评分标准

指标优秀良好一般较差
ROE>15%10-15%5-10%<5%
毛利率>40%25-40%15-25%<15%
营收增速>20%10-20%0-10%<0%
资产负债率<40%40-60%60-75%>75%

4. 技术分析师

数据接口

# 日K线数据
df = ak.stock_zh_a_hist(symbol="600919", period="daily",
                         start_date="20250101", adjust="qfq")

# 列包含:开盘、收盘、最高、最低、成交量、成交额

技术指标计算

import pandas as pd

# 均线
df['MA5'] = df['收盘'].rolling(5).mean()
df['MA10'] = df['收盘'].rolling(10).mean()
df['MA20'] = df['收盘'].rolling(20).mean()

# MACD
exp12 = df['收盘'].ewm(span=12, adjust=False).mean()
exp26 = df['收盘'].ewm(span=26, adjust=False).mean()
df['MACD'] = exp12 - exp26
df['SIGNAL'] = df['MACD'].ewm(span=9, adjust=False).mean()

# RSI
delta = df['收盘'].diff()
gain = (delta.where(delta > 0, 0)).rolling(14).mean()
loss = (-delta.where(delta < 0, 0)).rolling(14).mean()
rs = gain / loss
df['RSI'] = 100 - (100 / (1 + rs))

信号判断

  • 金叉:MA5上穿MA20,MACD上穿信号线
  • 超买:RSI > 70
  • 超卖:RSI < 30

5. 风险控制师

数据来源:综合其他分析师数据

风险评估

# 波动率(年化)
volatility = df['收盘'].pct_change().std() * (252 ** 0.5)

# 最大回撤
cummax = df['收盘'].cummax()
drawdown = (df['收盘'] - cummax) / cummax
max_drawdown = drawdown.min()

# 风险等级
if max_drawdown > -0.3:
    risk_level = "高"
elif max_drawdown > -0.2:
    risk_level = "中"
else:
    risk_level = "低"

6. 量化分析师

数据接口

# 历史行情(用于回测)
df = ak.stock_zh_a_hist(symbol="600919", period="daily",
                         start_date="20240101", adjust="qfq")

# 指数数据(计算相关性)
df_index = ak.stock_zh_index_daily(symbol="sh000300")  # 沪深300

因子计算

# 动量因子(过去20日收益率)
momentum = (df['收盘'].iloc[-1] / df['收盘'].iloc[-20] - 1) * 100

# 波动率因子
volatility = df['收盘'].pct_change().std() * 100

# 换手率因子
turnover = df['换手率'].mean()

# 价值因子(需要估值数据)
value_score = 100 - pe_percentile  # PE分位越低越好

7. 情绪分析师

数据接口

# 个股资金流向
df = ak.stock_individual_fund_flow(stock="600919", market="sh")

# 主力资金净流入
main_flow = df['主力净流入-净额'].iloc[-1]

# 融资融券
df = ak.stock_margin_detail_szse(date="20260429")
# 或
df = ak.stock_margin_detail_sse(date="20260429")

# 北向资金
df = ak.stock_hsgt_north_net_flow_in_em()

情绪判断

  • 主力资金连续3日净流入:情绪偏多
  • 融资余额上升:杠杆资金入场
  • 北向资金净流入:外资看好

8. 估值分析师

数据接口

# 估值指标
df = ak.stock_a_lg_indicator(symbol="600919")

# pe_ttm: 滚动市盈率
# pb: 市净率
# ps_ttm: 市销率
# dv_ratio: 股息率
# total_mv: 总市值

# 历史PE数据(计算分位)
df_hist = ak.stock_a_pe_and_pb_analysis(symbol="600919")

估值分位计算

# PE分位
pe_current = df['pe_ttm'].iloc[-1]
pe_hist = df_hist['pe']  # 历史PE序列
pe_percentile = (pe_hist < pe_current).sum() / len(pe_hist) * 100

# 分位解读
if pe_percentile < 20:
    valuation = "严重低估"
elif pe_percentile < 40:
    valuation = "偏低"
elif pe_percentile < 60:
    valuation = "合理"
elif pe_percentile < 80:
    valuation = "偏高"
else:
    valuation = "严重高估"

🔄 决策流程

用户提问投资问题
        ↓
识别投资标的类型(股票/基金/ETF/可转债)
        ↓
获取实时行情(AKShare)
        ↓
获取财务/净值数据(AKShare)
        ↓
并行启动8个分析师
        ↓
各分析师独立分析并给出建议
        ↓
收集投票结果(✅建议/⚠️谨慎/❌不建议)
        ↓
按权重计算最终得分
        ↓
输出综合报告

💾 数据存储

watchlist.txt(自选股列表)

600919|江苏银行
000921|海信家电

reports/(分析报告存档)

2026-04-29_600919_江苏银行.txt
2026-04-29_000921_海信家电.txt

🔧 高级用法

批量分析

# 分析多只股票
for code in 600919 000921 600926; do
    python3 analyze_stock.py $code
done

自定义分析

from financial_data import FinancialDataFetcher
from analysts import run_all_analysts

# 获取财务数据
fetcher = FinancialDataFetcher()
financial = fetcher.get_all_data("600919")

# 运行分析师
results = run_all_analysts(quote, financial)

❓ 常见问题

Q1: AKShare 接口报错怎么办?

部分接口有频率限制,建议:

  • 添加请求间隔:time.sleep(1)
  • 使用缓存减少重复请求
  • 切换备用接口

Q2: 如何修改分析师权重?

编辑 scripts/config.py

ANALYST_WEIGHTS = {
    "宏观经济分析师": 1.0,
    "行业研究员": 1.5,
    # ...
}

Q3: 支持港股/美股吗?

AKShare 支持港股和美股数据,可在 financial_data.py 中扩展。

Q4: 支持哪些投资标的?

当前支持:

  • A股股票:完整财务分析
  • 公募基金:净值、持仓、业绩分析
  • ETF:指数跟踪、估值分析
  • 可转债:转股价值、溢价率分析

📊 基金分析

基金数据接口

import akshare as ak

# 基金基本信息
df = ak.fund_name_em()
fund_info = df[df['基金代码'] == '110022'].iloc[0]

# 基金净值
df = ak.fund_open_fund_daily_em(symbol="110022")
# 包含:单位净值、累计净值、日增长率

# 基金历史净值
df = ak.fund_open_fund_info_em(fund="110022", indicator="单位净值")

# 基金持仓
df = ak.fund_portfolio_em(fund="110022")
# 包含:股票持仓、债券持仓、行业分布

# 基金业绩排名
df = ak.fund_performance_open_fund_em(symbol="110022")

# 基金经理
df = ak.fund_manager_em(fund="110022")

基金分析维度

分析师基金分析维度
宏观经济市场环境、利率走势
行业研究基金持仓行业分布
基本面基金业绩、持仓股票质量
技术面净值走势、MA趋势
风险控制波动率、最大回撤
量化分析夏普比率、Alpha/Beta
情绪分析基金规模变化、申购赎回
估值分析基金估值、持仓股票PE

基金评分标准

指标优秀良好一般较差
年化收益>15%10-15%5-10%<5%
夏普比率>1.51.0-1.50.5-1.0<0.5
最大回撤<10%10-20%20-30%>30%
基金规模适中偏大/偏小过大/过小极端

📈 ETF分析

ETF数据接口

import akshare as ak

# ETF列表
df = ak.fund_etf_spot_em()

# ETF实时行情
df = ak.fund_etf_fund_daily_em(symbol="510300")

# ETF历史净值
df = ak.fund_etf_fund_info_em(fund="510300", indicator="单位净值")

# ETF持仓(指数ETF)
# 查询指数成分股
df = ak.index_stock_cons_weight_csindex(symbol="000300")  # 沪深300成分股

ETF分析维度

分析师ETF分析维度
宏观经济市场环境、政策导向
行业研究ETF跟踪指数/行业
基本面指数成分股质量
技术面ETF价格走势、MA趋势
风险控制波动率、跟踪误差
量化分析指数估值、PE分位
情绪分析ETF成交量、资金流向
估值分析指数PE/PB分位

ETF类型分类

ETF类型代码示例特点
宽基ETF510300(沪深300)跟踪宽基指数
行业ETF512690(酒ETF)跟踪行业指数
主题ETF515790(新能源)跟踪主题指数
跨境ETF513100(纳指ETF)跟踪海外指数
债券ETF511010(国债ETF)跟踪债券指数

💰 可转债分析

可转债数据接口

import akshare as ak

# 可转债列表
df = ak.bond_cb_jsl()  # 集思录数据

# 可转债实时行情
df = ak.bond_zh_hs_cov_spot()

# 可转债详情
df = ak.bond_cb_jsl_detail(symbol="113050")

# 可转债历史行情
df = ak.bond_zh_hs_cov_hist(symbol="113050")

可转债核心指标

指标说明计算公式
转股价转换为股票的价格固定值
转股价值100/转股价×正股价格动态变化
转股溢价率(转债价格-转股价值)/转股价值衡量估值
纯债价值债券部分价值到期收益率计算
纯债溢价率(转债价格-纯债价值)/纯债价值衡量股性
双低指标转股溢价率+纯债溢价率选债参考

可转债分析维度

分析师可转债分析维度
宏观经济利率环境、信用环境
行业研究正股所属行业
基本面正股财务质量、信用评级
技术面转债价格走势、正股走势
风险控制信用风险、赎回风险
量化分析双低指标、套利空间
情绪分析转债成交量、正股情绪
估值分析转股溢价率、纯债溢价率

可转债评分标准

指标优秀良好一般较差
转股溢价率<5%5-15%15-30%>30%
纯债溢价率<20%20-40%40-60%>60%
双低指标<120120-150150-180>180
信用评级AAAAA+AAAA-及以下
正股ROE>15%10-15%5-10%<5%


📚 参考资源


📜 版本变更历史

v1.1.1 (2026-04-29)

安全修复

  • 🔒 统一数据源为腾讯财经API(qt.gtimg.cn)
  • 🔒 移除所有其他域名
  • 🔒 移除 AKShare 依赖
  • 🔒 声明 background_tasks: false

数据说明

  • ⚠️ 部分财务指标为估算值(毛利率、净利率等)
  • ⚠️ 基金净值数据为估算值
  • ⚠️ 可转债转股溢价率为估算值

v1.1.0 (2026-04-29)

新增功能

  • ✅ 新增基金分析支持(analyze_fund.py
  • ✅ 新增ETF分析支持(analyze_etf.py
  • ✅ 新增可转债分析支持(analyze_bond.py
  • ✅ 基金净值、持仓、业绩分析
  • ✅ ETF指数跟踪、估值分析
  • ✅ 可转债转股价值、溢价率分析

文档更新

  • 📝 新增基金分析数据接口说明
  • 📝 新增ETF分析数据接口说明
  • 📝 新增可转债分析数据接口说明
  • 📝 新增各标的分析维度说明
  • 📝 新增评分标准说明

v1.0.3 (2026-04-29)

安全修复

  • 🔒 移除所有非白名单域名(雪球、百度、东方财富)
  • 🔒 仅使用腾讯财经域名:qt.gtimg.cn, web.ifzq.gtimg.cn
  • 🔒 所有网络请求使用 HTTPS
  • 🔒 SKILL.md 添加 https_only: true 声明

v1.0.2 (2026-04-29)

安全修复

  • 🔒 统一数据目录为 ~/.openclaw/workspace/investment/
  • 🔒 添加域名白名单
  • 🔒 安装脚本添加错误处理和虚拟环境提示

v1.0.1 (2026-04-29)

修复

  • 🐛 更新技能名称为英文

v1.0.0 (2026-04-29)

首发版本

  • ✅ 8位专业分析师并行研究机制
  • ✅ 加权投票决策系统
  • ✅ 多数据源行情监控
  • ✅ 真实财务数据获取
  • ✅ 完整投资报告生成
  • ✅ A股股票分析支持

<div align="center"> <strong>Boheng Investment Workflow</strong><br> 让投资决策更理性、更全面 📊🤖 </div>

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Ln Tool

Create hard and symbolic links between files. Use for file referencing, shortcuts, and directory organization.

Registry SourceRecently Updated
General

Air France Klm

Manage bookings, check flights, explore Air France and KLM routes, and access Air France-KLM group info including hubs, fleet, and alliance details.

Registry SourceRecently Updated
General

Video Generation Chinese

Turn a short text description of a mountain landscape scene into 1080p Chinese language videos just by typing what you need. Whether it's generating videos w...

Registry SourceRecently Updated
General

kdocs skill

操作金山文档(WPS 云文档 / Kdocs / 365.kdocs.cn / www.kdocs.cn)云文档的官方 Skill。核心能力覆盖云端新建、读取、编辑、搜索、分享、整理在线文档(智能文档、Word、Excel、PDF、PPT、演示文稿、智能表格、多维表格)及个人知识库。当用户的任务涉及云文档操作时使...

Registry SourceRecently Updated