Deer Trade 是一个基于 LangChain 和 LangGraph 构建的智能股票分析系统,提供多维度的股票投资分析功能。
- 估值分析 - 使用多种估值方法(P/E、P/B、P/S、EV/EBITDA、DCF等)
- 技术分析 - 技术指标、图表模式、趋势分析
- 基本面分析 - 财务数据、盈利能力、偿债能力分析
- 增长分析 - 收入增长、利润增长、市场份额分析
- 新闻分析 - 市场情绪、新闻事件影响分析
- 风险管理 - 风险评估、波动性分析、风险控制
- 投资组合管理 - 资产配置、风险分散建议
deer-trade/
├── src/
│ ├── config/ # 配置管理
│ ├── graph/ # 工作流图构建
│ ├── llms/ # LLM 管理
│ ├── prompts/ # 分析提示词模板
│ └── workflow.py # 工作流入口
├── main.py # 主程序入口
└── pyproject.toml # 项目配置
# 使用 uv 或 pip 安装依赖
uv install
# 或
pip install -e .import asyncio
import json
from src.workflow import graph
async def main():
res = await graph.ainvoke(input={"stock_code": "300308.SH", "start_date": "20251020", "end_date": "20251023"})
print(json.dumps(res, indent=4, ensure_ascii=False))
return res
if __name__ == "__main__":
asyncio.run(main())在运行前,请确保配置好以下环境变量:
export DEEPSEEK_API_KEY="your_deepseek_api_key"
export OPENAI_API_KEY="your_openai_api_key"以下是一个完整的股票分析示例(中际旭创 300308.SH),请参考文件:示例文件。
- 美股代码:AAPL, GOOGL, TSLA 等
- 港股代码:0700.HK, 9988.HK 等
- A股代码:000001.SZ, 600036.SH 等
可以通过修改 src/config/ 目录下的配置文件来自定义分析参数:
- 估值倍数范围
- 技术指标参数
- 风险偏好设置
- 分析时间范围
系统返回结构化的分析结果,包含:
- 估值评分(1-10分)
- 公允价值估计
- 估值倍数对比
- 投资建议
- 技术评分(1-10分)
- 关键支撑/阻力位
- 交易信号
- 风险/收益比
- 在
src/prompts/目录下创建新的提示词模板 - 在
src/graph/nodes.py中添加对应的分析节点 - 在
src/graph/builder.py中配置工作流连接
所有分析提示词使用 Jinja2 模板,支持动态变量注入:
Current Date: {{ current_date }}
Stock Code: {{ stock_code }}- 使用异步处理提高并发性能
- 支持批量股票分析
- 结果缓存机制
- 可配置的分析深度
本项目使用了 FinanceMCP 提供的金融数据MCP服务,为股票分析提供了强大的数据支持。
欢迎提交 Issue 和 Pull Request 来改进项目!
MIT License
如有问题请提交 Issue 或联系开发团队。
