AI股票研究员
A股智能投研工具 — 技术分析 | 三维预测 | 多智能体 | 投资大师 | 量化模型 | 产业链
快速开始
安装
# 核心依赖(必需)
pip install requests pandas
# Web UI
pip install flask flask-cors
# MCP Server
pip install mcp
# 持仓导入引擎(OCR + 文档 + 浏览器)
pip install pytesseract Pillow python-pptx pdfplumber PyPDF2 selenium openpyxl
# OCR 还需装 Tesseract 系统包: https://github.com/UB-Mannheim/tesseract/wiki
# 报告导出(PPT/PDF)
pip install python-pptx reportlab
# 多智能体分析 (TradingAgents)
pip install langchain-core langchain-openai langchain-anthropic langgraph \
stockstats mootdx yfinance pydantic
全部依赖在
requirements.txt已激活。早期用过但已废弃的beautifulsoup4 / lxml / akshare移到末尾"可选依赖"区,保留注释作为历史。
基本使用
# 个股分析
python scripts/stock_researcher.py --codes 600519 --period short # 短期(1-5日)
python scripts/stock_researcher.py --codes 600519 --period medium # 中期(20-60日)
python scripts/stock_researcher.py --codes 600519 --period long # 长期(120+日)
# 指数/板块
python scripts/stock_researcher.py --index sh000001 # 上证指数
python scripts/stock_researcher.py --sector 银行 # 板块分析
# Web UI
python scripts/web_server.py # 启动仪表盘(http://localhost:5003)
运行输出示例
【贵州茅台 600519 短期分析报告】
━━━━━━━━━━━━━━━━━━━━━━━
▶ 行情: 现价 1785.00 涨跌 +1.2%
▶ 技术指标: MA5↑ MA20↑ RSI(14)=62.3 MACD金叉
▶ 三维预测评分: 73/100 (情绪70 估值65 历史78 技术60)
▶ 操作建议: 适量买入 | 支撑位1750 | 止损1700 | 止盈1850
━━━━━━━━━━━━━━━━━━━━━━━
功能可靠性
| 功能 | 可靠度 | 说明 | |------|--------|------| | 个股技术分析(MA/RSI/MACD/布林) | ★★★★★ | 核心功能,数据来自腾讯财经 | | 指数分析 | ★★★★☆ | 偶有网络波动 | | 板块轮动分析 | ★★★★☆ | 申万行业分类 | | 三维预测评分 | ★★★★☆ | 预测仅供参考 | | 股吧情绪分析 | ★★★★☆ | 东方财富数据,无需登录 | | 全市场股票筛选 | ★★★☆☆ | 依赖东方财富API | | PPT/PDF报告导出 | ★★★☆☆ | 需额外安装 python-pptx / reportlab | | 截图OCR持仓识别 | ★★☆☆☆ | 需装 Tesseract 系统包 |
预测结果怎么看:70+ = 历史上类似条件下上涨概率较高;30-70 = 信号不明,建议观望;<30 = 下跌概率较高。永远不要把预测当作买卖唯一依据。
功能模块
1. 股票分析
| 周期 | 命令 | 分析重点 |
|------|------|---------|
| 短期(1-5日) | --codes 600519 --period short | 技术面+资金流向+情绪 |
| 中期(20-60日) | --codes 600519 --period medium | 估值+趋势+基本面 |
| 长期(120+日) | --codes 600519 --period long | 巴菲特/格雷厄姆/林奇范式 |
2. 三维预测引擎
| 维度 | 权重 | 数据来源 | |------|------|---------| | 情绪面 | 25% | 新闻舆情、资金流向、涨跌幅 | | 估值面 | 25% | PE/PB历史分位、估值中枢 | | 历史案例 | 30% | 同类股票相似条件下的走势 | | 技术面 | 20% | 均线、MACD、RSI综合信号 |
3. 技术指标
| 类型 | 指标 | |------|------| | 均线 | MA5/10/20/60/120/250、多头/空头排列 | | 摆动 | RSI(6/14/24)、KDJ(K/D/J) | | MACD | DIF/DEA/MACD柱 | | 趋势 | ADX趋向指数(>25趋势强) | | 布林 | 布林带(20日±2σ)、位置百分比 | | Hurst | H<0.5均值回归 / H>0.5趋势延续 |
4. 投资大师分析
| 大师 | 核心指标 | |------|---------| | 巴菲特 | ROE>15%、护城河、DCF内在价值、安全边际 | | 格雷厄姆 | Graham Number、NCAV、盈利稳定性 | | 彼得林奇 | PEG、营收CAGR、负债率、机构持仓 |
5. 指数与板块
python scripts/stock_researcher.py --index # 所有主要指数
python scripts/stock_researcher.py --index sh000300 # 沪深300
python scripts/stock_researcher.py --sector # 15个申万行业排行
python scripts/stock_researcher.py --sector 银行 # 指定板块
6. 产业链分析
六层递进框架:地图→价值分布→竞争格局→战略控制点→动态演化→投资判断
python scripts/stock_researcher.py --chain # 列出预设产业链
python scripts/stock_researcher.py --chain 半导体 # 通用模式
python scripts/stock_researcher.py --chain 半导体 --chain-mode ashare # A股专版(含国产替代)
预设产业链:半导体、新能源汽车、光伏、AI芯片、医药、消费电子、军工、机器人
7. 股票跟踪
python scripts/stock_researcher.py --track 600519 --add # 添加
python scripts/stock_researcher.py --track --check # 检查所有
python scripts/stock_researcher.py --track --list # 列表
功能:止损/止盈提醒、RSI超买超卖、资金大幅流出预警
8. 情绪分析
python scripts/stock_researcher.py --sentiment 600519
数据来源:东方财富股吧(匿名)、雪球(需cookie)。情绪评分 -100~+100。
9. 持仓导入
python scripts/stock_researcher/import_engine.py --import-screenshot "/path/to/持仓.png" --client 张先生
python scripts/stock_researcher/import_engine.py --import-ppt "/path/to/持仓.pptx" --client 张先生
python scripts/stock_researcher/import_engine.py --import-docx "/path/to/持仓.docx" --client 张先生
python scripts/stock_researcher/import_engine.py --import-pdf "/path/to/对账单.pdf" --client 张先生
python scripts/stock_researcher/import_engine.py --export-excel --client 张先生
python scripts/stock_researcher/import_engine.py --list-clients
10. 报告导出
python scripts/stock_researcher.py --report 600519 --export-format ppt pdf txt
11. 量化模型
基于 QuantConnect Lean 架构,支持 Alpha 信号模型(DualThrust/ROC/MeanReversion/Momentum/Value)、风控模型(止损/回撤/止盈)、组合模型(等权/风险平价/价值加权)。
12. GARCH 波动率预测(v2.1.0 新增)
基于 arch 库的 GARCH 族波动率模型,支持:
| 模型 | 特点 | |------|------| | GARCH(1,1) | 标准对称波动率聚集模型 | | EGARCH | 非对称,捕捉"坏消息冲击 > 好消息"的杠杆效应 | | GJR-GARCH | 门限 GARCH,负收益率引入额外波动项 |
# MCP 工具调用
analyze_volatility(code="600519", horizon=5, days=120)
# Python 直接调用
from stock_researcher.quantitative import GarchForecaster
forecaster = GarchForecaster(auto_select=True) # 自动选最优模型
result = forecaster.forecast(prices, horizon=5)
输出:当前年化波动率、预测波动率、长期均衡波动率、半衰期、波动率状态诊断(高/中/低波动分位数)。
13. 多因子评分(v2.1.0 新增)
8 因子综合评分体系,基于 A 股实证研究权重:
| 因子 | 权重 | 核心指标 | |------|------|---------| | 价值(Value) | 25% | 低PE/PB溢价 | | 动量(Momentum) | 15% | 20/60日涨跌幅 | | 质量(Quality) | 20% | 高ROE/毛利率/低负债率 | | 规模(Size) | 5% | 小市值溢价 | | 成长(Growth) | 15% | EPS/营收增长率 | | 低波动(LowVol) | 10% | 低风险异象 | | 换手率(Turnover) | 5% | 流动性溢价 | | 分析师预期 | 5% | 一致预期修正 |
# MCP 工具:批量评分
analyze_factors(codes="600519,000858,600036,601398,300750")
14. 配对交易(v2.1.0 新增)
基于 Engle-Granger 协整检验的统计套利策略:
# MCP 工具:寻找银行股的协整配对
find_pairs(codes="600036,601398,601939,601288,600016", sector="银行", min_correlation=0.7)
输出:协整 p-value、对冲比率(hedge ratio)、价差 Z-Score、均值回归半衰期、交易信号。
15. ML涨跌方向预测(v2.1.0 新增)
基于 RandomForest 的 ML 预测模型。27 维特征工程(技术面+资金面+情绪面),预测未来 N 日涨跌方向。
# MCP 工具:特征提取+信号解读
run_ml_prediction(code="600519", horizon=5)
# 完整 ML 流水线(训练+预测)
run_quant_analysis(code="600519", analysis_type="all")
16. 综合量化分析(v2.1.0 新增)
一键运行完整量化分析流水线:Alpha信号 + 技术指标 + GARCH波动率 + 因子评分。
run_quant_analysis(code="600519", analysis_type="all")
国内网络环境优化(v2.1.0)
| 状态 | 数据源 | 说明 | |------|--------|------| | ✅ 默认 | 腾讯财经 | 实时行情/历史K线 | | ✅ 默认 | 东方财富 | 财务/估值/龙虎榜/资金流向 | | ✅ 默认 | mootdx | K线/财务快照/F10 | | ✅ 默认 | 同花顺 | 一致预期EPS/热门股票/北向资金 | | ✅ 默认 | 新浪财经 | K线备源/财务报表 | | ✅ 默认 | 财联社 | 全球财经新闻快讯 | | ✅ 默认 | 百度股市通 | 概念板块分类 | | ⚠️ 可选 | yfinance | 海外市场数据(国内需VPN) | | ⚠️ 可选 | Alpha Vantage | 美股数据(国内需VPN) | | ⚠️ 可选 | Tushare | 国内量化数据(需注册token) | | ⚠️ 可选 | baostock | 免费A股历史数据备源 |
所有核心功能默认使用国内可直接访问的 API,无需 VPN 或代理。
MCP Server
配置
{
"mcpServers": {
"ai-stock-researcher": {
"command": "python",
"args": ["./mcp_server.py"],
"env": { "PYTHONDONTWRITEBYTECODE": "1" }
}
}
}
可用工具
| 分类 | 工具 | 功能 |
|------|------|------|
| 股票研究 | analyze_stock | 综合分析(短期/中期/长期) |
| 股票研究 | get_stock_technical_indicators | 技术指标详情 |
| 股票研究 | get_stock_sentiment | 市场情绪分析 |
| 大盘指数 | analyze_index | 指数分析 |
| 板块分析 | get_sector_analysis | 板块强弱与轮动 |
| 产业链 | list_industry_presets | 列出预设产业链 |
| 产业链 | analyze_industry_chain | 产业链上下游格局分析(通用/A股专版) |
| 产业链 | get_chain_preset_detail | 查看指定产业链详细节点结构 |
| 持仓导入 | auto_import_file | 智能导入(自动识别格式) |
| 持仓导入 | import_holdings_screenshot | 截图 OCR 识别(中英文混合) |
| 持仓导入 | import_holdings_ppt | 从 PPT 导入 |
| 持仓导入 | import_holdings_docx | 从 Word 导入 |
| 持仓导入 | import_holdings_pdf | 从 PDF 导入(扫描件请用截图) |
| 持仓导入 | import_holdings_url | 从浏览器链接抓取(东方财富/天天基金) |
| 持仓导出 | export_holdings_excel | 导出 Excel |
| 持仓导出 | export_holdings_csv | 导出 CSV |
| 客户管理 | list_clients | 列出所有客户 |
| 客户管理 | get_client_holdings | 查看客户持仓详情(每只市值/盈亏) |
| 客户管理 | get_import_history | 客户历史导入记录 |
| 跟踪管理 | track_stock | 添加/移除/查看跟踪 |
| Web UI | launch_web_ui | 启动仪表盘(http://localhost:5003) |
| 多智能体 | run_multi_agent_analysis | 7位AI分析师协调分析 |
| 量化分析(v2.1) | analyze_volatility | GARCH波动率预测 |
| 量化分析(v2.1) | analyze_factors | 8因子多维度评分 |
| 量化分析(v2.1) | find_pairs | 配对交易协整套利 |
| 量化分析(v2.1) | run_ml_prediction | ML涨跌方向预测 |
| 量化分析(v2.1) | run_quant_analysis | 综合量化分析流水线 |
多智能体分析
7位AI分析师协调工作流程:
市场分析师 → \
情绪分析师 → \
新闻分析师 → \
基本面分析师 → 多空辩论 → 研究员裁决 → 交易员计划 → 风控辩论(激进/保守/中立) → 最终决策
政策分析师 → /
资金流向 → /
解禁监控 → /
支持 LLM 提供商:DeepSeek / OpenAI / Anthropic / 通义千问 / Google
数据源
| 数据类型 | 来源 |
|---------|------|
| A股实时行情 | 腾讯财经 qt.gtimg.cn |
| A股历史K线 | 腾讯财经 web.ifzq.gtimg.cn |
| 全市场股票列表 | 东方财富 |
| 财务/估值数据 | 东方财富 |
| 股吧帖子 | 东方财富股吧 |
| 雪球讨论 | 雪球(需cookie) |
| 宏观数据 | 东方财富宏观指标 |
核心限制
- 预测基于历史数据,仅供参考,不构成投资建议
- 技术指标滞后:KDJ、ADX等存在固有滞后性
- 网络依赖:实时数据依赖外部API,网络不好时可能获取失败
- 评分标准差异:不同模块评分体系不同,不要直接比较
| 模块 | 评分范围 | |------|---------| | 技术分析 | -100 ~ +100 | | 三维预测 | 0-100分 | | 大师分析 | 定性 | | 量化Alpha | 信号型(买/观/卖) |
故障排查参见 docs/TROUBLESHOOTING.md
扫码加入微信群