Allgemeine Einführung
Qlib ist eine von Microsoft entwickelte Open-Source-Plattform, die sich auf den Einsatz von KI-Technologie konzentriert, um den Nutzern bei der Erforschung quantitativer Investitionen zu helfen. Sie beginnt mit der grundlegenden Datenverarbeitung und unterstützt die Nutzer bei der Erforschung von Investitionsideen und deren Umsetzung in brauchbare Strategien. Die Plattform ist einfach zu bedienen und eignet sich für Nutzer, die ihr Investment-Research mit maschinellem Lernen verbessern wollen. qlib bietet Funktionen für Datenmanagement, Modelltraining und Backtesting und deckt damit den gesamten Prozess des quantitativen Investments ab. Es wurde vom Microsoft Research Team entwickelt und beinhaltet die neuesten KI-Technologien, um komplexe Finanzdaten zu verarbeiten. Qlib, das derzeit auf den 25. März 2025 datiert ist, wird auf GitHub kontinuierlich aktualisiert und hat eine aktive Community, die viele Entwickler anzieht.
Funktionsliste
- Datenverarbeitung: Unterstützt die effiziente Speicherung und Verarbeitung von Finanzdaten für schnellen Zugriff und Analysen.
- Modellschulung: Bietet eine breite Palette von Modellen des maschinellen Lernens, wie z. B. überwachtes Lernen und Verstärkungslernen, um die Vorhersage von Markttrends zu unterstützen.
- Backtesting-Tool: Eingebaute Backtesting-Funktion, um die Performance von Anlagestrategien zu simulieren und die Wirksamkeit zu bewerten.
- Generierung von Anlagestrategien: Optimieren Sie Ihre Handelsentscheidungen, indem Sie aus Signalen Zielportfolios generieren.
- Anpassbares Modul: Die Nutzer können Modelle und Strategien an ihre individuellen Bedürfnisse anpassen.
- Online- und Offline-Modus: Unterstützung der lokalen Bereitstellung oder gemeinsamer Datendienste, flexible Wahl der Nutzung.
Hilfe verwenden
Einbauverfahren
Qlib muss in einer Umgebung installiert werden, die Python unterstützt. Hier sind die detaillierten Schritte:
- Vorbereiten der Umgebung
- Stellen Sie sicher, dass Python auf Ihrem Computer installiert ist (3.7 oder 3.8 empfohlen). Dies kann geschehen mit
<code>python --version</code>
Überprüfen Sie die Version. - Es wird empfohlen, die Anaconda-Verwaltungsumgebung zu verwenden. Nachdem Sie Anaconda heruntergeladen und installiert haben, erstellen Sie eine neue Umgebung:
conda create -n qlib_env python=3.8
- Aktivieren Sie die Umwelt:
conda activate qlib_env
- Stellen Sie sicher, dass Python auf Ihrem Computer installiert ist (3.7 oder 3.8 empfohlen). Dies kann geschehen mit
- Installation von Abhängigkeiten
- Installieren Sie zunächst die Basisbibliothek:
pip install numpy pip install --upgrade cython
- Installieren Sie Qlib von GitHub:
git clone https://github.com/microsoft/qlib.git cd qlib pip install .
- Wenn Sie Funktionen entwickeln müssen, können Sie die
<code>pip install -e .[dev]</code>
.
- Installieren Sie zunächst die Basisbibliothek:
- Daten erhalten
- Download von Beispieldaten (für den chinesischen Markt):
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
- Die Daten werden zur späteren Verwendung im Benutzerverzeichnis gespeichert.
- Download von Beispieldaten (für den chinesischen Markt):
Verwendung der wichtigsten Funktionen
Datenverarbeitung
Die Datenverarbeitung von Qlib ist schnell und kann die Finanzdaten in ein für die Analyse geeignetes Format bringen. Nach Ausführung des obigen Befehls zum Herunterladen der Daten werden diese automatisch in der Datei <code>~/.qlib/qlib_data/cn_data</code>
Sie können die Daten mit einem Python-Skript laden. Sie können die Daten mit einem Python-Skript laden:
import qlib
qlib.init(provider_uri="~/.qlib/qlib_data/cn_data")
from qlib.data import D
instruments = D.instruments(market="csi300")
data = D.features(instruments, ["$close", "$volume"], start_time="2023-01-01", end_time="2025-03-25")
print(data.head())
Dieser Code zeigt den Schlusskurs und das Volumen der angegebenen Aktie an.
Modellschulung
Qlib unterstützt eine Vielzahl von Modellen, wie z.B. LightGBM. Hier sind die Schritte zum Trainieren eines einfachen Modells:
- Konfigurieren Sie den Datensatz und die Modellparameter, speichern Sie als
<code>workflow_config.yaml</code>
::dataset: class: DatasetH module_path: qlib.data.dataset kwargs: handler: class: Alpha158 module_path: qlib.contrib.data.handler segments: train: ["2023-01-01", "2024-01-01"] valid: ["2024-01-02", "2024-06-30"] test: ["2024-07-01", "2025-03-25"] model: class: LGBModel module_path: qlib.contrib.model.gbdt
- Führen Sie den Trainingsbefehl aus:
qrun workflow_config.yaml
- Wenn das Training abgeschlossen ist, wird das Modell im Standardpfad
<code>~/.qlib/qlib_data/models</code>
.
Backtesting-Tools
Beim Backtesting wird die Wirksamkeit der Strategie getestet. Führen Sie einen Backtest mit dem folgenden Code durch:
from qlib.contrib.strategy import TopkDropoutStrategy
from qlib.backtest import backtest
strategy = TopkDropoutStrategy(topk=10, drop=2)
report = backtest(strategy=strategy, start_time="2024-01-01", end_time="2025-03-25")
print(report)
<code>topk=10</code>
Zeigt die 10 wichtigsten Aktien an.<code>drop=2</code>
Zeigt an, dass die 2 Aktien mit der schlechtesten Performance jeden Tag aussortiert werden.
Die Ergebnisse zeigen Rendite- und Risikoindikatoren.
Featured Function Bedienung
Online-Modus
Qlib unterstützt den Online-Modus, bei dem Daten über den Qlib-Server ausgetauscht werden:
- Qlib-Server installieren:
git clone https://github.com/microsoft/qlib-server.git cd qlib-server docker-compose -f docker_support/docker-compose.yaml up -d
- Konfigurieren Sie den Client für die Verbindung mit dem Server:
qlib.init(provider_uri="http://<server_ip>:port")
- Die Daten werden vom Server abgerufen, um die Effizienz zu steigern.
Maßgeschneiderte Strategien
Möchten Sie Ihre eigene Strategie ausprobieren? Vererbung ist möglich <code>WeightStrategyBase</code>
Klasse:
from qlib.contrib.strategy import WeightStrategyBase
class MyStrategy(WeightStrategyBase):
def generate_trade_decision(self, data):
return {stock: 0.1 for stock in data.index[:5]} # 前5只股票平分权重
Testen Sie dann die Ergebnisse mit einem Backtesting-Tool.
Anwendungsszenario
- Individuelle Anlageforschung
Mit Qlib können die Nutzer historische Daten analysieren, ihre Anlageideen testen und Strategien mit höheren Renditen finden. - Team Finanzforschung
Teams können die Modellierungs- und Backtesting-Funktionen von Qlib nutzen, um akademische Theorien schnell auf dem Markt zu validieren. - Pädagogisches Lernen
Studenten können Qlib nutzen, um etwas über quantitative Investitionen, praktische Datenverarbeitung und Modelltraining zu lernen.
QA
- Welche Betriebssysteme werden von Qlib unterstützt?
Windows, macOS und Linux werden unterstützt und laufen, solange Python und die abhängigen Bibliotheken installiert sind. - Woher stammen die Daten?
Die Standarddaten stammen von Yahoo Finance, oder der Benutzer kann sie durch eigene Daten ersetzen. - Brauchen Sie eine Programmiergrundlage?
Grundlegende Python-Kenntnisse sind erforderlich, aber die offizielle Dokumentation und die Beispiele sind ausführlich genug, um auch Anfängern den Einstieg zu ermöglichen.