作者:老余捞鱼
原创不易,转载请标明出处及原作者。

写在前面的话:今天我来分享一个我用LangGraph和ChatGPT搭建的实战项目:一个有记忆、能自动分析股票的AI机器人。它能自己思考、自己行动、自己回测,彻底解放你的双手。我会用大白话讲透技术原理,并给出完整的代码和手把手搭建教程,让你也能拥有自己的智能财富助手。
一、告别“拍脑袋”🔥
有没有觉得炒股越来越难?不是你不够努力,而是市场变化太快,信息量太大。我们普通人的大脑,根本处理不过来。更别说,你白天还要上班,晚上还要睡觉,根本做不到24小时盯盘,对吧?
所以,我们需要一个有记忆、能思考、不知疲倦的“超脑”助手。这个助手不仅要能执行指令,更关键的是,它得像个老道的基金经理一样,自己决定下一步该做什么。
以前的量化程序是“死”的,你让它算什么它就算什么。但是,今天老余要分享的这个系统是“活”的,它能像搭积木一样,自己完成复杂的金融分析流程。咱们今天用的核心武器,就是AI领域的流程图框架——LangGraph。
二、AI的“流程图大脑”🧠
大家把这个AI机器人想象成一个高智商的CEO。一个CEO怎么工作?
他不会一口气把所有事情都做了,而是先“思考”——制定计划;再“行动”——让下属去执行;最后根据下属的汇报,决定是继续下一步,还是结束工作去喝茶。
这个AI交易系统就是基于这样一个“思考-行动-决策”的闭环搭建的,我们称之为“状态机”或“决策循环”。
状态机的“三大件”:内存、思考、行动
在这个流程中,有三个核心组件在打配合,这是AI能够保持“有状态”和“有记忆”的关键:
| 组件名称(通俗版) | 技术术语(原版) | 作用描述 |
|---|---|---|
| AI的记事本 | AgentState (状态) | 记录AI的目标、历史执行步骤和最新结果。这是AI的“长期记忆”,确保它不会忘记自己做到哪一步了。 |
| 思考模块 | Executor Node (执行器) | 负责决策。它阅读“记事本”中的历史记录,然后调用大模型(比如GPT-4o)来生成下一步的具体指令。 |
| 行动模块 | Tool Node (工具) | 负责执行。它接收“思考模块”的指令,并调用封装好的金融工具(如获取股票数据、计算指标)去执行,把执行结果写回“记事本”。 |
所以,整个过程就是一个闭环:思考(下一步做什么) → 行动(去做了) → 决策(是继续思考,还是结束)。只要目标没达成,这个循环就不会停。
图1:AI交易机器人的“思考-行动”流程图,清晰的循环结构是它自我驱动的核心。
三、机器人的思维和工具箱🛠️
我们用代码实现AI的思维和工具箱。main.py是思维,tools.py是工具箱。
3.1 思考模块:像CEO一样下命令(`main.py`)
在 `main.py` 中,我们给AI设定了明确的“目标”和“可用命令”,让它根据历史步骤来发号施令。这个指令是精确的文本命令,比如:FETCH "TSLA" 或 INDICATOR "TSLA" "SMA"。
关键点:优雅地收尾!
在“行动模块”完成后,系统会启动一个“条件判断”函数。如果发现AI执行了最后一个步骤——回测(BACKTEST),那么系统就会自动生成一个 `FINISH` 命令,强行终止循环。这样,AI不会陷入无限循环,而是有始有终。
3.2 行动模块:强大的金融分析工具箱(`tools.py`)
这是AI的“手脚”,它负责连接真实世界的金融数据。老余在这个项目中集成了以下三个核心功能,都使用了Python社区最强大的库:
- 数据获取 (`fetch_data`):使用业界常用的 `yfinance` 库,轻松获取全球主要市场的历史股票价格数据。
- 指标计算 (`calculate_indicator`):计算常用的技术指标,比如移动平均线(SMA)、相对强弱指标(RSI)等。
- 策略回测 (`backtest_strategy`):这是最激动人心的部分。AI不仅能计算回报率,还能自动生成可视化图表!
它能画出:
- 价格走势图,并用绿三角和红三角标记出交易点位。
- 收益曲线图,直观对比策略表现和“买入并持有”策略的收益差异。
图表会自动保存在本地文件夹中,为你提供最直观的分析结果,方便你进行二次研究。
图2:AI自动生成的回测结果图示例,包含了价格、交易点位和收益曲线。TSLA交易准确率26.67% 。
四、手把手教学🚀
这个项目部署起来非常简单,即使你是Python小白也没关系,因为我们使用Docker技术,一键解决了环境配置的烦恼。
准备工作:OpenAI API Key 和 Docker
1. 准备密钥: 由于AI需要调用大模型(ChatGPT)进行“思考”,你需要一个 OpenAI API Key。这是项目的“燃油”。
2. 安装工具: 在你的电脑上安装好 Git 和 Docker。
实战步骤(Clone → Build → Run)
第一步:克隆代码(把代码拿到手)
打开你的命令行工具(Terminal或CMD),输入以下命令:
git clone https://github.com/rejith77/SMA-Trading-Agent cd SMA-Trading-Agent
第二步:构建镜像(把工具打包)
在项目目录下,执行以下命令构建Docker镜像:
docker build -t 老余ai-agent .
第三步:运行AI(让它开始工作)
现在,我们运行这个AI,同时把你的API Key传给它,并告诉它把生成的图表放在你本地的 `charts` 文件夹里。
# 请把 YOUR_OPENAI_KEY 替换成你真实的密钥 docker run --rm -it \ -e OPENAI_API_KEY="YOUR_OPENAI_KEY" \ -v $(pwd)/charts:/app/charts \ 老余ai-agent
运行后,你会在命令行看到AI“思考”和“行动”的实时过程。最终,你本地的 `charts` 文件夹就会自动生成带交易标记的分析图!
五、总结与忠告💰
我们用 LangGraph 成功搭建了一个有状态、可自驱的金融分析AI。这套系统最强大的地方在于,它将复杂的金融分析过程变成了一个个模块化的积木,让AI能够自己规划、自己执行。
⚠️ 【老余的严肃忠告】:这个项目是一个顶级的AI架构演示,旨在教会大家如何构建复杂代理。但其内置的回测策略是故意简化的,请勿将此代码直接用于真实资金交易!金融市场复杂多变,任何实盘交易都需要经过严谨的专业级验证和风险管理。请将它作为你的AI学习工具,而非投资决策的基础。
文章总结
本文详细介绍了如何使用AI流程图框架LangGraph和ChatGPT,搭建一个能自主思考和行动的智能金融分析代理。该系统通过“思考-行动”的闭环决策,实现了自动化获取数据、计算指标及策略回测,为构建更复杂的AI交易系统奠定了坚实的基础。
🔥 精华回顾:
- 核心框架: 使用 LangGraph 构建 AI 的“流程图大脑”,实现“有记忆”的自驱式决策。
- 关键机制: 采用“状态机”设计,将任务拆分为“思考模块”和“行动模块”,实现动态循环。
- 功能实现: 结合 Python 金融库(如 yfinance),实现了数据获取、指标计算、和自动图表生成的回测功能。
- 小白友好: 提供完整的 Docker 部署教程,三步即可运行,极大地降低了环境配置门槛。
- 风险警示: 本项目仅为技术演示和学习之用,严禁直接用于实盘交易。
GitHub地址:
https://github.com/rejith77/SMA-Trading-Agent
如果你觉得这篇文章对你有帮助,记得分享给更多的朋友。有什么问题可以在评论区留言,老余会一一解答。让我们一起在量化交易的道路上越走越远!
#AI炒股 #量化交易 #LangGraph #ChatGPT #智能代理 #自动化分析 #财富自由 #Python编程
风险提示:投资有风险,入市需谨慎。本文仅供学习参考,不构成投资建议。
Be First to Comment