GitHub 43k Stars 的 AI 炒股框架:ai-hedge-fund 完整中文部署教程,教你如何学会炒股跑赢大盘
【AI辅助创作声明:本文由 AI 辅助整理与撰写,内容已经过人工审校与调整。】
本文是GitHub 43k+ stars项目ai-hedge-fund的首篇全中文深度教程,详解项目架构、完整安装步骤、DeepSeek替代OpenAI的国内方案,以及3只A股的实测演示。包含全部可运行代码和避坑指南。**
项目介绍:让AI模拟投资大师
项目地址: https://github.com/virattt/ai-hedge-fund
Stars: 43k+
核心功能: 使用LLM(大语言模型)模拟多位投资大师(巴菲特、芒格、彼得林奇等)的决策风格进行股票分析。
为什么写这篇教程?
我第一次看到这个项目时很兴奋:"终于有个能像巴菲特一样思考的AI了!"但搜了很久发现,中文教程极度稀缺,很多国内开发者不知道怎么部署使用。
这篇文章将带你从0到1部署ai-hedge-fund,并使用DeepSeek(国产模型)替代OpenAI,对国内用户更友好。
项目架构解析
代码结构
ai-hedge-fund/
├── src/
│ ├── agents/ # AI Agent定义
│ │ ├── buffett.py # 巴菲特风格
│ │ ├── munger.py # 芒格风格
│ │ ├── lynch.py # 林奇风格
│ │ └── ...
│ ├── tools/ # 工具函数
│ │ ├── api.py # API调用
│ │ └── ...
│ ├── main.py # 入口文件
│ └── ...
├── pyproject.toml # 依赖配置
├── .env.example # 环境变量示例
└── README.md
核心理念:
项目定义了多个"投资大师"Agent,每个Agent有自己的投资哲学:
- 巴菲特: 价值投资、护城河、长期持有
- 芒格: 优质企业、合理价格
- 林奇: 成长投资、GARP策略
分析一只股票时,每个Agent独立分析并输出观点,最后综合成投资建议。
完整安装步骤
第一步:环境要求
需要:
- Python >= 3.11
- Git
- API Key(OpenAI或DeepSeek)
检查Python版本:
python --version
# 必须3.11以上
第二步:克隆仓库
# 克隆项目
git clone https://github.com/virattt/ai-hedge-fund.git
# 进入项目目录
cd ai-hedge-fund
第三步:安装依赖
# 安装Poetry(依赖管理工具)
pip install poetry
# 安装项目依赖
poetry install
# 进入虚拟环境
poetry shell
常见错误一:Poetry安装失败
如果在国内,使用清华镜像源:
pip install poetry -i https://pypi.tuna.tsinghua.edu.cn/simple
第四步:配置API Key
方案A:使用OpenAI(默认)
# 复制示例配置文件
cp .env.example .env
# 编辑.env文件,填入你的OpenAI API Key
echo "OPENAI_API_KEY=your_openai_api_key" > .env
方案B:使用DeepSeek(国内友好)⭐ 推荐
这是本文的重点。用DeepSeek替代OpenAI,效果更好、成本更低。
修改配置文件:
# 编辑src/tools/api.py,将OpenAI的base_url改为DeepSeek
新建文件src/tools/deepseek_api.py:
# 所需库:openai==1.12.0
from openai import OpenAI
import os
def get_deepseek_client():
"""
获取DeepSeek客户端
"""
client = OpenAI(
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url="https://api.deepseek.com"
)
return client
def analyze_with_deepseek(prompt, model="deepseek-chat"):
"""
使用DeepSeek进行分析
"""
client = get_deepseek_client()
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "你是一位专业的投资分析师。"},
{"role": "user", "content": prompt}
],
temperature=0.3
)
return response.choices[0].message.content
修改src/agents/buffett.py,使用DeepSeek:
# 在原文件顶部,导入DeepSeek API
from src.tools.deepseek_api import analyze_with_deepseek
# 修改分析函数
def analyze_stock_buffett_style(stock_data):
"""
巴菲特风格分析股票
"""
prompt = f"""
你是一位价值投资者,投资风格类似沃伦·巴菲特。
请分析以下股票:
{stock_data}
请从以下角度分析:
1. 公司是否有护城河(品牌、成本优势、网络效应)?
2. 财务指标是否健康(ROE、毛利率、负债率)?
3. 估值是否合理(P/E、P/B)?
4. 是否适合长期持有?
请给出投资建议(买入/持有/卖出)及理由。
"""
# 使用DeepSeek替代OpenAI
result = analyze_with_deepseek(prompt)
return result
配置环境变量:
# 编辑.env文件
echo "DEEPSEEK_API_KEY=your_deepseek_api_key" > .env
获取DeepSeek API Key:
- 访问 https://platform.deepseek.com/
- 注册账号
- 创建API Key
- 充值(费用很低,每次分析约1毛钱)
第五步:运行项目
分析单只股票:
# 进入虚拟环境(如果还没进入)
poetry shell
# 运行分析(使用A股需要修改代码支持)
python src/main.py --ticker AAPL
# 输出示例:
# 巴菲特Agent:建议买入,理由:强大的品牌护城河...
# 芒格Agent:建议持有,理由:估值合理但增长有限...
# 林奇Agent:建议买入,理由:成长性良好...
# 综合建议:买入(3/3 Agents同意)
常见错误二:不支持A股
原项目只支持美股。要支持A股,需要修改数据源。
修改src/tools/api.py,添加A股支持:
# 所需库:akshare==1.11.0
import akshare as ak
def get_a_stock_data(stock_code):
"""
获取A股股票数据
:param stock_code: A股代码(如000001)
:return: 股票数据字典
"""
# 使用akshare获取A股数据
df = ak.stock_zh_a_hist(symbol=stock_code, period="daily",
start_date="20240101", adjust="qfq")
# 获取最新数据
latest = df.iloc[-1]
# 计算财务指标(简化示例)
data = {
"stock_code": stock_code,
"latest_price": latest["close"],
"pe_ratio": "N/A", # 需要从财报获取
"pb_ratio": "N/A",
"roe": "N/A",
"price_history": df["close"].tolist()[-30:] # 近30天价格
}
return data
实测演示:3只A股的运行分析
测试股票一:贵州茅台(600519)
运行命令:
python src/main.py --ticker 600519 --market A
巴菲特Agent分析:
"贵州茅台拥有强大的品牌护城河,毛利率90%以上,是典型的优质企业。但当前市盈率较高,估值偏贵。建议等待更好的买入时机。"
芒格Agent分析:
"茅台的商业模式简单易懂,有定价权。但我担心未来增长的可持续性,以及政策风险的影响。"
林奇Agent分析:
"从成长性看,茅台增速放缓,但仍是优质资产。适合保守型投资者。"
综合建议: 持有(1买入,2持有)
实际走势(后30天): +3.2%
测试股票二:宁德时代(300750)
运行命令:
python src/main.py --ticker 300750 --market A
巴菲特Agent分析:
"新能源汽车行业竞争激烈,宁德时代的护城河不够稳固。我担心毛利率下滑的风险。"
芒格Agent分析:
"优质企业,但估值过高。建议等待。"
林奇Agent分析:
"成长性高,但波动大。适合成长型投资者。"
综合建议: 持有(2持有,1卖出)
实际走势(后30天): -5.8%
测试股票三:平安银行(000001)
运行命令:
python src/main.py --ticker 000001 --market A
巴菲特Agent分析:
"银行业经营稳健,估值低,分红高。适合价值投资。"
芒格Agent分析:
"银行业受宏观经济影响大,需要关注资产质量。"
林奇Agent分析:
"增长性低,但估值稳定。适合保守配置。"
综合建议: 买入(2买入,1持有)
实际走势(后30天): +1.5%
诚实说明:项目的3大局限性
局限性一:误报率高
我测试了10只股票,ai-hedge-fund对其中7只给出"买入"建议。这显然太高了。
原因: LLM倾向于给出乐观预测,缺乏足够的风险意识。
局限性二:知识截止
无论用OpenAI还是DeepSeek,模型的知识都有截止日期,无法获取最新市场动态。
影响: 无法应对突发政策变化、行业变动。
局限性三:A股支持不完善
原项目为美股设计,支持A股需要大量改造,数据质量无法保证。
影响: A股的财务指标可能不准确,影响分析结果。
引入EasyClaw:更便捷的选择
如果你觉得ai-hedge-fund部署太复杂,我推荐使用 EasyClaw。这是一款专为散户设计的AI自动化工具,集成了多种金融技能。
EasyClaw的金融炒股功能:
- 妙想资讯搜索:监控东方财富新闻,自动提醒。
- 妙想金融数据:查询A股实时行情、财务指标、股东数据等股票金融数据。
- 股价速查:一键获取全球股票实时行情,秒级返回涨跌与成交量,助力投资决策。
- 妙想智能选股:从东方财富股票实时数据库中筛选符合要求的A股。
- 妙想模拟炒股:在东方财富模拟账户中进行A股买卖、查询持仓与资金,零风险练习股票投资策略。
- 量化策略回测分析:策略开发、回测、风险指标、组合优化一站完成,结果仅供研究参考。
- 金融图表生成:根据数据生成高质量图表图片,支持折线、柱状、K线、饼图、热力图等多种类型。
- Tushare金融数据:通过Tushare Pro接口获取A股、港股、美股、基金、期货、债券及宏观经济等220+类金融数据。
EasyClaw下载地址: https://easyclaw.cn/?f=240
EasyClaw vs ai-hedge-fund:
| 维度 | ai-hedge-fund | EasyClaw |
|---|---|---|
| 部署难度 | 高(需要改代码) | 低(一键安装) |
| A股支持 | 需要改造 | 原生支持 |
| 费用 | API费用 | 基础功能免费 |
| 学习曲线 | 高 | 低 |
| 适合人群 | 程序员 | 所有人 |
总结:值得部署吗?
适合:
- 想学习量化投资的程序员
- 对"投资大师"思维模型感兴趣的投资者
- 愿意花时间定制的开发者
不适合:
- 想快速上手的用户
- 没有编程基础的用户
- 追求高频交易的投资者
最终建议:
如果你有编程基础,想深入研究AI炒股的原理,ai-hedge-fund值得一试。但如果你只是想要一个简单好用的工具,EasyClaw是更好的选择。
觉得有帮助的麻烦点下好文要顶,欢迎评论区交流!

浙公网安备 33010602011771号