了解如何使用 agentic AI、MongoDB Atlas、Vector Search 和 Charts 构建智能投资组合。
使用案例: Gen AI
行业: 金融服务
产品和工具: Atlas Vector Search、聚合管道、Atlas Charts、时间序列集合、MongoDB Checkpointer
合作伙伴: Voyage AI、Amazon Bedrock、LangChain
解决方案概述
在当今资本市场,随着数据成为战略决策的核心,有效的风险管理正在迅速演进。投资组合经理必须处理海量且多样化的数据——从结构化的金融数据流到非结构化的内容,如新闻文章和社交媒体——这些挑战已超出传统系统的设计处理能力。
AI 驱动的解决方案正在重新定义投资组合管理,从基于规则的策略转向具备环境感知能力的自适应决策。
我们的智能投资组合经理解决了整合和分析不同数据源的复杂性。通过将实时分析与生成式人工智能模型相结合,AI 驱动的投资组合助手提供了一种直观的端到端体验,彻底改变了投资组合经理探索见解和采取行动的方式。
由大型语言模型 (LLM)、检索增强生成 (RAG) 和 MongoDB Atlas(包括向量搜索、时间序列集合和 Atlas 图表)提供支持,该解决方案使 AI 代理能够:
分析来自多个来源的海量金融数据集,并将其处理为有意义的分析结果,例如宏观经济相关性、移动平均线和投资组合级别的指标。
根据投资组合表现提供动态见解和建议。
这种先进的方法提升了决策能力,改善了风险管理,并实现了更精确的绩效与影响分析,通过“人类参与” (HITL) 机制,帮助投资组合经理做出更智能、更迅速、更有依据的投资决策。
参考架构
该解决方案由三个代理和两个应用程序组成:
市场分析代理
市场新闻代理
市场助手代理
数据接收应用程序
市场见解生成应用程序
图1。高层架构
如图所示,MongoDB 作为数据采集应用的数据存储主干。市场数据(时间序列)、财经新闻(非结构化)和宏观经济指标(结构化)数据被提取、转换并加载到 MongoDB Atlas 集合中。
在完成数据接收之后,前两个代理:市场分析代理和市场新闻代理,将被调度来分析实时市场数据和财经新闻,执行新闻情绪分析,并根据当前投资组合配置提供针对特定投资组合的洞察。最后,第三个代理称为市场助手代理,它使用基于 LangGraph ReAct 架构的代理,为资本市场提供洞察和建议,同时利用 MongoDB Atlas 进行数据存储、向量搜索以及代理状态管理。
构建该解决方案
现在让我们了解解决方案是如何构建的,代码被分割成三个微服务:
第 1 部分.加载器服务
图 2. 加载器服务架构
本部分重点介绍数据摄取应用程序,该应用程序负责从三个来源提取数据:
Yahoo Finance 市场数据 ETL:使用 yfinance Python 包提取、转换并加载各种资产类型的市场数据。
FRED API 宏观经济数据 ETL:使用 pyfredapi Python 包提取、转换和加载宏观经济数据。
财经新闻处理:抓取财经新闻,使用 Voyage AI 的 voyage-finance-2 模型生成嵌入向量,并使用 Hugging Face 的 FinBERT 模型计算情绪得分。
生成投资组合绩效(模拟)。
之后,使用预训练的 LLM 模型 FinBERT 对财经新闻文章进行处理,以计算其情感分数。此外,使用 Voyage AI 的嵌入模型 voyage-finance-2,新闻文章被矢量化,并与其向量嵌入一起存储到 MongoDB 集合中。
{ "_id": { "$oid": "67c09436bd1cbed4d0185880" }, "headline": "QQQ Leads Inflows as VGIT, HYG Jump: ETF Flows as of Feb. 27", "source": "etf.com · via Yahoo Finance", "posted": "1 year ago", "description": "Top 10 Creations (All ETFs) Ticker Name Net Flows ($, mm) AUM ($, mm) AUM % Change QQQ Invesco QQQ...", "link": "https://finance.yahoo.com/news/qqq-leads-inflows-vgit-hyg-005429051.html?fr=sycsrp_catchall", "synced": false, "extraction_timestamp_utc": { "$date": "2025-02-27T16:35:02.823Z" }, "ticker": "HYG", "article_string": "Headline: QQQ Leads Inflows as VGIT, HYG Jump: ETF Flows as of Feb. 27\n/n Description: Top 10 Creations (All ETFs) Ticker Name Net Flows ($, mm) AUM ($, mm) AUM % Change QQQ Invesco QQQ...\n/n Source: etf.com · via Yahoo Finance\n/n Ticker: HYG\n/n Link: https://finance.yahoo.com/news/qqq-leads-inflows-vgit-hyg-005429051.html?fr=sycsrp_catchall", "sentiment_score": { "positive": 0.03415600210428238, "negative": 0.04247178137302399, "neutral": 0.9233722686767578 }, "article_embedding": [ 0.025981411337852478, 0.03783617168664932, 0.01893029175698757, 0.019744139164686203, -0.009678225964307785, 0.0296250581741333, -0.06560207903385162, -0.03349149599671364, 0.005457616411149502, -0.004056802950799465, -0.07076755166053772, -0.04305347055196762, ...] }
最后,所有集合都存储在 MongoDB Atlas 中。
第 2 部分.代理服务
图3。代理程序服务架构
一旦数据被摄取并存储到相应的 MongoDB 集合中,两个计划代理会对数据进行分析,以生成投资组合特定的见解。
市场分析代理
评估宏观经济指标(通过 FRED)、资产价格趋势(使用 50 日移动平均线)以及市场波动性(通过 VIX),并结合基于大型语言模型的推理(通过 AWS Bedrock/Anthropic),生成定制化的投资组合建议。
市场新闻代理
使用 MongoDB Atlas Vector Search 检索每个资产的语义相关金融新闻,然后进行基于 LLM 的情绪分析和总结,以突出关键信号。
如架构图所示,这些代理是由大型语言模型驱动并结合工具增强的工作流程,通过 LangGraph 进行编排。每个过程都遵循结构化的确定性流程,其中工具按固定顺序调用,确保执行的可靠性和可解释性。
代理工具
每个代理使用一套定制化的工具来检索、分析和综合见解:
check_portfolio_allocation_tool:从 MongoDB 检索当前资产分配。calculate_asset_trends_tool:将当前价格与 50 天移动平均线进行比较以检测趋势。assess_macro_indicators_tool:获取并解析 FRED 经济数据(例如 GDP、利率、失业率)。assess_vix_tool:使用 VIX 数据分析市场波动性。generate_overall_diagnosis_tool:综合所有输入并提供基于 LLM 的建议。fetch_market_news_tool:使用向量搜索查找语义相关的金融新闻。generate_news_summaries_tool:应用 LLM 进行情绪分析并总结摘要。
每个工具都包含一个自然语言的文档字符串,通过描述其用途、预期输入和输出行为,帮助代理理解何时以及如何使用该工具。
语义向量存储
最后,所有生成的洞察,包括市场分析和新闻情绪报告,都会使用 Voyage-Finance-2 模型进行嵌入,并存储在 MongoDB Atlas 中,从而支持语义检索以及跨两个工作流程的历史可追溯性。
第 3 部分。市场助手代理服务
图 4. 市场助手代理服务架构
一旦数据被摄取并嵌入到 MongoDB Atlas 集合中,市场助理代理将使用通过 LangGraph 实现的 ReAct 推理模式,自动解释用户查询、访问相关工具,并生成可操作的财务见解。
该代理充当结构化的、由大语言模型驱动的金融顾问,具备逐步推理、执行操作和记忆保留的能力。它基于 LangGraph 的 ReAct 代理框架构建,遵循以下循环流程:
关于查询的推理
执行(如调用工具)
观察结果
反复迭代,直到达到最终响应。
代理行为通过存储在 MongoDB 中的可自定义代理配置文件来定义,而长期记忆和状态持久性则通过 MongoDB 检查点管理,该检查点通过 checkpoints_aio 和 checkpoint_writes_aio 追踪交互步骤。
代理工具概览
市场助手代理依赖于一个模块化工具集,其功能分为投资组合特定的分析和一般市场情报分析:
组合专用工具
market_analysis_reports_vector_search_tool:使用 Voyage-finance-2 嵌入向量检索语义相关的市场报告,在向量相似度与时间新近性之间取得平衡,从而返回针对整个投资组合以及特定资产的洞察。market_news_reports_vector_search_tool:查找并总结与投资组合资产相关的最新新闻,包括情感分类(正面/中性/负面)和整体新闻影响。get_portfolio_allocation_tool:显示当前投资组合中各资产的分布情况,包括股票代码、描述和分配比例。get_portfolio_ytd_return_tool:根据历史回报计算并格式化年初至今的表现,存储在 portfolio_performance 中。get_vix_closing_value_tool提供最新的VIX收盘价,作为市场波动性和风险的快速指标。
通用金融智能
tavily_search_tool:通过网页搜索获取最新的外部财经数据和新闻,以补充内部工具的功能,尤其适用于当前投资组合中未包含的资产。
嵌入和向量搜索
该系统使用 Voyage-finance-2 嵌入模型(专为金融文本优化)来生成报告的语义表示。这些嵌入存储在:
reports_market_analysis(市场报告)reports_market_news(新闻文章)
这两个集合都支持通过 MongoDB Atlas Vector Search 进行语义查询,从而实现在市场和新闻语境中的高相关性检索。
访问我们的 GitHub 存储库:Leafy Bank UI,并按照说明自行创建此演示。(注:解决方案的每个部分都有自己的存储库,您可以在 README 的“资本市场”服务部分找到它们。)
为什么选择 MongoDB
AI 驱动金融应用程序的现代数据基础
MongoDB 是一个统一的高性能数据平台,专为复杂的金融服务而搭建。它用能够处理结构化、时间序列、非结构化和向量化数据的单一系统取代了分散的点解决方案,因而成为在资本市场、财富管理及其他领域构建智能化、自适应应用程序的理想选择。
模式灵活性和文档模型
MongoDB 类似 JSON 的 BSON 模型与代理状态和面向对象设计自然契合,简化了账户、投资组合、交易以及 AI 元数据的数据建模过程。开发者可以:
得益于动态模式,可以在无需破坏性迁移的情况下演进数据模型。
将相关数据(例如用户资料和交易历史)存储在一起,以便更快、更高效地查询。
以统一的结构处理多种数据类型(从原始类型到数组和嵌入式文档)。
市场数据的时间序列集合
专为特定用途构建的时间序列集合能够高效地接收和分析大量市场数据。功能包含:
股票、债券和商品的高吞吐量摄取。
自动压缩、索引和数据过期,以控制性能和成本。
原生支持窗口分析,例如移动平均和波动率跟踪。
Atlas Vector Search 用于语义理解
MongoDB Atlas Vector Search 使用向量嵌入实现对金融内容的语义理解。该方案利用了专为金融领域设计的 Voyage-Finance-2 模型,赋能如下功能:
利用交互式提示和基于相似性的匹配,实现上下文感知的金融新闻检索。
通过元数据过滤增强语义相似性搜索,以获得更精确的结果。
用于代理内存的 MongoDB 检查点程序
Checkpointer 模式允许 AI 代理在交互过程中持久化其内部状态,支持:
上下文保留与长期推理。
对过去 AI 的决策实现全面可视化,支持轻松审计并确保符合监管合规要求。
用于生成见解的聚合管道和 Atlas Charts
MongoDB 的聚合框架提供实时洞察,从趋势分析到宏观经济相关性。结合 Atlas Charts,团队可以构建动态仪表盘,呈现以下内容:
AI 驱动的投资组合信号
市场异常
实时性能指标
这些功能加在一起,使 MongoDB 成为面向 AI 驱动的金融解决方案的强大、面向未来的数据层,提供现代金融所需的灵活性、可扩展性和智能性。
关键要点
投资组合管理中 AI 驱动的解决方案将发掘出之前无法获得的全新见解。投资组合经理现在配备有 AI 代理,此类代理能够分析市场数据、市场新闻、市场事件,并实时提出关于投资组合资产和风险的富有见地且切实可行的建议。
MongoDB 是代理式 AI 在投资组合管理中的关键推动者。MongoDB 的灵活 document model 能够原生存储非结构化和动态的市场数据,包括新闻、事件和社交媒体数据。MongoDB 向量搜索检索上下文市场的相似性和相关性,并与嵌入和生成式人工智能模型无缝集成。
代理式 AI 是 AI 驱动决策中快速发展的新范式。AI 代理持续适应,根据实时市场条件和市场波动调整其操作和策略。AI 代理从过去的经验中学习,随着时间的推移不断改进其性能。
使用的技术和产品
MongoDB 开发者数据平台
合作伙伴技术
作者
Peyman Parsi
Ainhoa Múgica
Julian Boronat
Andrea Alaman Calderon