Dieses Projekt bietet einen vielseitigen Rahmen für die Stimmungsanalyse von Börsendaten, führt Backtesting mit Backtrader durch und nutzt generative KI-Modelle wie OpenAI, Llama und Transformers Pipeline für die Stimmungsdatenanalyse. Es umfasst Funktionen zum Herunterladen von Aktiendaten von Yahoo Finance, zum Abrufen von Börsennachrichtendaten mithilfe von Alpaca-APIs, zur Vorverarbeitung von Stimmungsdaten und zur Durchführung von Backtests mit anpassbaren Strategien. Die Integration fortschrittlicher Sprachmodelle verbessert den Stimmungsanalyseprozess und ermöglicht ein differenzierteres Verständnis der Marktstimmung.
Ziel dieses Projekts ist es, einen optimierten Arbeitsablauf für die Analyse der Börsenstimmung und das Backtesting von Handelsstrategien bereitzustellen. Es nutzt Backtrader zum Backtesting und yfinance zum Herunterladen von Aktiendaten.
requirements.txt
aufgeführte Abhängigkeiten Klonen Sie das Repository:
git clone https://github.com/your-username/stock-sentiment-backtesting.git
cd stock-sentiment-backtesting
Erstellen Sie eine virtuelle Umgebung (optional, aber empfohlen):
python -m venv venv
Aktivieren Sie die virtuelle Umgebung:
Unter Windows:
venv S cripts a ctivate
Unter macOS/Linux:
source venv/bin/activate
Abhängigkeiten installieren:
pip install -r requirements.txt
Bearbeiten Sie die Konfigurationsparameter in main.py
um den Bestand, den Datumsbereich und andere Einstellungen für Ihre Analyse anzupassen.
STOCK_TICKER = 'AAPL'
START_DATE = '2022-03-21'
END_DATE = '2022-12-31'
SENTIMENT_DATA_PATH = 'data/stock_sentiment_data.csv'
Führen Sie das Hauptskript aus, um den Backtest auszuführen:
python main.py
Die Backtest-Ergebnisse, einschließlich Leistungsmetriken, werden in der Konsole angezeigt.
algotrading-sentimentanalysis-genai/
├── alpaca/
│ └── client.py
├── data/
│ └── stock_sentiment_data.csv
│ └── ...
├── llms/
│ └── llama_llm.py
│ └── openai_llm.py
├── processor/
│ └── stock_data_processor.py
├── runner/
│ └── backtest_runner.py
├── sentiment_analysis/
│ └── sentiment_analysis_pipeline.py
├── strategies/
│ └── technical_only_strategy/
│ └── technical_with_sentiment_strategy/
├── output/
│ └── ...
├── .gitignore
├── README.md
├── requirements.txt
├── main.py
└── venv/
└── ...
Installieren Sie die Alpaca Python-Bibliothek:
pip install alpaca-trade-api
Verwenden Sie den API-Schlüssel in Ihrem Code:
from alpaca_trade_api import REST
alpaca_api_key = "YOUR_API_KEY"
alpaca_secret_key = "YOUR_SECRET_KEY"
rest_client = REST ( alpaca_api_key , alpaca_secret_key )
Installieren Sie die offizielle OpenAI-Bibliothek:
pip install openai
Legen Sie Ihren API-Schlüssel als Umgebungsvariable fest:
export OPENAI_API_KEY= " YOUR_API_KEY "
Alternativ können Sie es auch direkt in Ihrem Code angeben:
import openai
openai . api_key = "YOUR_API_KEY"
Installieren Sie die erforderlichen Bibliotheken:
pip install transformers
Legen Sie Ihr Hugging Face-Token als Umgebungsvariable fest:
export HF_ACCESS_TOKEN= " YOUR_TOKEN "
Seien Sie vorsichtig beim Umgang mit API-Schlüsseln und Token. Vermeiden Sie es, sie in öffentlichen Repositories verfügbar zu machen oder sie ohne angemessene Sicherheitsmaßnahmen weiterzugeben.
Fügen Sie diese Informationen gerne in Ihre README-Datei ein, um umfassende Einrichtungsanweisungen zu erhalten.
main.py: Enthält das Hauptskript zum Ausführen von Backtests und zur Strategiedefinition.
data: Verzeichnis zum Speichern von Datendateien, einschließlich Aktien- und Stimmungsdaten.
Ausgabe: Verzeichnis zum Speichern von Backtest-Ergebnissen und Diagrammen.
llms: Enthält OpenAI- und Llama-Clients für die Stimmungsanalyse.
Prozessor: Enthält einen Aktiendatenprozessor zur Vorverarbeitung von Börsennachrichten und Stimmungsdaten.
Runner: Enthält die Backtest-Runner-Klasse für Backtests mit Cerebro und Backtrader.
sentiment_analysis: Enthält eine Transformer-Pipeline für die Stimmungsanalyse von Nachrichtendaten.
Strategien: Enthält Code für reine technische Strategien und technische Strategien mit Stimmungsanalyse.
.gitignore: Gibt Dateien und Verzeichnisse an, die von der Versionskontrolle ignoriert werden sollen.
README.md: Projektdokumentation.
Anforderungen.txt: Liste der Python-Abhängigkeiten.
Beiträge sind willkommen! Bitte beachten Sie die Beitragsrichtlinien.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der LIZENZ-Datei.