Zurück zu Software Solutions
    Case Study · Produktionsplattform

    Gridmatic,
    vom Skript zur Plattform.

    Gridmatic ist eine Multi-Tenant-Trading-Plattform für Prop Firms, betrieben von Block Research. Sie betreibt isolierte Python-Signal-Runtimes für Dutzende Trader, streamt Live-OHLCV in einen browser-nativen TradingView-Datafeed und führt Orders gegen Kraken in Produktion aus.

    Direkt vom Betreiber.

    Die Plattform aus dieser Case Study, eingeordnet von der Person, die sie jeden Tag betreibt. Zwei Minuten von Emilio, in seinen eigenen Worten.

    Emilio Alvarado
    Gridmatic

    Prop Firms haben ihre Trading-Bots aus einem einzigen geteilten Skript gefahren.

    Jede Strategieänderung hieß, das ganze System neu zu deployen. Ein schlechter Commit gefährdete alle Trader auf der Plattform gleichzeitig.

    Runtimes waren geteilt. Eine festgefahrene Strategie hat allen anderen um 3 Uhr nachts CPU, RAM und Aufmerksamkeit weggenommen.

    Es gab keinen sauberen Weg, eine einzelne Runtime zu stoppen, zu inspizieren oder zu auditieren. Trader haben in Produktion mit console.log debuggt.

    Timo und das Block-Research-Team sind bei vyn premium und SignalPipe schon in dieselben Probleme gelaufen. Wir haben den Stack so neu gebaut, wie ihn Operatoren wollen, nicht wie ihn eine Agentur ausliefern würde.

    Jede Schicht hat einen Grund.

    Das folgende Diagramm zeigt den Weg, den ein Signal von den Marktdaten bis zur Orderausführung nimmt. Keine Schicht ist aus Mode eingebaut.

    1TradingView-Datafeed

    Eigene REST- und WebSocket-Handler liefern Live-OHLCV-Bars an einen browser-nativen TradingView-Chart. Trader behalten die Charting-UX, die sie schon kennen.

    2Python-Signal-Worker

    Ein Kubernetes-Pod pro Runtime. Jede Strategie lebt in ihrem eigenen Container, mit eigener CPU, eigenem RAM und eigenem Crash-Loop-Verhalten. Stoppen, Neustart, Ersatz sind Einzel-Pod-Operationen.

    3TimescaleDB

    Hypertables, dimensioniert für Millionen Signale. Zeitbereichs-Queries antworten in zweistelligen Millisekunden, also fühlen sich Runtime-Switcher und Positions-Ladder sofort an.

    4React-Dashboard

    Operator-Ansicht: Signal-Heatmap, Runtime-Switcher, Positions-Ladder, Pod-Logs. Mit React + Vite gegen dieselben APIs gebaut, die die Runtimes konsumieren.

    5WireGuard-Tunnel

    Operatoren und Engineers erreichen das Cluster über ein privates WireGuard-VPN. Kein öffentliches SSH, keine offene Admin-Ebene, keine überraschenden Brute-Force-Versuche.

    6Hetzner EU

    Fünf dedizierte Server in Deutschland. Europäische Datenresidenz und ungefähr ein Drittel der Kosten des AWS-Pendants bei gleichem Headroom.

    TradingView datafeed → Python signal workers (K8s) → TimescaleDB → React dashboard → WireGuard tunnel → Hetzner EU

    Oberflächen, gebaut für echte Prop-Firm-Workflows.

    Screenshots folgen, frag Timo für den aktuellen Build.

    Screenshot
    Signal-Heatmap
    Jede Runtime, jedes Symbol, jedes Signal eingefärbt nach Regime und Aktualität. Der erste Screen, den ein Operator morgens öffnet.
    Screenshot
    Runtime-Switcher
    Starten, stoppen, neu deployen, inspizieren. Ein Pod nach dem anderen, ohne den Rest der Plattform mitzureißen.
    Screenshot
    Positions-Ladder
    Live-Positionen pro Runtime, mit Fill-Preisen, Ladder-Tiefe und der exakten Safety-Order-Stufe, die zuletzt ausgelöst hat.

    Vier Entscheidungen, die wir wieder treffen würden.

    1

    Kubernetes pro Runtime

    Jeder Trader läuft in seinem eigenen Pod. Ein Crash in einer Runtime kaskadiert nicht. Stop, Restart und Ressourcengrenzen sind nativ, nicht nachträglich drangeklebt.

    2

    TimescaleDB

    Bereichs-Queries über Millionen Signale antworten in Millisekunden. Dieselbe Datenbank trägt Runtime-Historie, Signal-Heatmap und interne Analytics-Views.

    3

    TradingView-Datafeed

    Trader lesen ohnehin TradingView-Charts. Wir haben einen eigenen Datafeed-Adapter gebaut, damit wir sie dort abholen, wo sie sind, statt sie eine neue Charting-Bibliothek lernen zu lassen.

    4

    Hetzner plus WireGuard

    Europäische Datenresidenz, rund ein Drittel der AWS-Kosten für denselben Headroom und eine private WireGuard-Ebene, damit Operatoren kein öffentliches SSH brauchen.

    Was echtes Ausliefern uns beigebracht hat.

    Ausliefern schlägt Demos.

    Eine Demo überlebt ein Meeting. Ein Produktionssystem überlebt einen Trader, der um 4 Uhr nachts die falsche Config einfügt. Jede Designentscheidung in Gridmatic wurde für den zweiten Fall getroffen.

    Latenzbudgets sind nicht optional.

    Wenn echtes Kapital an einem Datafeed hängt, ist p95-Latenz keine schöne Kennzahl. Sie steuert Architektur: Welche Datenbank, welcher Broker, welche Region, welcher Netzwerkpfad.

    Observability ist ein Tag-eins-Default.

    Wir kleben Logs und Dashboards nicht nach dem Launch an. Loki, Grafana, strukturiertes Logging und Runbooks sind im ersten Deploy verdrahtet, damit wir Live-Probleme ohne Raten diagnostizieren.

    Wollt ihr diesen Stack für euer Team?

    Wir machen einen kurzen Discovery-Call, mappen die Plattform, die ihr braucht, und kalkulieren sie als Festpreis-Build. Kein Sales-Deck, keine Retainer-Falle.