Aprenda a criar um portfólio de investimentos inteligente utilizando AI agêntica, MongoDB Atlas, pesquisa vetorial e Charts.
Casos de uso: Gen AI
Setores: Serviços financeiros
Produtos e ferramentas: Atlas Vector Search, Pipeline de Agregação, Atlas Charts, Coleções de séries temporais, MongoDB Checkpointer
Parceiros: Voyage AI, Amazon Bedrock, LangChain
Visão Geral da Solução
No mercado de capitais atual, o gerenciamento de riscos eficaz está evoluindo rapidamente, à medida que os dados se tornam fundamentais para a tomada de decisões estratégicas. Gerentes de investimentos precisam navegar por grandes volumes de dados diversos, de feeds financeiros estruturados a conteúdo não estruturado, como artigos de notícias e publicações em redes sociais. Isso traz desafios que sistemas tradicionais não podem lidar, pois não foram criados para isso.
As soluções impulsionadas por AI estão redefinindo o gerenciamento de portfólios ao avançar além de estratégias baseadas em regras, rumo a tomadas de decisão adaptativas e conscientes do contexto.
Nosso gerenciador inteligente de portfólio de investimentos lida com a complexidade de integrar e analisar diversas fontes de dados. Ao combinar análise em tempo real com modelos de IA generativa, ele oferece uma experiência intuitiva de ponta a ponta por meio de um Assistente de portfólio com inteligência artificial, transformando a forma como os gerentes de portfólio exploram informações e tomam providências.
Com a tecnologia de grandes modelos de linguagem (LLMs), geração aumentada de recuperação (RAG) e do MongoDB Atlas, incluindo pesquisa vetorial, coleções de séries temporais e Atlas Charts — esta solução capacita os agentes de AI a:
analisar vastos conjuntos de dados financeiros de várias fontes e processá-los em análises significativas, como correlações macroeconômicas, médias móveis e métricas em nível de portfólio.
Forneça informações dinâmicas e recomendações com base no desempenho do portfólio.
Essa abordagem avançada aprimora a tomada de decisões, melhora o gerenciamento de riscos e permite uma análise mais precisa de desempenho e impacto — ajudando os gerentes de portfólio a tomar decisões de investimento mais inteligentes, rápidas e informadas por meio da implementação “interação humana no loop” (HITL - human in the loop).
Arquiteturas de referência
A solução é composta por três agentes e dois aplicativos:
Agente de análise de mercado
Agente de notícias de mercado
Agente de suporte de mercado
Aplicativo de ingestão de dados
Aplicativo de geração de insights de mercado
Figura 1. Arquitetura de alto nível
Conforme mostrado no diagrama, o MongoDB serve como a espinha dorsal para armazenar os dados do aplicativo de ingestão de dados. Os dados de mercado (séries temporais), notícias financeiras (não estruturadas) e indicadores macroeconômicos (estruturados) são extraídos, transformados e carregados em coleções do MongoDB Atlas.
Após a ingestão dos dados, os dois primeiros agentes — agente de análise de mercado e agente de notícias de mercado — são programados para analisar dados de mercado em tempo real e notícias financeiras, processar análises de sentimento das notícias e fornecer informações específicas do portfólio com base na alocação atual do portfólio. Por fim, um terceiro agente, conhecido como agente assistente de mercado, fornece informações e recomendações para os mercados de capitais utilizando um agente LangGraph ReAct, aproveitando o MongoDB Atlas para armazenamento de dados, pesquisa vetorial e gerenciamento de estado do agente.
Construindo a Solução
Vamos agora entender como a solução foi criada; o código é dividido em três microsserviços:
Parte 1. Serviço de carregadores
Figura 2. Arquitetura de serviço de carregadores
Esta parte se concentra no aplicativo de ingestão de dados, que lida com a extração de dados de três fontes:
ETL de dados de mercado do Yahoo Finance: extrai, transforma e carrega dados de mercado para diversos tipos de ativos utilizando o pacote Python yfinance.
ETL de dados macroeconômicos da FRED API: extrai, transforma e carrega dados macroeconômicos usando o pacote Python pyfredapi.
Processamento de notícias financeiras: extrai notícias financeiras, gera incorporações usando o modelo voyage-finance-2 da Voyage AI e calcula as pontuações de sentimento usando o modelo FinBERT da Hugging Face.
Gerando o desempenho do portfólio (emulação).
Em seguida, os artigos de notícias financeiras são processados para calcular sua pontuação de sentimento usando o FinBERT, um modelo LLM pré-treinado. Além disso, usando o modelo de incorporação da Voyage AI voyage-finance-2, os artigos de notícias são vetorizados e armazenados na coleção MongoDB juntamente com suas incorporações vetoriais.
{ "_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, ...] }
Finalmente, todas as coleções são armazenadas no MongoDB Atlas.
Parte 2. Serviço de Agentes
Figura 3. Arquitetura do serviço dos agentes
Assim que os dados são ingeridos e armazenados nas coleções apropriadas do MongoDB, dois agentes agendados os analisam para gerar insights específicos ao portfólio.
Agente de análise de mercado
Avalia os indicadores macroeconômicos (por meio do FRED), as tendências de preços dos ativos (usando médias móveis de 50 dias) e a volatilidade do mercado (por meio do VIX), combinando essas entradas com o raciocínio baseado em LLM (por meio do AWS Bedrock/Anthropic) para produzir recomendações de portfólio personalizadas.
Agente de notícias de mercado
Utiliza o MongoDB Atlas Vector Search para recuperar notícias financeiras semanticamente relevantes por ativo, seguido por análise de sentimento baseada em LLM e resumo para destacar os principais sinais.
Conforme mostrado no diagrama de arquitetura, os agentes são fluxos de trabalho baseados em LLM e aprimorados por ferramentas, e orquestrados usando LangGraph. Cada um segue um processo estruturado e determinístico onde as ferramentas são chamadas em uma sequência fixa, garantindo uma execução confiável e compreensível.
Ferramentas do Agente
Cada agente utiliza um conjunto personalizado de ferramentas para recuperar, analisar e sintetizar os insights:
check_portfolio_allocation_tool: recupera a alocação atual de ativos do MongoDB.calculate_asset_trends_tool: compara os preços atuais com as médias móveis de 50 dias para detectar tendências.assess_macro_indicators_tool: coleta e interpreta dados econômicos do FRED (por exemplo, PIB, taxas, desemprego).assess_vix_tool: analisa a volatilidade do mercado usando dados do VIX.generate_overall_diagnosis_tool: sintetiza todas as entradas e fornece recomendações baseadas em LLMs.fetch_market_news_tool: utiliza pesquisa vetorial para localizar notícias financeiras de relevância semântica.generate_news_summaries_tool: aplica análise de sentimento e sumarização com um LLM.
Cada ferramenta inclui uma docstring em linguagem natural, que guia o agente a entender quando e como usar a ferramenta, descrevendo sua finalidade, a entrada esperada e o comportamento de saída.
Armazenamento de Vetores Semânticos
Por fim, todas as informações geradas — análises de mercado e relatórios de sentimento de notícias — são incorporadas usando o modelo Voyage-Finance-2 e armazenadas no MongoDB Atlas, permitindo a recuperação semântica e a rastreabilidade histórica em ambos os fluxos de trabalho.
Parte 3. Serviço de agente assistente de mercado
Figura 4. Arquitetura de serviço do agente assistente de mercado
Depois que os dados são ingeridos e incorporados às coleções do MongoDB Atlas, o agente assistente de mercado usa o padrão de raciocínio ReAct, implementado por meio do LangGraph, para interpretar autonomamente as queries dos usuários, acessar ferramentas relevantes e gerar insights financeiros acionáveis.
Este agente funciona como um consultor financeiro estruturado com tecnologia LLM, capaz de raciocínio passo a passo, execução de ações e retenção de memória. Construído com o framework de agente ReAct da LangGraph, segue um ciclo de:
Raciocínio sobre a query
Ação (por exemplo, chamar uma ferramenta)
Observando o resultado
Continuando iterativamente até que uma resposta final seja alcançada.
O comportamento do agente é definido por meio de um perfil de agente personalizável armazenado no MongoDB, enquanto a memória de longo prazo e a persistência de estado são gerenciadas usando o checkpointer do MongoDB, que acompanha as etapas de interação por meio de checkpoints_aio e checkpoint_writes_aio.
Visão geral das ferramentas do agente
O agente assistente de mercado tem um conjunto de ferramentas modulares divididas em análises específicas ao portfólio e inteligência geral de mercado:
Ferramentas específicas para portfólio
market_analysis_reports_vector_search_tool: recupera relatórios de mercado semanticamente relevantes usando embeddings de Voyage-finance-2, equilibrando a similaridade vetorial e a atualidade para fornecer informações tanto de todo o portfólio quanto específicas de ativos.market_news_reports_vector_search_tool: encontra e resume notícias recentes relevantes para os ativos do portfólio, incluindo classificação de sentimento (positivo/neutro/negativo) e impacto geral das notícias.get_portfolio_allocation_tool: exibe a distribuição atual dos investimentos entre os ativos do portfólio, com tickers, descrições e porcentagens de alocação.get_portfolio_ytd_return_tool: calcula e formata o desempenho acumulado no ano com base nos retornos históricos, armazenados em portfolio_performance.get_vix_closing_value_tool: fornece o preço de fechamento mais recente do VIX como um indicador rápido da volatilidade e risco de mercado.
Inteligência Financeira Geral
tavily_search_tool: complementa as ferramentas internas ao recuperar dados financeiros externos atualizados e notícias por meio de pesquisas na web, sendo particularmente útil para ativos que não estão atualmente no portfólio.
Incorporações e pesquisa vetorial
O sistema usa o modelo de incorporação Voyage-finance-2, otimizado para texto financeiro, para gerar representações semânticas para relatórios. Essas incorporações são armazenadas em:
reports_market_analysis(relatórios de mercado)reports_market_news(artigos de notícias)
Ambas as coleções têm suporte a consultas semânticas via MongoDB Atlas Vector Search, permitindo a recuperação de alta relevância em contextos de mercado e notícias.
Acesse nosso repositório no GitHub: Leafy Bank IU e crie esta demonstração por conta própria seguindo as instruções. (Observação: cada parte da solução possui seu próprio repositório, que você encontrará no README como os serviços “Capital Markets”).
Por que o MongoDB?
Uma fundação de dados moderna para aplicativos financeiros com tecnologia de AI
O MongoDB é uma plataforma de dados unificada e de alto desempenho criada para a complexidade dos serviços financeiros. Ele substitui soluções ponto a ponto fragmentadas por um único sistema capaz de manipular dados estruturados, de série temporal, não estruturados e vetorizados, o que o torna ideal para impulsionar aplicativos inteligentes e adaptáveis em mercados de capitais, gestão de patrimônio e muito mais.
Flexibilidade de esquema e document model
O modelo BSON semelhante ao JSON do MongoDB se alinha naturalmente ao estado do agente e ao design orientado a objetos, simplificando a modelagem de dados para contas, portfólios, transações e metadados de AI. Os desenvolvedores podem:
Desenvolva ainda mais os modelos de dados sem migrações disruptivas graças a esquemas dinâmicos.
Armazene dados relacionados juntos (por exemplo, perfis de usuário e histórico de transações) para queries mais rápidas e eficientes.
Lidar com diversos tipos de dados, de primitivos a arrays e documentos incorporados, em uma estrutura unificada.
Coleções de séries temporais para dados de mercado
Coleções de séries temporais criadas especificamente ingerem e analisam grandes volumes de dados de mercado de forma eficiente. Os recursos incluem:
Ingestão com alta taxa de transferência para ações, títulos e commodities.
Compactação automática, indexação e expiração de dados para controle de desempenho e custo.
Suporte nativo para análises em janelas, como médias móveis e monitoramento da volatilidade.
Atlas Vector Search para compreensão semântica
O MongoDB Atlas Vector Search possibilita a compreensão semântica de conteúdo financeiro por meio de incorporações vetoriais. Esta solução utiliza o Voyage-Finance-2, um modelo específico para finanças que alimenta:
Recuperação de notícias financeiras com reconhecimento de contexto usando prompts interativos e correspondência por similaridade.
Pesquisa de similaridade semântica aprimorada com filtro de metadados para gerar resultados mais precisos.
Checkpointer do MongoDB para memória do agente
O padrão Checkpointer permite que agentes de AI mantenham seu estado interno nas das interações, oferecendo suporte para:
Retenção de contexto e raciocínio a longo prazo.
Visibilidade total das decisões anteriores de AI, dando suporte a auditorias fáceis e compliance regulatória.
Pipelines de agregação e Atlas Charts para geração de insights
O framework de agregação do MongoDB oferece informações em tempo real, desde a análise de tendências até as correlações macroeconômicas. Combinado com o Atlas Charts, as equipes podem criar painéis dinâmicos que exibem:
Sinais de portfólio orientados por AI
Anomalias de mercado
Indicadores de desempenho em tempo real
Juntas, essas funcionalidades fazem do MongoDB uma camada de dados robusta e preparada para o futuro das soluções financeiras com tecnologia de AI, oferecendo a flexibilidade, a escalabilidade e a inteligência que o mercado financeiro moderno exige.
Principais Aprendizados
Soluções de AI no gerenciamento de portfólios de investimentos revelam insights antes inimagináveis. Agora, os gestores de portfólios contam com o poder dos agentes de AI para analisar dados, notícias e eventos de mercado e propor recomendações úteis e perspicazes sobre os ativos e riscos dos portfólios em tempo real.
O MongoDB é um facilitador essencial na jornada da AI de agente para o gerenciamento de portfólios de investimento. O document model flexível do MongoDB armazena de forma nativa dados de mercado não estruturados e dinâmicos, incluindo notícias, eventos e dados de mídia social. O MongoDB pesquisa vetorial recupera semelhanças e correlações contextuais do mercado, integrando-se perfeitamente a incorporações e modelos de IA generativa.
AI de agente é um paradigma em rápida evolução na tomada de decisões orientadas por AI. Os agentes AI se adaptam continuamente, ajustando suas ações e estratégias com base nas condições de mercado e flutuações em tempo real. Os agentes de AI aprendem com experiências passadas, refinando seu desempenho ao longo do tempo.
Tecnologias e produtos utilizados
Plataforma de dados para desenvolvedores MongoDB
Tecnologias de parceiros
Autores
Peyman Parsi
Ainhoa Múgica
Julian Boronat
Andrea Alaman Calderon