背景
近年来,越来越多的投资者开始关注基金的长期表现,而不仅仅是短期涨跌。
对于普通用户来说,理解净值曲线、比较历史回撤、分析行业走势,往往需要查阅大量图表与数据,这不仅耗时耗力,也容易忽视关键信息。
因此,构建一个能自动梳理历史业绩、辅助解读走势的网站,可以极大提升个人投资效率。
借助周末的时间,我开发出了一个基于大模型的基金分析工具网站,可以实时对基金历史表现进行通俗易懂的分析与对比。
如上图所示,输入基金代码,选择时间段,点击分析,大模型就能自动获取指定数据进行分析。
选择 MCP 接入数据
重点,实时,所以避免不了联网获取最新数据,
待获取的数据主要分为两类,一类是基金的实时涨跌数据,一类是可能影响基金涨跌的政策性、舆论性、突发性新闻,
这两类数据都可以通过 API 或者爬虫获得,
接下来是怎么把数据接入大模型的问题,主要有 RAG 和 MCP 这两个方式,调研得知分别有以下优劣:
对比维度 | ✅ MCP(Model Context Protocol) | ⚠️ RAG(Retrieval-Augmented Generation) |
---|---|---|
数据实时性 | ✅ 强,调用时拉取最新 API/SQL 数据,支持动态数据注入 | ❌ 弱,依赖静态向量索引,数据落后更新时间 |
数据结构 | ✅ 支持结构化数据(JSON、表格、SQL结果)非常适合基金净值等 | ❌ 主要处理非结构化文档(PDF、网页文本) |
延迟控制 | ⚠️ 需要实时拉取数据,有一定调用延迟(秒级) | ✅ 速度快,基于本地嵌入检索 |
上下文准确性 | ✅ 明确由开发者构造上下文,0 幻觉风险 | ❌ 依赖相似度检索,易混淆同类基金/旧数据 |
可控性 | ✅ 高,开发者决定什么字段进入 prompt | ❌ 低,检索粒度和内容不完全可控 |
安全审计 | ✅ 好做,所有上下文可追溯可重构 | ❌ 难溯源,检索结果非结构化 |
典型任务 | 实时基金分析、对比多个基金、可视化解释数据 | 回答「这只基金的投资风格是什么」提取基金说明书要点 |
就实时基金分析而言,使用 MCP 接入优势明显,将数据结构化之后定向选择指定(基金)的数据进入大模型分析,可控性高,上下文可溯源,
而 MCP 传输机制又分为以下 Stdio、SSE 、HTTP 三种:
注:以下数据表格使用大模型总结得出,总结过程联网,可能参考了部分博客。
传输方式 | 通信方向 | 底层协议 | 实时性 | 并发能力 | 部署复杂度 | 优点 | 缺点 | 适用场景 |
---|---|---|---|---|---|---|---|---|
Stdio | 双向同步 | stdin/stdout(管道) | ✔ 低延迟 | ✖ 低(<100) | 👍 简单 | ✅ 本地通信低延迟、无网络依赖、安全性高 | ❌ 仅限本地,进程管理麻烦 | 本地开发、CLI 工具、IDE 插件 |
SSE | 单向(服务器→客户端) | HTTP/1.1 + text/event-stream | ➖ 中等 | ✔ 中等(HTTP 限制) | ⚙️ 中等 | ✅ 支持远程通信、实时推送、HTTP 兼容 | ❌ 单向、端点多、需要 SSE 连接管理 | 中短期远程部署、实时通知 |
Streamable HTTP | 双向异步 | HTTP/2 流 + chunked | ✔✔ 高 | ✔✔ 高 | ⚠️ 较高 | ✅ 双向流、单端点、JSON‑RPC 批处理、高并发 | ❌ 生态未成熟、实现难度较高 | 云原生、高并发远程系统 |
简而言之,Stdio 是典型单机进程间通信,适合本地调试开发,适合在 IDE 这类 MCP Host 中交互式使用,
SSE 适合服务器端实时单向传输数据,需要管理连接,
而 Streamable HTTP 底层基于 HTTP 协议,支持双向异步通信,天生适合云原生,毫无疑问,他就是我们开发 MCP Server 时传输机制的首选。
而在 MCP Server 开发框架上,我选择的是 上万星的 FastMCP ,
对获取基金净值的数据和获取相关新闻数据,分别开发一个 MCP Server
把获取数据源并且结构化的逻辑实现,同时指定 Streamable HTTP 为传输方式,
为了保证数据获取速度,简单构建了一层数据库缓存,
如果选择的基金和时间段范围内的数据存在,就直接从缓存中取数据而不用重新请求网络数据,
如果不存在或者缺失部分时间,补齐缺失数据后直接供大模型使用,同时保存到缓存中,
至此 MCP Server 开发完成。
Gemini 接入 MCP server
最终调研选择 Google 的 Gemini-2.5-flash 作为基座大模型,
阅读 Google 开发者文档,将 MCP Server Context 作为 function tool 传入 Gemini 中
再将 Gemini 大模型能力接入 Flask Application 中,至此接入完成,
最后使用 Next.js 完成前端界面的编写,对接 Flask 后端服务,
flask run 启动后端,npm start 启动前端,就看到了文章开篇所见到的网站界面
网站使用演示
可以选择任意基金代码和时间段,分析涨跌情况和可能的原因,
也可以将分析报告一键分享给好友查看,
具体欢迎查看以下视频:
cloud.tencent.com/developer/v…
在输入基金代码和时间段之后,分析工具先是调用的 Fund-MCP Server,获取了指定基金该时间段内的涨跌情况,并进行了总结分析
然后调用 News-MCP Server,准确解析出了该时段内和该基金有关的新闻动态,并且就具体新闻分析了对基金涨跌异动可能的影响
可以从视频看到,无论是输入的第一支基建基金,工具积极肯定了近期的雅鲁藏布江水电项目对该基金的正面影响
还是第二支芯片半导体基金,工具就涨跌的各个时段,分别做了相关新闻动态和涨跌趋势的正负相关性
工具高效明了,可以省去很多资料搜集时间,大模型改变生活,赋能生产。
声明
免责声明:基金投资有风险,过往业绩不代表未来表现。本内容仅为信息参考,不构成任何投资建议,投资者据此操作产生的盈亏均需自行承担。