47a8ceab327e97efbc967f1f9fddfe9105ff62ca
All checks were successful
Deployment / deploy-docker (push) Successful in 4s
Trading Data Daemon
Ein modularer Daemon zum Herunterladen und Speichern von Handelsdaten von verschiedenen Börsen in einer Time-Series-Datenbank.
Unterstützte Exchanges
- European Investor Exchange (EIX): Lädt tägliche Kursblatt-CSVs herunter.
- Lang & Schwarz (LS): Fragt die heutigen Trades über deren JSON/CSV-RPC ab.
Architektur
src/exchanges/base.py: Basisklasse für neue Börsen (einfach erweiterbar).src/database/questdb_client.py: Speichert Daten in QuestDB via Influx Line Protocol (ILP).daemon.py: Der Orchestrator, der die Daten abruft und speichert.
Installation und Setup
1. QuestDB (Timeseries DB) starten
Am einfachsten via Docker Compose:
docker-compose up -d
QuestDB ist dann unter http://localhost:9000 erreichbar.
2. Python Abhängigkeiten installieren
pip install -r requirements.txt
3. Systemd Service einrichten
Kopiere die Dateien nach /etc/systemd/system/:
sudo cp systemd/trading-daemon.service /etc/systemd/system/
sudo cp systemd/trading-daemon.timer /etc/systemd/system/
Pfade in trading-daemon.service müssen ggf. angepasst werden (aktuell auf /Users/melchiorreimers/... gesetzt).
Dienste aktivieren:
sudo systemctl daemon-reload
sudo systemctl enable --now trading-daemon.timer
4. Manuell testen
python3 daemon.py
Erweiterung
Um eine neue Börse hinzuzufügen, erstelle einfach eine neue Klasse in src/exchanges/, die von BaseExchange erbt und implementiere fetch_latest_trades(). Füge sie dann in daemon.py zur Liste hinzu.
Description
Languages
HTML
55.6%
Python
43.7%
Dockerfile
0.7%