Melchior Reimers 5bd48d0085
Some checks failed
Deployment / deploy (push) Failing after 45s
entered content
2026-01-23 16:40:33 +01:00
2026-01-23 16:40:33 +01:00
2026-01-23 16:30:35 +01:00
2026-01-23 16:30:35 +01:00
2026-01-23 16:30:35 +01:00
2026-01-23 16:30:35 +01:00
2026-01-23 16:30:35 +01:00
2026-01-23 16:30:35 +01:00

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
No description provided
Readme 130 KiB
Languages
HTML 55.6%
Python 43.7%
Dockerfile 0.7%