Mit dem Anstieg der KI im Finanzwesen nutzen die Anleger zunehmend kI-gesteuerte Erkenntnisse für eine bessere Entscheidungsfindung. In diesem Artikel wird untersucht, wie wir ein hierarchisches KI-System mit Langgraph Supervisor erstellen können, um Finanzmarkttrends zu analysieren, die Stimmungsanalyse durchzuführen und Investitionsempfehlungen zu geben. Durch die Integration von Spezialagenten für das Abrufen von Marktdaten, die Stimmungsanalyse, die quantitative Analyse und die Formulierung von Anlagestrategien ermöglichen wir ein intelligentes, automatisiertes System, das den Workflow von menschlichen Finanzanalysten nachahmt.

Lernziele

  • Lernen Sie hierarchische Strukturen, Supervisor -Rollen und Agentenkoordination.
  • Erstellen Sie domänenspezifische, Gefühls- und quantitative Analysebürme.
  • Verwalten Sie die Agentenkommunikation und konfigurieren Sie hierarchische Workflows.
  • Integrieren Sie AI-Erkenntnisse für datengesteuerte Empfehlungen.
  • Implementieren, optimieren und skalieren Sie AI-gesteuerte Anwendungen.
  • Verzerrungen mildern, Transparenz sicherstellen und die Zuverlässigkeit verbessern.
  • Dieses Modul bietet einen praktischen Ansatz für den Aufbau intelligenter, kI-gesteuerter Multi-Agent-Systeme mit skalierbaren Frameworks.

Dieser Artikel wurde als Teil der veröffentlicht Information Science Blogathon.

Multi-Agent-AI-System: Langchain-Supervisor

Hier ist ein einfaches Beispiel für einen Vorgesetzten, der zwei spezialisierte Agenten verwaltet:

Aufsicht
Quelle: Langchain Supervisor

Sie können steuern, wie Agentennachrichten zum Gesamtgesprächsgeschichte des Multi-Agent-Methods hinzugefügt werden:

Fügen Sie einen vollständigen Nachrichtenverlauf von einem Agenten hinzu:

Langchain Supervisor
Quelle: Langchain Supervisor

Die Multi-Agent-Architektur

Unser System besteht aus fünf spezialisierten Spezialitäten KI -Agenten koordiniert arbeiten:

  • Marktdatenagent (markt_data_expert)-Ruft Echtzeit-Aktienkurse, P/E-Verhältnisse, EPS und Umsatzwachstum ab. Verantwortlich für das Abrufen von Echtzeit-Finanzdaten, einschließlich Aktienkursen, Preis-Leistungs-Verhältnissen (P/E), Gewinne je Aktie (EPS) und Umsatzwachstum. Stellt sicher, dass das System über aktuelle Marktdaten zur Analyse verfügt.
  • Sentiment Evaluation Agent (Sentiment_expert) – Analysiert Nachrichten und soziale Medienstimmung für Aktien. Kategorisiert die Stimmung als positiv, impartial oder negativ, um die Marktstimmung für bestimmte Aktien zu bewerten.
  • Quantitative AnalyseSIS -Agent (quant_expert) – Berechnet Aktienkurstrends, bewegliche Durchschnittswerte und Volatilitätsmetriken. Hilft bei der Erkennung von Developments, potenziellen Ausbruchspunkten und Risikoniveaus auf der Grundlage früherer Marktdaten.
  • Anlagestrategievertreter (STRATEGY_EXPERT) – Verwendet alle verfügbaren Erkenntnisse, um eine Empfehlung von Purchase/Promote/Maintain zu generieren. Ermittelt, ob eine Aktie basierend auf berechneten Risiken und Möglichkeiten als Kauf, Verkauf oder Halten markiert werden sollte.
  • Supervisor -Agent (markt_supervisor)-verwaltet alle Agenten und sorgt für eine reibungslose Aufgabendelegation und Entscheidungsfindung. Koordiniert Multi-Agent-Interaktionen, überwacht die Effizienz der Workflow und aggregiert die endgültigen Empfehlungen für den Benutzer.

Praktisches Multi-Agent-KI-System für die Finanzmarktanalyse

1. Einrichten der Umgebung

Installieren Sie vor der Implementierung des Methods die erforderlichen Abhängigkeiten:

!pip set up langgraph-supervisor langchain-openai

Richten Sie Ihre OpenAI -API -Schlüssel sicher ein:

import os
os.environ("OPENAI_API_KEY") = "<your_api_key>"

2. Definieren von spezialisierten Agentenfunktionen

Marktdaten abrufen

# 1. Fetching Market Information
def fetch_market_data(stock_symbol: str) -> dict:
    """Simulate fetching inventory market knowledge for a given image."""
    market_data = {
        "AAPL": {"worth": 185.22, "pe_ratio": 28.3, "eps": 6.5, "revenue_growth": 8.5},
        "GOOG": {"worth": 142.11, "pe_ratio": 26.1, "eps": 5.8, "revenue_growth": 7.9},
        "TSLA": {"worth": 220.34, "pe_ratio": 40.2, "eps": 3.5, "revenue_growth": 6.2},
    }
    return market_data.get(stock_symbol, {})

Stimmungsanalyse durchführen

# 2. Sentiment Evaluation
def analyze_sentiment(stock_symbol: str) -> dict:
    """Carry out sentiment evaluation on monetary information for a inventory."""
    sentiment_scores = {
        "AAPL": {"news_sentiment": "Optimistic", "social_sentiment": "Impartial"},
        "GOOG": {"news_sentiment": "Unfavourable", "social_sentiment": "Optimistic"},
        "TSLA": {"news_sentiment": "Optimistic", "social_sentiment": "Unfavourable"},
    }
    return sentiment_scores.get(stock_symbol, {})

Berechnung quantitativer Analysemetriken

# 3. Quantitative Evaluation
def compute_quant_metrics(stock_symbol: str) -> dict:
    """Compute SMA, EMA, and volatility for inventory."""
    quant_metrics = {
        "AAPL": {"sma_50": 180.5, "ema_50": 182.1, "volatility": 1.9},
        "GOOG": {"sma_50": 140.8, "ema_50": 141.3, "volatility": 2.1},
        "TSLA": {"sma_50": 215.7, "ema_50": 218.2, "volatility": 3.5},
    }
    return quant_metrics.get(stock_symbol, {})

Investitionsempfehlungen generieren

# 4. Funding Technique Choice
def investment_strategy(stock_symbol: str, market_data: dict, sentiment: dict, quant: dict) -> str:
    """Analyze knowledge and generate purchase/promote/maintain suggestion."""
    if not market_data or not sentiment or not quant:
        return "Not sufficient knowledge for suggestion."

    determination = "Maintain"
    if market_data("pe_ratio") < 30 and sentiment("news_sentiment") == "Optimistic" and quant("volatility") < 2:
        determination = "Purchase"
    elif market_data("pe_ratio") > 35 or sentiment("news_sentiment") == "Unfavourable":
        determination = "Promote"

    return f"Really helpful Motion for {stock_symbol}: {determination}"

3. Erstellen und Bereitstellungsagenten

import os
from langchain_openai import ChatOpenAI
from langgraph_supervisor import create_supervisor
from langgraph.prebuilt import create_react_agent

# Initialize the Chat mannequin
mannequin = ChatOpenAI(mannequin="gpt-4o")

### --- CREATE AGENTS --- ###

# Market Information Agent
market_data_expert = create_react_agent(
    mannequin=mannequin,
    instruments=(fetch_market_data),
    title="market_data_expert",
    immediate="You're an professional in inventory market knowledge. Fetch inventory knowledge when requested."
)

# Sentiment Evaluation Agent
sentiment_expert = create_react_agent(
    mannequin=mannequin,
    instruments=(analyze_sentiment),
    title="sentiment_expert",
    immediate="You analyze monetary information and social media sentiment for inventory symbols."
)

# Quantitative Evaluation Agent
quant_expert = create_react_agent(
    mannequin=mannequin,
    instruments=(compute_quant_metrics),
    title="quant_expert",
    immediate="You analyze inventory worth developments, transferring averages, and volatility metrics."
)

# Funding Technique Agent
strategy_expert = create_react_agent(
    mannequin=mannequin,
    instruments=(investment_strategy),
    title="strategy_expert",
    immediate="You make funding suggestions based mostly on market, sentiment, and quant knowledge."
)

### --- SUPERVISOR AGENT --- ###

market_supervisor = create_supervisor(
    brokers=(market_data_expert, sentiment_expert, quant_expert, strategy_expert),
    mannequin=mannequin,
    immediate=(
        "You're a monetary market supervisor managing 4 professional brokers: market knowledge, sentiment, "
        "quantitative evaluation, and funding technique. For inventory queries, use market_data_expert. "
        "For information/social sentiment, use sentiment_expert. For inventory worth evaluation, use quant_expert. "
        "For closing funding suggestions, use strategy_expert."
    )
)

# Compile into an executable workflow
app = market_supervisor.compile()

4. Ausführen des Methods

### --- RUN THE SYSTEM --- ###
stock_query = {
    "messages": (
        {"function": "consumer", "content material": "What's the funding suggestion for AAPL?"}
    )
}

# Execute question
consequence = app.invoke(stock_query)

print(consequence('messages')(-1).content material)
Ausgabe
Ausgabe

Das KI -System hat Marktdaten, Stimmung und technische Indikatoren analysiert, um eine Anlageklage zu empfehlen

Zukünftige Verbesserungen

  • Verbinden Sie sich mit Actual APIs (Yahoo Finance, Alpha Vantage) für Viehdaten.
  • Erweitern Stimmungsanalyse Durch Integration der Social -Media -Überwachung.
  • Erweitern Sie das Portfoliomanagement um Risikobewertung und Diversifizierungsstrategien.

Dieser Multi-Agent-Rahmen ist eine skalierbare KI-Lösung für die Finanzanalyse, die mit minimaler menschlicher Intervention in Echtzeit-Investitionsentscheidungen in der Lage ist!

Key Takeaways

  • Ein Multi-Agent-KI-System automatisiert die Markttrendanalyse, die Stimmungsbewertung und die Investitionsempfehlungen.
  • Spezialisierte Agenten behandeln Marktdaten, Stimmungsanalyse, quantitative Metriken und Anlagestrategie, die von einem Supervisor -Agenten verwaltet werden.
  • Das System wird mit Langgraph Supervisor, Definieren von Agentenfunktionen, Bereitstellen und Ausführen von Investitionsabfragen erstellt.
  • Der Multi-Agent-Ansatz verbessert die Modularität, Skalierbarkeit, Automatisierung und Genauigkeit der finanziellen Entscheidungsfindung.
  • Integration von Echtzeit-Finanz-APIs, fortschrittlicher Sentimentverfolgung und Portfoliomanagement für ein umfassenderes KI-angetanter Anlagesystem.

Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und werden nach Ermessen des Autors verwendet.

Häufig gestellte Fragen

Q1. Was ist ein Langgraph -Supervisor?

Ans. Langgraph Supervisor ist ein Python Bibliothek, mit der Sie hierarchische Multi-Agent-Systeme erstellen können. Sie können spezialisierte Agenten definieren und einen zentralen Supervisor ihre Interaktionen und Aufgaben orchestrieren lassen.

Q2. Wie entscheidet der Supervisor -Agent, welchen Agenten er aufrufen soll?

Ans. Der Supervisor -Agent verwendet eine Eingabeaufforderung und den Inhalt der Anfrage des Benutzers, um zu bestimmen, welcher Spezialagent die Abfrage erfüllen kann. Wenn eine Abfrage beispielsweise Daten abrufen muss, übergibt der Vorgesetzte sie an einen Marktdatenagenten. Wenn es sich um eine Stimmungsanalyse handelt, delegiert es an den Stimmungsanalyseagent und so weiter.

Q3. Kann ich Echtzeitdaten anstelle der simulierten Beispiele verwenden?

Ans. Ja. Sie können die simulierten Funktionen (wie fetch_market_data) durch tatsächliche API -Aufrufe für Dienste wie Yahoo Finance, Alpha Vantage oder einen anderen Finanzdatenanbieter ersetzen.

This fall. Warum brauchen wir einen Multi-Agent-Ansatz?

Ans. Eine Architektur mit mehreren Agenten ermöglicht es jedem Agenten, sich auf eine spezielle Aufgabe zu konzentrieren (z. B. Marktdatenabruf, Stimmungsanalyse). Dieser modulare Ansatz ist einfacher zu skalieren und zu warten, und Sie können einzelne Agenten wiederverwenden oder ersetzen, ohne das gesamte System zu überarbeiten.

Q5. Wie funktioniert Erinnerung und Gesprächsgeschichte?

Ans. Langgraph Supervisor Kann Gesprächsgeschichte und Agentenreaktionen speichern. Sie können es so konfigurieren, dass vollständige Agent -Transkripte oder nur die endgültigen Antworten verwaltet werden. Für erweiterte Anwendungsfälle können Sie das Kurzzeit- oder Langzeitgedächtnis integrieren, damit Agenten auf frühere Interaktionen verweisen können.

Hallo! Ich bin Adarsh, ein Absolvent der Enterprise Analytics von ISB, der derzeit tief in die Forschung und die Erkundung neuer Grenzen erforscht wird. Ich bin sehr leidenschaftlich für Datenwissenschaft, KI und all die innovativen Möglichkeiten, wie sie Branchen verändern können. Egal, ob es sich um Modelle entwickelt, an Datenpipelines arbeiten oder in maschinelles Lernen eintauchen, ich liebe es, mit der neuesten Technologie zu experimentieren. KI ist nicht nur mein Interesse, sondern dort, wo ich die Zukunft sehe, und ich freue mich immer, ein Teil dieser Reise zu sein!

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert