HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/af/scripts/prd.txt
# PRD: ActionForex Agentic Data Solution

**Version:** 1.5  
**Status:** Implementation Substantially Complete  

## 1. Introduction [ERLEDIGT]
Build a Streamlit-based interface that allows users to interact with an AI agent (powered by the `agno` framework) to query and analyze:
- A remote MySQL database for ActionForex data
- Proprietary CSV files stored on actionforex.com via SFTP

## 2. Goals & Objectives
1. **Unified Data Access:** [ERLEDIGT] Provide a single interface to query ActionForex's MySQL database and retrieve CSV data via SFTP.  
2. **Agentic Analysis:** [ERLEDIGT] Empower the agent to merge, clean, and analyze the combined data.  
3. **Maintainable UI:** [ERLEDIGT] Enforce small, modular Streamlit components (150–250 lines each).  
4. **Secure Integration:** [ERLEDIGT] Ensure secure handling of MySQL and SFTP credentials (e.g., using environment variables or `secrets.toml`).
5. **Data Schema Archiving:** [ERLEDIGT] Maintain a local copy of the database schema for reference and documentation purposes.

## 3. Core Requirements

### 3.1 Functional
1. **MySQL Queries:** [ERLEDIGT] The agent can submit SQL SELECT statements and display results in Streamlit.  
2. **SFTP CSV Retrieval:** [ERLEDIGT] The agent can browse a file listing, select CSVs to download, then view or summarize them.  
3. **Data Processing & Analysis:** [ERLEDIGT] The agent can merge/join/transform data from both MySQL queries and CSVs.  
4. **Visualizations:** [ERLEDIGT] Display data in tables or charts (line, bar, etc.) within Streamlit using Plotly.  
5. **Agentic Interaction:** [ERLEDIGT] A chat-like UI so users can request data or analysis by natural language.  
6. **Strict UI Modularity:** [ERLEDIGT] Each Streamlit component or module remains under 250 lines of code.
7. **Database Schema Export:** [ERLEDIGT] Utility to export the database schema to a local SQL file for reference.

### 3.2 Technical
1. **Python 3.12+** [ERLEDIGT]  
2. **Core Libraries:** [ERLEDIGT] `agno`, `streamlit`, `mysql-connector-python`, `paramiko`, `pandas`, `plotly`.  
3. **Credentials:** [ERLEDIGT] Stored securely in local .env file (no hardcoding). Prefer SSH key-based SFTP auth.  
4. **Error Handling:** [ERLEDIGT] Provide informative feedback when MySQL or SFTP operations fail.  
5. **Logging & Testing:** [ERLEDIGT] Basic logs for connections and operations; unit/integration tests around DB & SFTP tools.
6. **Database Connection Validation:** [ERLEDIGT] Test scripts to validate MySQL connectivity prior to UI operations.

### 3.3 Security
1. **Encrypted Connections:** [ERLEDIGT] Use SSL/TLS for MySQL (if available) and SSH for SFTP.  
2. **SQL Injection Prevention:** [ERLEDIGT] Use parameterized queries for user-submitted SQL.  
3. **Credential Management:** [ERLEDIGT] Rely on environment variables or `secrets.toml` for DB/SFTP credentials.  
4. **File Handling:** [ERLEDIGT] Store downloaded CSVs temporarily with restricted permissions; remove when done.

### 3.4 Data Initialization & Maintenance
1. **SFTP Data Sourcing:** [ERLEDIGT] One-time command-line utility to download CSV data files from SFTP server.
2. **Database Schema Documentation:** [ERLEDIGT] Utility to export the database structure to a SQL file for documentation.
3. **Connection Testing:** [ERLEDIGT] Test scripts to validate both MySQL and SFTP connectivity.

## 4. User Flow
1. **Open Application:** [ERLEDIGT] Launched via a task/command in Cursor or VSCode.  
2. **Enter Prompt/Query:** [ERLEDIGT] User types a natural-language request.  
3. **Agent Processing:** [ERLEDIGT] The `agno` agent decides which tools to call (MySQL or SFTP) and fetches or merges data.  
4. **Data Display:** [ERLEDIGT] The user sees the results (table, chart, text summary) in the Streamlit UI.  
5. **Refine or Repeat:** [ERLEDIGT] User can refine their query or ask a new question in the chat.

## 5. Future Considerations
- **Advanced Analytics:** [ERLEDIGT] Integrated time-series forecasting, statistical analysis capabilities, and specialized agents. 
- **Scalable Deployment:** [OFFEN] Potentially run the agent as a separate service if usage grows.  
- **User Auth:** [OFFEN] If a broader audience needs access, implement authentication to protect data sources.
- **Schema Evolution:** [OFFEN] Track changes to database schema over time.

## 6. Implementierungsfortschritt

### Erledigte Komponenten:
- MySQL Datenbankverbindung und -abfrage in `src/database/connection.py` und `src/database/operations.py`
- SFTP-Verbindung und -operationen in `src/sftp/connection.py` und `src/sftp/operations.py`
- Verbindungstests in `scripts/test_connections.py`
- Datenbank-Schema-Export-Dienstprogramm in `scripts/export_db_schema.py`
- AI-Agent mit Tool-Unterstützung in `src/ai/agent.py`
- Datenverarbeitungs- und Analysetools in `src/ai/tools.py`
- Visualisierungskomponenten in `src/ui/visualizations.py` und `src/ui/forex_charts.py`
- Streamlit-Chat-Benutzeroberfläche in `src/app.py`
- Integration in Market Intelligence Suite mit spezialisierten Agenten
- Sentiment-Analyse für Forex-Nachrichten und Kommentare in `src/ai/sentiment_analysis.py`

### Datenverarbeitungsfunktionen:
- **In-Memory-Datenspeicherung**: Speichern von SQL- und CSV-Daten unter benutzerdefinierten Namen
- **Datenmanipulation**: Tools zum Zusammenführen (merge), Filtern und Transformieren von Datensätzen
- **Dateninspektion**: Anzeigen von gespeicherten Datensätzen, Beschreibung deren Struktur

### Visualisierungsfunktionen:
- **Plotly-Integration**: Erstellung von interaktiven Diagrammen (Linien, Balken, Punkt, etc.)
- **Spezialisierte Forex-Charts**: [ERLEDIGT] Implementierung von Candlestick, OHLC und technischen Charts mit Indikatoren
- **Visuelle Analysen**: Spezialisierter Agent für Visualisierungsanfragen

### Implementierte Advanced Analytics:
- **Zeit-Reihen-Analyse**: Implementierung von Zeit-Reihen-Zerlegung, Stationaritätstests und Saisonalitätserkennung
- **Prognosemodelle**: ARIMA-basierte Vorhersagen mit Konfidenzintervallen für Finanz- und Wirtschaftsdaten
- **Statistikfunktionen**: Umfassende statistische Analysen mit Korrelationen, Ausreißererkennung und Verteilungsanalyse
- **ForexMarketIntelligenceAgent**: [ERLEDIGT] Spezialisierter Agent für Echtzeit-Forex-Marktinformationen
  - Integration mit Agno DuckDuckGoTools für aktuelle Marktdaten
  - Kontextbewusste Antworten, die die ActionForex-Plattform berücksichtigen
  - Fokus auf Währungspaare, wirtschaftliche Indikatoren und Marktsentiment
  - Teil des koordinierten Analytics-Teams für umfassende Forex-Analysen
- **Sentiment-Analyse**: [ERLEDIGT] Analyse von Forex-Markt-Nachrichten und Kommentaren
  - Kategorisierung nach bullish, bearish, neutral und uncertainty
  - Erkennung von Währungspaaren in Textinhalten
  - Quantitative Sentiment-Metrik mit Konfidenzwerten
  - Batch-Analyse und Generierung von Sentiment-Zusammenfassungen

### Nächste Schritte:
1. **Erweiterte Marktintelligenz**: Verbesserung der Forex Market Intelligence mit:
   - Integration weiterer Datenquellen für Finanzmarktnachrichten
   - Automatische Erkennung und Benachrichtigung bei wichtigen Marktbewegungen
2. **Optimierung**: Feinabstimmung der Agenten und Verbesserung der Benutzeroberfläche.
3. **Erweiterte Tests**: Durchführen umfassenderer End-to-End-Tests mit komplexen Abfrageszenarien.

## 7. Market Intelligence Suite Spezialisierte Agenten

Die Market Intelligence Suite nutzt spezialisierte Agenten für spezifische Analyseaufgaben:

### StatisticalAnalysisAgent [ERLEDIGT]
- Umfassende statistische Analyse von Daten
- Identifizierung von Korrelationen und Verteilungsmerkmalen
- Erstellung statistischer Visualisierungen und Interpretationen
- Ausgabe von Ausreißern, starken Korrelationen und ungewöhnlichen Verteilungen
- Nutzung der Toolbox-Funktionen für statistische Analysen

### TimeSeriesAgent [ERLEDIGT]
- Spezialisiert auf Zeitreihenanalyse und -prognose
- Identifizierung von Trends, Saisonalität und Anomalien
- Generierung von Prognosen mit Konfidenzintervallen
- Erklärung von Stationarität und ihrer Bedeutung für die Zeitreihenmodellierung
- Visualisierung von historischen Mustern und Prognosen

### DataTransformationAgent [ERLEDIGT]
- Ausführung komplexer Datentransformationen
- Aggregation, Filterung und Zusammenführung von Datensätzen
- Vorbereitung von Daten für weiterführende Analysen
- Verständnis der aktuellen Datenstruktur vor der Transformation
- Überprüfung von Spaltennamen und Datentypen für Operationen

### ForexMarketIntelligenceAgent [ERLEDIGT]
- Echtzeit-Forex-Marktinformationen und -analysen
- Fokus auf Währungspaare, Wirtschaftsindikatoren und Marktsentiment
- Integration mit der ActionForex-Plattform
- Nutzung der DuckDuckGo-Suche für aktuelle Marktdaten
- Integration mit dem Sentiment-Analyse-Tool für quantitative Sentiment-Metriken

### AnalyticsTeam [ERLEDIGT]
- Koordiniertes Team der spezialisierten Agenten
- Gemeinsame Bearbeitung komplexer Forex-Analyseaufgaben
- Kombination von statistischen, Zeitreihen- und Marktdaten für umfassende Einblicke
- Koordinierter Arbeitsablauf zwischen den verschiedenen Agenten
- Nutzung aller verfügbaren Werkzeuge für umfassende Forex-Analysen

## 8. Forex-Visualisierungen

### ForexChartCreator [ERLEDIGT]
- Implementierung einer spezialisierten Klasse für Forex-Charts in `src/ui/forex_charts.py`
- Unterstützung von Standard-Diagrammtypen:
  - **Candlestick-Charts**: Darstellung von OHLC-Daten mit farbkodierten Kerzen
  - **OHLC-Charts**: Traditionelle Open-High-Low-Close-Darstellung
  - **Technische Charts**: Integration mehrerer technischer Indikatoren
- Implementierte technische Indikatoren:
  - **Gleitende Durchschnitte (MA)**: Berechnung und Anzeige für verschiedene Perioden
  - **Relative Strength Index (RSI)**: Mit Überverkauft/Überkauft-Linien
  - **Moving Average Convergence Divergence (MACD)**: Mit Signallinie und Histogramm
  - **Volumen**: Farbkodierte Volumenbalken basierend auf Preisbewegungen
- Anpassbare Layouts und Farbschemata
- Subplots für verschiedene Indikatoren
- Convenience-Funktionen für einfache API-Nutzung

### Integration mit AI-Toolbox [ERLEDIGT]
- `create_forex_chart` Tool in der ToolBox-Klasse
- Ermöglicht Agenten die einfache Erstellung spezialisierter Forex-Charts
- Optionen zur Datenformatierung und Diagrammanpassung

## 9. Sentiment-Analyse

### ForexSentimentAnalyzer [ERLEDIGT]
- Implementierung einer spezialisierten Klasse für Forex-Sentiment-Analyse in `src/ai/sentiment_analysis.py`
- Enthält umfangreiche Sentiment-Wörterbücher für Finanzterminologie:
  - **Bullish Terms**: Wörter und Phrasen mit positiver Marktaussicht
  - **Bearish Terms**: Wörter und Phrasen mit negativer Marktaussicht
  - **Neutral Terms**: Sachliche oder ausgeglichene Finanzterminologie
  - **Uncertainty Terms**: Begriffe, die Unsicherheit oder Volatilität anzeigen
- Schlüsselfunktionen:
  - **Erkennung von Währungspaaren**: Automatische Identifizierung von Währungspaaren in Texten
  - **Textanalyse**: Berechnung von Sentiment-Scores mit Konfidenzwerten
  - **Batch-Analyse**: Verarbeitung mehrerer Texte in einem Durchgang
  - **Zeitbasierte Analyse**: Analyse von Sentiment-Trends über die Zeit
  - **Währungspaar-spezifisches Sentiment**: Fokussierte Analyse für bestimmte Währungspaare
- Integration mit dem ForexMarketIntelligenceAgent
- Tool `analyze_forex_sentiment` in der ToolBox-Klasse für Agentennutzung

### Integrierte Sentiment-Metriken [ERLEDIGT]
- Quantitative Bewertung von Marktstimmungen
- Prozentuale Verteilung von bullish, bearish und neutral
- Konfidenzwerte für Sentiment-Scores
- Trend-Analyse für zeitbasierte Sentiment-Daten

## 10. Erfolgskriterien und Metriken

Um den Erfolg der Market Intelligence Suite zu messen, werden folgende Metriken verwendet:

### Leistungsmetriken:
- **Antwortzeit**: Durchschnittliche Zeit für Agentenantworten < 5 Sekunden
- **Verarbeitungsdauer**: Zeit für komplexe Analysen < 30 Sekunden
- **Speichernutzung**: Maximale Speichernutzung pro Sitzung < 1 GB

### Genauigkeitsmetriken:
- **Vorhersagegenauigkeit**: MAPE (Mean Absolute Percentage Error) < 5% für Forex-Vorhersagen
- **Erfolgsrate bei Abfragen**: > 90% erfolgreiche Durchführung von Benutzeranfragen
- **Datenretrievalgenauigkeit**: > 95% Übereinstimmung zwischen Agentenabfrage und tatsächlichen Datenanforderungen
- **Sentiment-Analysegenauigkeit**: > 85% Übereinstimmung mit menschlichen Analysten

### Benutzererfahrungsmetriken:
- **Benutzerzufriedenheit**: > 4,5/5 in Benutzerbewertungen
- **Wiederholungsrate**: > 80% der Benutzer kehren innerhalb einer Woche zurück
- **Durchschnittliche Sitzungsdauer**: > 10 Minuten

### Geschäftsmetriken:
- **Funktionsnutzung**: > 70% der implementierten Funktionen werden regelmäßig genutzt
- **Reduzierung der manuellen Analysezeit**: > 40% Zeitersparnis für Forex-Analysten
- **Steigerung der Benutzerinteraktion**: > 30% Anstieg der Benutzerinteraktionen auf der ActionForex-Plattform

Diese Metriken werden über ein Dashboard überwacht und monatlich ausgewertet, um kontinuierliche Verbesserungen zu steuern.

## 11. Implementierungsplan für kommende Funktionen

Dieser Abschnitt beschreibt den detaillierten Plan für die Implementierung der nächsten Funktionen:

### Phase 1: Erweiterte Forex Market Intelligence [GEPLANT FÜR Q2 2025]

1. **Erweiterte Datenquellen-Integration**:
   - Integration mit spezialisierten Finanznachrichtenquellen
   - Entwicklung von Adaptern für zusätzliche Marktdaten-APIs
   - Implementierung in `src/ai/data_sources/`

2. **Automatisierte Marktbenachrichtigungen**:
   - Entwicklung eines Überwachungssystems für wichtige Marktbewegungen
   - Integration mit dem ActionForex-Benachrichtigungssystem
   - Implementierung in `src/ai/market_alerts.py`

### Phase 2: Visualisierungsverbesserungen [GEPLANT FÜR Q3 2025]

1. **Erweiterte Forex-Diagramme**:
   - Entwicklung weiterer technischer Indikatoren (Bollinger Bands, Fibonacci)
   - Integration von heatmaps für Korrelationsanalysen
   - Verbesserungen in `src/ui/forex_charts.py`

2. **Interaktive Dashboards**:
   - Erstellung von vorkonfigurierten Dashboards für gängige Analysen
   - Benutzerdefinierte Dashboard-Erstellung
   - Implementierung in `src/ui/dashboards/`

### Phase 3: Infrastrukturoptimierung [GEPLANT FÜR Q4 2025]

1. **Performance-Optimierung**:
   - Caching-Strategien für häufige Abfragen
   - Optimierung der Agenten-Initialisierungszeit
   - Implementierung in `src/utils/cache.py`

2. **Skalierbarkeit**:
   - Entwicklung eines separaten Agenten-Dienstes für bessere Skalierbarkeit
   - Load Balancing für mehrere Benutzeranfragen
   - Implementierung in `src/services/`