Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

FinRobot: um corpo inteligente para melhorar a eficiência da análise de dados financeiros e da pesquisa de investimentos

Introdução geral

O FinRobot é uma plataforma de inteligência de IA de código aberto desenvolvida pela AI4Finance Foundation e projetada para análise financeira. Ela não só abrange modelos de linguagem tradicionais, mas também incorpora uma variedade de tecnologias de IA, com o objetivo de fornecer uma solução abrangente para o setor financeiro. O FinRobot foi originalmente projetado para simplificar e otimizar o processo de análise financeira e para melhorar a precisão e a eficiência da análise por meio de tecnologias avançadas de IA. Suas principais funções incluem interpretação de tendências de mercado, previsão econômica e fornecimento de estratégia de investimento, etc. É adequado para todos os tipos de instituições financeiras e investidores individuais.

FinRobot:提升金融数据分析效率和投资研究的的智能体-1


 

Lista de funções

  • Análise de tendências de mercadoMonitoramento e análise da dinâmica do mercado em tempo real e fornecimento de previsões de tendências e recomendações de investimentos.
  • Previsões econômicasUso de big data e algoritmos de IA para prever indicadores macroeconômicos.
  • Ofertas de estratégias de investimentoGeração de estratégias de investimento personalizadas com base em dados históricos e análise de mercado.
  • Processamento de dados multimodaisIntegração de dados de mercado, notícias e indicadores econômicos para análise multidimensional.
  • biblioteca de código aberto (OSSL)Fornecimento de uma biblioteca rica de código-fonte aberto para dar suporte ao desenvolvimento secundário e às extensões de funcionalidade.

 

Projeto de arquitetura FinRobot

1. ecossistema FinRobot

O FinRobot usa uma arquitetura de quatro camadas, com cada camada otimizada para tarefas de IA financeira.

  • Camada de agente de IA financeiraAgente de previsão de mercado: Inclui agentes de previsão de mercado, agentes de análise de documentos, agentes de estratégia de negociação, etc., com suporte para prompts financeiros da Cadeia de Pensamento (CoT).
  • Camada Algorítmica do LLM FinanceiroSuporte ao ajuste de LLM específico do domínio financeiro para aprimorar o conhecimento especializado da análise financeira.
  • Camada de LLMOps e DataOpsIntegração de dados de várias fontes: fornece integração de dados de várias fontes e oferece suporte à adaptação dinâmica de vários modelos LLM.
  • Camada de modelo básico LLM de várias fontesSuporte a Plug-and-Play: O modelo LLM exige adaptação flexível a diferentes tarefas.

2. fluxo de trabalho do agente de IA

O fluxo de trabalho do agente FinRobot consiste em três componentes principais:

  • PercepçãoAcesso a dados de mercado, notícias e indicadores econômicos para análise multimodal.
  • Pensamento (cérebro)Gerar decisões de negociação usando LLM combinado com uma abordagem de pensamento de cadeia financeira.
  • AçãoExecute negociações, ajuste portfólios, gere relatórios ou envie alertas.

3. sistema de despacho inteligente

FinRobot:提升金融数据分析效率和投资研究的的智能体-1

O FinRobot usa Agendador inteligente sistema de agendamento para garantir que as tarefas possam ser atribuídas ao agente de IA mais adequado.

  • Agente DiretorAtribuir agentes com base nas características da tarefa.
  • Registro de agenteGerencie os registros de agentes e acompanhe seu status.
  • Adaptador de agenteAjuste da funcionalidade do agente para melhorar a adequação à tarefa.
  • Gerenciador de tarefasArmazena e gerencia a execução de tarefas para agentes de IA.

 

Usando a Ajuda

Etapas de instalação

(1) Criando um ambiente Python

conda create --name finrobot python=3.10
conda activate finrobot

(2) Clonagem da base de código

git clone https://github.com/AI4Finance-Foundation/FinRobot.git
cd FinRobot

(3) Instalação de dependências

pip install -U finrobot  # 或者从源码安装
pip install -e .

(4) Configuração da chave de API

# 修改 OAI_CONFIG_LIST_sample 文件
mv OAI_CONFIG_LIST_sample OAI_CONFIG_LIST
vi OAI_CONFIG_LIST # 添加 OpenAI API Key

# 修改 config_api_keys_sample 文件
mv config_api_keys_sample config_api_keys
vi config_api_keys # 添加 Finnhub、SEC-API、FinancialModelingPrep API Key

2) Exemplos de aplicativos

(1) Agente de previsão de mercado: previsão de movimentos de preços de ações

import autogen
from finrobot.utils import get_current_date, register_keys_from_json
from finrobot.agents.workflow import SingleAssistant

# 读取 OpenAI API 配置
llm_config = {
"config_list": autogen.config_list_from_json("../OAI_CONFIG_LIST"),
"timeout": 120,
"temperature": 0,
}

# 注册 API 密钥
register_keys_from_json("../config_api_keys")

# 运行预测
company = "NVDA"
assistant = SingleAssistant("Market_Analyst", llm_config, human_input_mode="NEVER")
assistant.chat(f"分析 {company} 近期市场动态,并预测未来一周股价走势。")

no final

FinRobot:提升金融数据分析效率和投资研究的的智能体-1

(2) Agente de análise financeira: geração automática de relatórios financeiros

import os
import autogen
from finrobot.utils import register_keys_from_json
from finrobot.agents.workflow import SingleAssistantShadow
# 配置 LLM 参数
llm_config = {
"config_list": autogen.config_list_from_json("../OAI_CONFIG_LIST"),
"timeout": 120,
"temperature": 0.5,
}
# 注册 API 密钥
register_keys_from_json("../config_api_keys")
# 创建工作目录
work_dir = os.path.join("..", "report")
os.makedirs(work_dir, exist_ok=True)
# 初始化智能助手
assistant = SingleAssistantShadow("Expert_Investor", llm_config, human_input_mode="TERMINATE")
# 设定公司和年份
company = "Microsoft"
fyear = "2023"
# 生成报告请求
message = f"请基于 {company} {fyear} 年的财务数据撰写年度分析报告,并导出 PDF。"
# 运行助手并处理异常
try:
assistant.chat(message, use_cache=True, max_turns=50, summary_method="last_msg")
print(f"报告已成功生成并保存至 {work_dir}")
except Exception as e:
print(f"生成报告时出错: {e}")

no final

FinRobot:提升金融数据分析效率和投资研究的的智能体-1

Análise da posição financeira (CoT financeiro):

  1. Coleta de dados preliminares: relatórios 10-K, dados de mercado, índices financeiros
  2. Analisar demonstrações financeiras: balanço patrimonial, demonstração de resultados, demonstração de fluxo de caixa
  3. Visão geral e desempenho da empresa: descrição da empresa, destaques do negócio, análise do segmento
  4. Avaliação de riscos: avaliação de riscos
  5. Visualização do desempenho financeiro: gráficos de preço-lucro (índice PE) e lucro por ação (EPS)
  6. Sintetizar as descobertas em parágrafos: integrar todas as partes em um resumo coerente
  7. Gerar relatórios em PDF: use ferramentas para gerar arquivos PDF automaticamente
  8. Garantia de qualidade: verificação da contagem de palavras
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " FinRobot: um corpo inteligente para melhorar a eficiência da análise de dados financeiros e da pesquisa de investimentos
pt_BRPortuguês do Brasil