Allgemeine Einführung
FinRobot ist eine Open-Source-KI-Intelligenzplattform, die von der AI4Finance Foundation entwickelt wurde und für Finanzanalysen konzipiert ist. FinRobot wurde ursprünglich entwickelt, um den Prozess der Finanzanalyse zu vereinfachen und zu optimieren und um die Genauigkeit und Effizienz der Analyse durch fortschrittliche KI-Technologien zu verbessern. Zu seinen Kernfunktionen gehören die Interpretation von Markttrends, Wirtschaftsprognosen und die Bereitstellung von Anlagestrategien usw. Er eignet sich für alle Arten von Finanzinstituten und Privatanlegern.
Funktionsliste
- Analyse der MarkttrendsÜberwachung und Analyse der Marktdynamik in Echtzeit und Erstellung von Trendprognosen und Investitionsempfehlungen.
- Wirtschaftliche PrognosenNutzung von Big Data und KI-Algorithmen zur Prognose makroökonomischer Indikatoren.
- Angebote für AnlagestrategienGenerieren Sie personalisierte Anlagestrategien auf der Grundlage historischer Daten und Marktanalysen.
- Multimodale DatenverarbeitungIntegration von Marktdaten, Nachrichten und Wirtschaftsindikatoren für multidimensionale Analysen.
- quelloffene Bibliothek (OSSL)Bietet eine umfangreiche Bibliothek mit Open-Source-Code zur Unterstützung von Sekundärentwicklung und Funktionserweiterungen.
FinRobot Architektur Entwurf
1. das FinRobot-Ökosystem
FinRobot verwendet eine vierstufige Architektur, wobei jede Stufe für KI-Aufgaben im Finanzbereich optimiert ist.
- Finanzielle AI-AgentenschichtMarktprognose-Agenten, Dokumentenanalyse-Agenten, Handelsstrategie-Agenten usw. mit Unterstützung für finanzielle Denkketten (Chain of Thought, CoT).
- Finanzielle LLM-Algorithmus-SchichtUnterstützung von finanzbereichsspezifischem LLM-Tuning, um das Fachwissen der Finanzanalyse zu verbessern.
- LLMOps & DataOps-SchichtErmöglicht die Integration von Daten aus mehreren Quellen und unterstützt die dynamische Anpassung mehrerer LLM-Modelle.
- Multi-Source-LLM-BasismodellschichtUnterstützt Plug-and-Play Das LLM-Modell erfordert eine flexible Anpassung an unterschiedliche Aufgaben.
2. der Arbeitsablauf eines KI-Agenten
Der Arbeitsablauf des FinRobot-Agenten besteht aus drei Kernkomponenten:
- WahrnehmungZugang zu Marktdaten, Nachrichten und Wirtschaftsindikatoren für multimodales Parsing.
- Denken (Gehirn)Generierung von Handelsentscheidungen unter Verwendung von LLM in Kombination mit einem finanziellen Kettendenkansatz.
- AktionAusführen von Geschäften, Anpassen von Portfolios, Erstellen von Berichten oder Versenden von Warnungen.
3. intelligentes Dispositionssystem
FinRobot verwendet Intelligenter Planer Scheduling-System, um sicherzustellen, dass die Aufgaben dem am besten geeigneten KI-Agenten zugewiesen werden können.
- Direktor Agent: Zuweisung von Bearbeitern anhand von Aufgabenmerkmalen.
- Registrierung als AgentVerwalten Sie Agentenregistrierungen und verfolgen Sie deren Status.
- Agent-AdapterAnpassung der Agentenfunktionalität zur Verbesserung der Aufgabentauglichkeit.
- Aufgaben-ManagerSpeichert und verwaltet die Aufgabenausführung für KI-Agenten.
Hilfe verwenden
Installationsschritte
(1) Erstellen einer Python-Umgebung
conda create --name finrobot python=3.10 conda activate finrobot
(2) Klonen der Code-Basis
git clone https://github.com/AI4Finance-Foundation/FinRobot.git cd FinRobot
(3) Installation von Abhängigkeiten
pip install -U finrobot # 或者从源码安装 pip install -e .
(4) Konfigurieren des API-Schlüssels
# 修改 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. beispielhafte Anwendungen
(1) Marktprognose-Agent: Vorhersage der Aktienkursentwicklung
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} 近期市场动态,并预测未来一周股价走势。")
am Ende
(2) Finanzanalyse-Agent: automatische Erstellung von Finanzberichten
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}")
am Ende
Analyse der Finanzlage (Financial CoT):
- Vorläufige Datenerhebung: 10-K-Berichte, Marktdaten, Finanzkennzahlen
- Analyse von Jahresabschlüssen: Bilanz, Gewinn- und Verlustrechnung, Kapitalflussrechnung
- Überblick über das Unternehmen und seine Leistung: Unternehmensbeschreibung, geschäftliche Höhepunkte, Segmentanalyse
- Risikobewertung: Bewertung des Risikos
- Visualisierung der finanziellen Leistung: Darstellung des Kurs-Gewinn-Verhältnisses (KGV) und des Gewinns je Aktie (EPS)
- Synthese der Ergebnisse in Absätzen: Integration aller Teile in eine kohärente Zusammenfassung
- Generierung von PDF-Berichten: Verwenden Sie Tools zur automatischen Generierung von PDF-Dateien
- Qualitätssicherung: Überprüfung der Wortanzahl