FinRobot: un organismo inteligente para mejorar la eficacia del análisis de datos financieros y la investigación de inversiones

Introducción general

FinRobot es una plataforma de inteligencia artificial de código abierto desarrollada por AI4Finance Foundation y diseñada para el análisis financiero. FinRobot se diseñó originalmente para simplificar y optimizar el proceso de análisis financiero, así como para mejorar la precisión y eficacia del análisis mediante tecnologías avanzadas de IA. Sus funciones principales incluyen la interpretación de las tendencias del mercado, la previsión económica y la provisión de estrategias de inversión, etc. Es adecuado para todo tipo de instituciones financieras e inversores particulares.

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

 

Lista de funciones

  • Análisis de las tendencias del mercadoSeguimiento y análisis de la dinámica del mercado en tiempo real y elaboración de previsiones de tendencias y recomendaciones de inversión.
  • Previsiones económicas: Uso de big data y algoritmos de IA para predecir indicadores macroeconómicos.
  • Ofertas de estrategias de inversiónGenerar estrategias de inversión personalizadas basadas en datos históricos y análisis de mercado.
  • Tratamiento multimodal de datos: Integre datos de mercado, noticias e indicadores económicos para realizar análisis multidimensionales.
  • biblioteca de código abierto (OSSL): Proporciona una rica biblioteca de código fuente abierto para apoyar el desarrollo secundario y las ampliaciones de funcionalidad.

 

FinRobot Arquitectura Diseño

1. Ecosistema FinRobot

FinRobot utiliza una arquitectura de cuatro niveles, cada uno de ellos optimizado para tareas de IA financiera.

  • Capa de agente de IA financiera: Incluye agentes de previsión de mercados, agentes de análisis de documentos, agentes de estrategias de negociación, etc., con soporte para las indicaciones financieras de la Cadena de Pensamiento (CoT).
  • Capa algorítmica LLM financiera: Apoya el ajuste LLM específico del ámbito financiero para mejorar la experiencia del análisis financiero.
  • Capa LLMOps y DataOpsPermite la integración de datos de múltiples fuentes y la adaptación dinámica de múltiples modelos LLM.
  • Capa del modelo base LLM multifuente: Admite Plug-and-Play El modelo LLM exige una adaptación flexible a las distintas tareas.

2. Flujo de trabajo del agente de IA

El flujo de trabajo del agente FinRobot consta de tres componentes básicos:

  • Percepción: Acceso a datos de mercado, noticias e indicadores económicos para el análisis multimodal.
  • Pensamiento (Cerebro): Genere decisiones de negociación utilizando LLM combinado con un enfoque de pensamiento de cadena financiera.
  • AcciónEjecute operaciones, ajuste carteras, genere informes o envíe alertas.

3. Sistema de despacho inteligente

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

FinRobot utiliza Programador inteligente sistema de programación para garantizar que las tareas puedan asignarse al agente de IA más adecuado.

  • Agente Director: Asigna agentes en función de las características de la tarea.
  • Registro de agentesGestión de las inscripciones de agentes y seguimiento de su estado.
  • Adaptador de agente: Ajuste la funcionalidad del agente para mejorar la adecuación a la tarea.
  • Gestor de tareas: Almacena y gestiona la ejecución de tareas para agentes de IA.

 

Utilizar la ayuda

Pasos de la instalación

(1) Creación del entorno Python

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

(2) Clonación del código base

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

(3) Instalación de dependencias

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

(4) Configuración de la clave 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. Ejemplos de aplicaciones

(1) Agente de previsión del mercado: previsión de la evolución de las cotizaciones bursátiles

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} 近期市场动态,并预测未来一周股价走势。")

al final

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

(2) Agente de análisis financiero: generación automática de informes financieros

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}")

al final

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

Análisis de la posición financiera (CoT financiero):

  1. Recopilación de datos preliminares: informes 10-K, datos de mercado, ratios financieros
  2. Analizar los estados financieros: balance, cuenta de resultados, estado de flujos de tesorería
  3. Visión general de la empresa y resultados: descripción de la empresa, aspectos más destacados, análisis por segmentos
  4. Evaluación del riesgo
  5. Visualización de los resultados financieros: gráfico de la relación precio-beneficio (PER) y de los beneficios por acción (BPA).
  6. Sintetizar las conclusiones en párrafos: integrar todas las partes en un resumen coherente.
  7. Generar informes PDF: utilice herramientas para generar automáticamente archivos PDF
  8. Garantía de calidad: comprobación del recuento de palabras
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...