我发现了一个AI量化神器,真的像在看巴菲特炒股!最关键的是他开源了

2,367 阅读7分钟

我发现了一个AI量化神器,真的像在看巴菲特炒股!最关键的是他开源了

说实话,现在开源的量化框架多得像韭菜一样,GitHub上一搜一大堆,能跑的也多,但是靠谱的……没几个。

但最近我真挖到一个宝了,一上手就有种——“卧槽,这不就是自己组个AI投委会吗”😂

项目叫 ai-hedge-fund,全自动,开源的,六个智能代理配合炒股,关键是——思路好,细节狠,代码清爽,能扩展,而且,真的跑得动!

image.png

谁做的?

作者GitHub ID叫 @virattt,主页我扒了下,妥妥的“有追求”的技术控,AI+金融的重度发烧友。

image.png

GitHub从2011年开始更新,在2023年下半年至今几乎是每天都在更新项目,比我上班都积极!


怎么个“AI炒股”法?

项目核心是一组协作的智能Agent,不是说用一个模型预测买不买那么简单,而是分工明确,每个Agent干自己最擅长的活:

  • 市场数据Agent:抓行情,清洗数据
  • 量化指标Agent:MACD、RSI、布林带一顿分析
  • 基本面Agent:PE、ROE、利润率,看得贼细
  • 情绪Agent:看新闻、挖社交媒体,情绪分析那一套
  • 风控Agent:控制最大回撤、波动率这些
  • 投资组合管理Agent:最后拍板的那位,调仓、下单,全靠它

这套架构比你写个SMA交叉策略有意思多了吧?

有点像——“巴菲特+达里奥+索罗斯”坐一屋子里吵架,然后投票决定买啥😂


这个系统到底是怎么“串起来”的?

就算知道有六个Agent,也许你还是在想——“那这些Agent是怎么沟通的?”“谁先谁后?”“我自己加一个Agent会不会打断流程?”

这块我一开始也挺懵的,直到我硬着头皮撸了一遍源码,才搞清楚它其实整个系统是分了三大核心流程,结构很清晰:


第一步:数据层

项目一启动,首先是 Data Loader 开始工作。

它干嘛呢?很简单,就是:

  • 拉取行情数据(比如用 yfinance
  • 清洗:填充缺失值、对齐时间、处理极端值
  • 存到内存或者本地缓存,供后面用

你可以在 src/data/ 目录里看到,数据加载和预处理是独立模块,这就意味着你想改数据源(比如接A股 Tushare / Akshare),只需要改这块逻辑就行,不影响后面逻辑,这设计我打100分。


第二步:Agent 层

处理完数据后,就轮到这几个“智能Agent”登场了。

每个Agent其实是一个Python类,都在 /src/agents/ 里,比如:

  • technicals.py:技术指标分析
  • fundamentals.py:基本面分析
  • sentiment.py:新闻/社媒情绪打分
  • risk_manager.py:判断风控指标是否合格

这些Agent拿到数据以后,会跑自己的评分系统,比如给一支股票打分“看涨” or “看跌”。

最妙的是,它们并不互相干扰,每个Agent独立评分,然后把自己的结论传给“统筹大脑”


第三步:决策层

投资组合管理Agent 就像现实中基金经理的角色。

它拿到所有Agent的“建议报告”之后,开始“加权打分”,决定:

  • 买还是不买
  • 买多少
  • 是否调仓
  • 是否清仓

你可以理解为一个集成投委会。

举个例子,如果技术Agent说“这票看涨”,情绪Agent说“群众看空”,基本面Agent说“这公司财报真不错”,那投资组合Agent可能就会判断:

“OK,虽然情绪偏空,但基本面+技术面共振,我小仓位试探下。”

整个决策过程是透明的,你可以用 --show-reasoning 参数让它把思考过程全打印出来。


最后一步:执行 or 回测

你以为分析完就结束了吗?

不,还得落地。

系统分为两个模式:

  • 实时模拟模式:根据当前市场数据做一次完整的“投委会决策”,模拟出下单动作
  • 回测模式:在历史数据上反复跑策略,看最终收益、风险控制效果

这两个模块共用了前面所有逻辑,只是数据源不一样(一个是历史数据,一个是实时数据),你不用写两套代码。

所以整个流程其实是这样的:

image.png

是不是一下子清晰多了?


真能跑?我试了

实测有效。不是那种“写个README就没人管了”的死项目。

运行流程是这样的,几步就能起飞:

git clone https://github.com/virattt/ai-hedge-fund.git
cd ai-hedge-fund

# 安装依赖(用poetry管理,强烈推荐)
curl -sSL https://install.python-poetry.org | python3 -
poetry install

# 配置环境变量,填上你自己的API key
cp .env.example .env

OPENAI_API_KEY=your-openai-api-key

GROQ_API_KEY=your-groq-api-key

FINANCIAL_DATASETS_API_KEY=your-financial-datasets-api-key

然后你可以直接模拟一轮决策:

poetry run python src/main.py --ticker NVDA,AAPL,MSFT

看到每个Agent的推理过程那一刻……真的有点惊艳。

像情绪Agent会说:

"英伟达最近负面新闻激增,散户情绪偏空。"

然后风控Agent会跳出来说:

"波动率过高,不建议大仓位。"

这哪是个普通策略,简直就是个AI版本的投委会现场了!

image.png


回测呢?可别光会“吹牛不下单”

我本来以为它只做“实时模拟”这块,结果一看——内置回测模块也安排上了,关键是:设计得很灵。

你可以直接回测单票,比如:

poetry run python src/backtester.py --ticker AAPL --start-date 2023-03-10 --end-date 2023-03-24

它会输出每笔交易、胜率、最大回撤、夏普比率……甚至你还可以改回测周期、调仓频率。

当然啦,默认策略偏保守,因为它是根据每个Agent“投票共识”来做决策的。如果你想加点激进风格,可以改Agent权重模型(源码在 /src/agents 里,都是类写的,很好拓展)。

image.png


踩过的坑,说点真话

项目确实牛,但也不是“开箱即用,闭眼赚钱”那么玄学。我在这几天试用里,还是踩了几个坑的,说说给你们避一避:

  • .env 文件里默认是空的,自己要配数据API,不然报错(很多新手没注意)
  • 使用yfinance抓历史数据,容易被限流,建议多准备几个数据源兜底
  • backtester的时候,ticker写错了不会报中文错,会默默跳过,看起来像“没效果”
  • Agent的思考过程是打印在命令行的,有点混乱,建议你重定向保存到log方便调试

还有一个我很想说的点:这个项目很像真实世界的团队投资流程。

这点大部分人意识不到,觉得“哇,这不就自动选股嘛”,但我想说,这种结构本身才是它最强的地方。

因为它把“多视角博弈”这个事情建模进来了,而这,正是投资里最真实也最复杂的一部分。


进阶怎么玩?

聪明的你一定会问,那我可以改Agent逻辑吗?可以的,不仅可以,而且应该!

你完全可以写一个自己的Agent,比如模拟“雪球大V操作风格”,策略类继承下父类,重写下评分逻辑就能用了。

甚至你还可以把DeepSeek接进去当个“主观判断Agent”


值得玩吗?

非常值得。市面上“教你用Python量化”的文章和项目那么多,大多是“指标+回测+调参”那一套套路。

这个项目有点不一样。它的核心是“模拟人”,而不是“拟合市场”。

你在这个项目里学到的不只是代码、不是某种策略,而是怎么去思考“投资到底是怎么一回事”。

这就够了。


有兴趣的自己动手跑起来,不要光看热闹。这年头,能把一个完整投资逻辑开源出来的项目,真的不多了。

项目地址再贴一次:github.com/virattt/ai-…

我说的这些,只有你自己试过之后,才知道有没有吹牛。