我发现了一个AI量化神器,真的像在看巴菲特炒股!最关键的是他开源了
说实话,现在开源的量化框架多得像韭菜一样,GitHub上一搜一大堆,能跑的也多,但是靠谱的……没几个。
但最近我真挖到一个宝了,一上手就有种——“卧槽,这不就是自己组个AI投委会吗”😂
项目叫 ai-hedge-fund,全自动,开源的,六个智能代理配合炒股,关键是——思路好,细节狠,代码清爽,能扩展,而且,真的跑得动!
谁做的?
作者GitHub ID叫 @virattt,主页我扒了下,妥妥的“有追求”的技术控,AI+金融的重度发烧友。
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 回测
你以为分析完就结束了吗?
不,还得落地。
系统分为两个模式:
- 实时模拟模式:根据当前市场数据做一次完整的“投委会决策”,模拟出下单动作
- 回测模式:在历史数据上反复跑策略,看最终收益、风险控制效果
这两个模块共用了前面所有逻辑,只是数据源不一样(一个是历史数据,一个是实时数据),你不用写两套代码。
所以整个流程其实是这样的:
是不是一下子清晰多了?
真能跑?我试了
实测有效。不是那种“写个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版本的投委会现场了!
回测呢?可别光会“吹牛不下单”
我本来以为它只做“实时模拟”这块,结果一看——内置回测模块也安排上了,关键是:设计得很灵。
你可以直接回测单票,比如:
poetry run python src/backtester.py --ticker AAPL --start-date 2023-03-10 --end-date 2023-03-24
它会输出每笔交易、胜率、最大回撤、夏普比率……甚至你还可以改回测周期、调仓频率。
当然啦,默认策略偏保守,因为它是根据每个Agent“投票共识”来做决策的。如果你想加点激进风格,可以改Agent权重模型(源码在 /src/agents 里,都是类写的,很好拓展)。
踩过的坑,说点真话
项目确实牛,但也不是“开箱即用,闭眼赚钱”那么玄学。我在这几天试用里,还是踩了几个坑的,说说给你们避一避:
.env文件里默认是空的,自己要配数据API,不然报错(很多新手没注意)- 使用
yfinance抓历史数据,容易被限流,建议多准备几个数据源兜底 - 跑
backtester的时候,ticker写错了不会报中文错,会默默跳过,看起来像“没效果” - Agent的思考过程是打印在命令行的,有点混乱,建议你重定向保存到log方便调试
还有一个我很想说的点:这个项目很像真实世界的团队投资流程。
这点大部分人意识不到,觉得“哇,这不就自动选股嘛”,但我想说,这种结构本身才是它最强的地方。
因为它把“多视角博弈”这个事情建模进来了,而这,正是投资里最真实也最复杂的一部分。
进阶怎么玩?
聪明的你一定会问,那我可以改Agent逻辑吗?可以的,不仅可以,而且应该!
你完全可以写一个自己的Agent,比如模拟“雪球大V操作风格”,策略类继承下父类,重写下评分逻辑就能用了。
甚至你还可以把DeepSeek接进去当个“主观判断Agent”
值得玩吗?
非常值得。市面上“教你用Python量化”的文章和项目那么多,大多是“指标+回测+调参”那一套套路。
这个项目有点不一样。它的核心是“模拟人”,而不是“拟合市场”。
你在这个项目里学到的不只是代码、不是某种策略,而是怎么去思考“投资到底是怎么一回事”。
这就够了。
有兴趣的自己动手跑起来,不要光看热闹。这年头,能把一个完整投资逻辑开源出来的项目,真的不多了。
项目地址再贴一次:github.com/virattt/ai-…
我说的这些,只有你自己试过之后,才知道有没有吹牛。