Einführung

Willkommen bei Spaike – dem professionellen Options-Backtesting-Tool für ambitionierte Trader. Diese Dokumentation erklärt dir alle Funktionen der Plattform im Detail.

Neu hier?

Starte mit dem Abschnitt "Dashboard Übersicht" und arbeite dich durch die Grundlagen. Die Dokumentation ist so aufgebaut, dass jeder Abschnitt auf den vorherigen aufbaut.

Was ist Spaike?

Spaike ist eine webbasierte Plattform zum Backtesten von Options-Strategien. Die Plattform ermöglicht es dir, komplexe Multi-Leg-Strukturen zu definieren und gegen historische Marktdaten zu testen.

Kernkonzepte

Bevor du mit Spaike arbeitest, solltest du die grundlegenden Konzepte verstehen:

Strategie

Eine Strategie ist der oberste Container in Spaike. Sie definiert das Underlying-Symbol (z.B. SPXW für SPX Weekly Options), den Backtest-Zeitraum und globale Einstellungen wie Handelsgebühren. Eine Strategie enthält eine oder mehrere Leg Groups.

Leg Group

Eine Leg Group ist ein Container für zusammengehörige Options-Positionen. Zum Beispiel bildet ein Put Credit Spread eine Leg Group mit zwei Legs (Short Put + Long Put). Leg Groups haben eigene Exit-Regeln wie Stop Loss und Take Profit, die für alle enthaltenen Legs gelten.

Leg

Ein Leg repräsentiert eine einzelne Options-Position innerhalb einer Leg Group. Jedes Leg definiert:

  • Execution Type: Sell (Short) oder Buy (Long)
  • Option Type: Put (P) oder Call (C)
  • Strike-Auswahl: Nach Delta, Prämie oder Offset

Indikator

Indikatoren steuern, wann Trades eröffnet werden. Sie können zeitbasiert sein (z.B. "Jeden Tag um 10:00 Uhr") oder auf Marktdaten basieren (z.B. "Wenn VIX unter 20"). Indikatoren können auch per KI generiert werden.

Backtest Run

Ein Run ist die Ausführung eines Backtests. Dabei wird die Strategie gegen historische Daten getestet. Nach Abschluss stehen detaillierte Statistiken und Charts zur Verfügung.

Unterstützte Underlyings

Spaike unterstützt aktuell folgende Options-Symbole:

Symbol Beschreibung Multiplier
SPXW S&P 500 Weekly Options 100
SPY SPDR S&P 500 ETF Options 100

Dashboard Übersicht

Nach dem Login landest du auf dem Dashboard. Hier siehst du alle deine Strategien als Karten (Cards) angeordnet und kannst direkt auf alle wichtigen Funktionen zugreifen.

Header-Leiste

Die Header-Leiste am oberen Bildschirmrand ist immer sichtbar und enthält:

  • Logo und Titel: Klick darauf kehrt zum Dashboard zurück
  • Theme Toggle: Schaltet zwischen Light und Dark Mode um (wird im Browser gespeichert)
  • Avatar: Zeigt die ersten 2 Buchstaben deines Benutzernamens. Klick öffnet das Dropdown mit Logout-Option

Strategie-Grid

Die Hauptansicht zeigt alle deine Strategien als responsive Karten-Grid. Wenn du noch keine Strategien hast, siehst du einen Empty State mit der Aufforderung, deine erste Strategie zu erstellen.

Strategie-Karte

Jede Strategie wird als Karte dargestellt mit folgenden Elementen:

Element Beschreibung
Name Der Name der Strategie (z.B. "Put Credit Spread Daily")
Symbol-Badge Das Options-Symbol (z.B. SPXW, SPY) als farbiger Badge
Run-Info Zeigt den letzten Run-Status: "queued", "running" (mit Prozent), "done", oder "canceled"
Zeitraum Der Backtest-Zeitraum (z.B. "2020-01-01 bis 2024-12-31")
Leg Groups Anzahl der Leg Groups in der Strategie

Quick-Action Buttons

Oben rechts auf jeder Karte befinden sich Icon-Buttons für schnelle Aktionen:

Icon Aktion Beschreibung
► (Play) Backtest starten Startet einen neuen Backtest-Run für diese Strategie. Der Button ist deaktiviert, wenn bereits ein Run läuft.
■ (Stop) Run abbrechen Bricht einen laufenden oder wartenden Run ab. Nur aktiv, wenn ein Run läuft.
🗐 (Copy) Strategie kopieren Erstellt eine Kopie der Strategie inklusive aller Leg Groups, Legs und Indikatoren. Die Kopie wird mit "(Kopie)" im Namen versehen.
✎ (Edit) Bearbeiten Öffnet ein Modal zum Ändern von Name und Symbol der Strategie.
🗑 (Trash) Löschen Löscht die Strategie nach Bestätigung. Alle zugehörigen Leg Groups, Legs, Runs und Indikatoren werden ebenfalls gelöscht.
Tipp

Klicke auf die Karte selbst (nicht auf die Buttons), um die Strategie-Detailansicht zu öffnen. Dort kannst du Leg Groups, Legs und Indikatoren bearbeiten.

Portfolios-Bereich

Unterhalb des Strategie-Grids befindet sich der Portfolios-Bereich. Hier kannst du:

  • Portfolios erstellen, um mehrere Runs zu kombinieren
  • Aggregierte Statistiken über mehrere Strategien sehen
  • Portfolio-Details und Charts aufrufen

KI-Agent Button

In der unteren rechten Ecke befindet sich ein schwebender Button für den KI-Agenten. Klicke darauf, um den Agenten zu öffnen. Der KI-Agent hat vollen Zugriff auf das gesamte Backtest-System und kann Strategien erstellen, bearbeiten, Backtests starten und Ergebnisse analysieren.

Dark Mode

Der Theme Toggle in der Header-Leiste schaltet zwischen Light Mode und Dark Mode um. Die Einstellung wird im Browser (localStorage) unter dem Schlüssel bbt.ui.theme gespeichert und beim nächsten Besuch automatisch wiederhergestellt.

Strategien – Übersicht

Eine Strategie ist der oberste Container für deine Options-Trades. Sie definiert das Underlying, den Backtest-Zeitraum und enthält eine oder mehrere Leg Groups.

Neue Strategie anlegen

Im Dashboard-Header findest du den Button "Neue Strategie". Klicke darauf, um das Modal zum Erstellen einer neuen Strategie zu öffnen.

Pflichtfelder im Erstellungs-Modal

Feld Beschreibung Beispiel
Strategie Name Ein aussagekräftiger Name für deine Strategie "Put Credit Spread 0DTE"
Underlying Das Options-Symbol (Dropdown-Auswahl) SPXW (Standard)
  1. 1

    Modal öffnen

    Klicke auf "Neue Strategie" im Dashboard-Header.

  2. 2

    Name eingeben

    Gib einen Namen ein, z.B. "Iron Condor Strategy" oder "Put Credit Spread Daily".

  3. 3

    Underlying wählen

    Wähle das Underlying aus dem Dropdown. Standard ist SPXW.

  4. 4

    Speichern

    Klicke auf "Speichern". Die neue Strategie erscheint als Karte im Dashboard.

Wichtig

Nach dem Erstellen ist die Strategie noch leer. Du musst mindestens eine Leg Group mit mindestens einem Leg und einem Indikator hinzufügen, bevor du einen Backtest starten kannst.

Strategie-Detailansicht

Klicke auf eine Strategie-Karte im Dashboard, um die Detailansicht zu öffnen. Diese ist in zwei Bereiche unterteilt:

Linker Bereich: Dynamische Panels

Hier werden die Legs-Panels und Trigger-Panels angezeigt. Diese erscheinen erst, wenn du eine Leg Group auswählst (Legs) oder einen Indikator hast (Triggers).

Rechter Bereich: Accordions

Der rechte Bereich enthält aufklappbare Accordion-Sektionen:

  • Strategy Settings: Globale Einstellungen für die Strategie
  • Leg Groups: Verwaltung der Options-Strukturen
  • Indicators: Verwaltung der Entry-Indikatoren
  • Runs: Übersicht aller Backtest-Runs dieser Strategie

Strategien – Einstellungen

Die Strategy Settings definieren alle globalen Parameter für den Backtest. Öffne das "Strategy Settings" Accordion in der Strategie-Detailansicht, um die Einstellungen zu bearbeiten.

Symbol

Das Symbol legt fest, auf welches Underlying der Backtest läuft. Es kann beim Erstellen der Strategie oder nachträglich über den Edit-Button (Stift-Icon) auf der Strategie-Karte geändert werden.

Wert Beschreibung
SPXW SPX Weekly Options – der S&P 500 Index (wöchentlich ablaufende Optionen). Standard für die meisten 0DTE- und kurzlaufenden Strategien.
SPY SPY – der SPDR S&P 500 ETF. Liquider ETF mit engen Spreads, geeignet für Strategien, die auf ETF-Optionen basieren.

Backtest-Zeitraum

Der Zeitraum legt fest, über welchen historischen Bereich der Backtest läuft. Es müssen Options-Daten für den gewählten Zeitraum und das gewählte Symbol vorhanden sein.

Feld Typ Beschreibung
Backtest Start Date Datum Das Startdatum des Backtests. Der Backtest beginnt ab diesem Tag.
Backtest End Date Datum Das Enddatum des Backtests. Der Backtest läuft bis zu diesem Tag (inklusive).

Trade Fee per Leg ($)

Die Handelsgebühr wird pro Leg und pro Trade-Seite (Entry und Exit) berechnet. Sie simuliert reale Broker-Kosten und wird vom P&L abgezogen.

Beispielrechnung

Bei einem Spread mit 2 Legs und einer Fee von $1.50 pro Leg entstehen 2 Legs × 2 Seiten (Entry + Exit) × $1.50 = $6.00 Gesamtkosten pro Trade.

Use Margin

Aktiviert die Margin-Berechnung für den Backtest. Wenn aktiv, prüft Spaike vor jedem Trade-Einstieg, ob genügend freies Margin für die neue Position vorhanden ist. Ist kein ausreichendes Margin verfügbar, wird kein Trade eröffnet.

Wenn "Use Margin" aktiviert ist, werden folgende Unter-Einstellungen sichtbar:

Einstellung Typ Beschreibung
Margin Value Dezimalzahl ($) Das gesamte Kapital, das der Strategie zu Beginn zur Verfügung steht. Spaike prüft bei jedem neuen Trade, ob genügend freies Margin vorhanden ist.
Scale Contracts based on current capital Toggle Wenn aktiv, wird die Kontraktanzahl nicht fest aus der Leg Group übernommen, sondern dynamisch aus dem aktuell verfügbaren Kapital berechnet. Je mehr freies Kapital vorhanden ist, desto mehr Kontrakte werden gehandelt – und umgekehrt.
Capital Scaling Mode Dropdown Legt fest, wann das skalierte Kapital aktualisiert wird. Daily (next day): Das Kapital wird täglich zum Tagesbeginn neu berechnet – Gewinne und Verluste des Vortages fließen erst am nächsten Tag ein. Intraday (immediately): Das Kapital wird nach jedem abgeschlossenen Trade sofort aktualisiert – Gewinne stehen unmittelbar für neue Positionen zur Verfügung.
Carry Forward Unused Slot Budget Toggle Wenn aktiv und ein früherer Trade am selben Tag bereits geschlossen wurde (z.B. durch Stop Loss oder Take Profit), wird das dadurch freigewordene Kapital für weitere Einstiege am gleichen Tag wieder freigegeben. Wenn deaktiviert, bleibt das Budget-Slot für den Tag blockiert, auch wenn der Trade bereits beendet ist.

Leg Groups – Übersicht

Eine Leg Group ist ein Container für zusammengehörige Options-Positionen. Alle Legs einer Leg Group werden gemeinsam eröffnet, teilen sich die gleiche Expiration und haben gemeinsame Exit-Regeln. Eine Strategie kann mehrere Leg Groups haben – z.B. eine für die Put-Seite und eine für die Call-Seite eines Iron Condors.

Leg Group erstellen

In der Strategie-Detailansicht, öffne das "Leg Groups" Accordion und klicke auf "Leg Group hinzufügen".

Typische Strukturen

Put Credit Spread

2 Legs: Short Put (höherer Strike) + Long Put (niedrigerer Strike). Credit-Strategie mit definiertem Risiko.

Call Credit Spread

2 Legs: Short Call (niedrigerer Strike) + Long Call (höherer Strike). Credit-Strategie auf der Call-Seite.

Iron Condor

2 Leg Groups: Eine für den Put Credit Spread, eine für den Call Credit Spread.

Strangle

2 Legs ohne definiertes Risiko: Short Put + Short Call. Höheres Risiko, höherer Credit.

Leg Groups – Einstellungen

Jede Leg Group hat eigene Parameter, die beim Erstellen oder Bearbeiten gesetzt werden.

Name

Ein beschreibender Name für die Leg Group, z.B. "Put Credit Spread" oder "Iron Condor Put Side".

Contracts

Die Anzahl der Kontrakte, die für alle Legs dieser Leg Group gehandelt werden.

Hinweis: Kapital-Skalierung aktiv

Wenn in den Strategy Settings "Scale Contracts Based on Current Capital" aktiviert ist, wird dieser Wert nicht als absolute Kontraktzahl verwendet, sondern als Faktor. Die tatsächliche Anzahl der Kontrakte wird dann dynamisch aus dem verfügbaren Kapital berechnet.

Min DTE / Max DTE

Parameter Typ Beschreibung
Min DTE Integer Minimale Days to Expiration. Die Option muss mindestens so viele Tage bis zum Verfall haben.
Max DTE Integer Maximale Days to Expiration. Wenn größer 0, wird ein DTE-Bereich gesucht statt eines exakten Wertes. Spaike wählt dann die nächste verfügbare Expiration innerhalb dieses Bereichs.

Exit-Conditions

Exit-Conditions bestimmen, wann alle Legs der Leg Group gemeinsam geschlossen werden. Mehrere Exit-Conditions können gleichzeitig aktiv sein – die Position wird geschlossen, sobald eine der Bedingungen erfüllt ist.

Exit-Condition Parameter Beschreibung
Stop Loss Dezimalzahl (Faktor) Schließt die Leg Group, wenn der aktuelle Spread-Preis das Einstiegs-Credit plus das Faktor-fache des Einstiegs-Credits überschreitet. Formel: Credit + (Faktor × Credit). Beispiel: Faktor 2.0 bei $1.00 Credit → schließt wenn der Preis auf $3.00 steigt ($1.00 + 2.0 × $1.00).
Take Profit Dezimalzahl (Faktor) Schließt die Leg Group, wenn der Gewinn den angegebenen Anteil des Einstiegs-Credits erreicht. Beispiel: Faktor 0.5 bei $1.00 Credit → schließt bei $0.50 Gewinn (50% des Max-Profits).
Early Exit Uhrzeit (HH:MM:SS) Schließt alle Legs der Group zu der angegebenen Uhrzeit, unabhängig vom aktuellen P&L – sofern die Position zu diesem Zeitpunkt noch offen ist.
In the Money Protection Uhrzeit (HH:MM:SS) Schließt die Leg Group zu der angegebenen Uhrzeit, wenn mindestens ein Leg In-the-Money ist. Dient als Schutz vor Zuweisung oder starker ITM-Bewegung kurz vor Marktschluss.
DSL Exit JSON (DSL) Exit-Bedingung über eine Domain Specific Language (DSL) in JSON-Format. Ermöglicht komplexe, programmierbare Exit-Logik, die über einfache Faktoren hinausgeht – z.B. kombinierte Bedingungen aus Zeit, Preis und Indikatorwerten.
Value Based Exit Konfigurierbar Exit-Bedingung basierend auf konfigurierten Indikator-Werten. Der Trade wird geschlossen, wenn ein definierter Indikatorwert einen bestimmten Schwellwert erreicht oder überschreitet.
Exit-Modus: Leg Group vs. Leg

Exit-Conditions können entweder auf Leg Group-Ebene oder auf Leg-Ebene gesetzt werden – nicht beides gleichzeitig. Die UI prüft dies beim Speichern und sperrt widersprüchliche Felder automatisch.

Slippage

Wenn die Leg Group durch eine Exit-Condition (z.B. Stop Loss oder Early Exit) vorzeitig geschlossen wird, wird der hier angegebene Slippage-Betrag bei jedem Schließen vom Preis abgezogen. Dieser Wert simuliert die Abweichung zwischen dem theoretischen Schlusskurs und dem tatsächlich erzielten Preis in der Praxis.

Erweiterte Optionen

Entry Filter

Der Entry Filter ermöglicht es, Einstiege der Leg Group nach dem Gesamt-Premium (Credit) zu filtern. Wenn der erhaltene Credit beim Einstieg außerhalb des definierten Min/Max-Bereichs liegt, wird der Trade nicht eröffnet. So lassen sich schlechte Marktbedingungen herausfiltern.

Parameter Beschreibung
Min Premium Minimaler Credit-Betrag beim Einstieg. Liegt der erhaltene Credit darunter, wird kein Trade eröffnet.
Max Premium Maximaler Credit-Betrag beim Einstieg. Liegt der erhaltene Credit darüber, wird kein Trade eröffnet.

Use High, Low and NBBO Extreme

Steuert, welche Preisdaten für die Überprüfung von Stop Loss und Take Profit herangezogen werden. Erklärung dieser Einstellungen folgt in Kürze.

Allow Stop Loss / Take Profit in Entry Minute

Legt fest, ob ein Stop Loss oder Take Profit in derselben Minute ausgelöst werden darf, in der der Trade eröffnet wurde. Wenn deaktiviert, wird die Exit-Prüfung in der Einstiegsminute übersprungen – der Trade bleibt mindestens bis zur nächsten Minute offen.

Nächster Schritt: Legs

Innerhalb jeder Leg Group werden die einzelnen Legs konfiguriert. Ein Leg definiert die konkrete Options-Position – welche Option (Call/Put), wie der Strike ausgewählt wird, und ob gekauft oder verkauft wird. Die Einstellungen der Legs findest du im nächsten Abschnitt.

Legs – Übersicht

Ein Leg repräsentiert eine einzelne Options-Position innerhalb einer Leg Group. Alle Legs einer Leg Group werden gemeinsam eröffnet und teilen sich die gleiche Expiration. Jedes Leg definiert eigenständig seine Option (Call/Put, Strike, Buy/Sell) und optional eigene Exit-Regeln.

Leg erstellen

Klicke auf eine Leg Group in der Liste. Im linken Panel erscheint das Legs-Formular. Klicke auf "+ Leg hinzufügen", um ein neues Leg zu erstellen.

Reihenfolge beachten

Bei Spreads muss das unabhängige Leg (z.B. Short Put) zuerst erstellt werden, bevor das abhängige Leg (z.B. Long Put mit Leg-to-Leg-Offset) angelegt werden kann.

Legs – Einstellungen

Jedes Leg definiert eine konkrete Options-Position innerhalb einer Leg Group. Hier werden Richtung, Optionstyp, Strike-Auswahl-Kriterium, Exit-Conditions und erweiterte Optionen konfiguriert.

Execution

Bestimmt die Handelsrichtung des Legs.

Wert Beschreibung
Sell Short-Position – die Option wird verkauft. Du erhältst eine Prämie (Credit).
Buy Long-Position – die Option wird gekauft. Du zahlst eine Prämie (Debit).

Type

Bestimmt den Optionstyp des Legs.

Wert Beschreibung
Call Eine Call-Option – gibt das Recht, den Underlying zu einem bestimmten Strike zu kaufen. Profitiert von steigenden Kursen.
Put Eine Put-Option – gibt das Recht, den Underlying zu einem bestimmten Strike zu verkaufen. Profitiert von fallenden Kursen.

Criterion

Das Criterion legt fest, nach welchem Kriterium der Strike für das Leg ausgewählt wird.

Criterion Parameter Beschreibung
Delta Delta-Wert (z.B. 0.16) Wählt die Option, deren Delta dem angegebenen Wert am nächsten kommt. Typische Werte: 0.30 (ATM-nah), 0.16 (OTM), 0.05 (weit OTM).
Fixed Premium Prämie in $ (z.B. 1.00) Wählt die Option, deren Mid-Preis dem angegebenen Dollar-Betrag am nächsten kommt. Nützlich wenn ein bestimmter Credit-Betrag angestrebt wird.
Premium Range Min Prämie, Max Prämie Wählt eine Option, deren Mid-Preis innerhalb des angegebenen Bereichs liegt. Wird keine passende Option gefunden, wird kein Trade eröffnet.
Strike Offset Offset in Punkten (z.B. -50) Strike = aktueller Underlying-Preis + Offset. Beispiel: Underlying bei 5000, Offset -50 → Strike 4950. Negative Werte für OTM Puts, positive Werte für OTM Calls.
Leg to Leg Strike Offset Offset in Punkten, Depend Leg Strike = Strike des Depend Legs + Offset. Wird für Spreads verwendet, um den zweiten Leg relativ zum ersten zu platzieren. Beispiel: Short Put bei 4950, Long Put mit Offset -25 → Strike 4925.
Leg to Leg Strike Offset Closest Offset in Punkten, Depend Leg Wie "Leg to Leg Strike Offset", aber wenn mehrere Strikes zum gleichen Preis verfügbar sind, wird derjenige gewählt, der dem Depend Leg am nächsten liegt.
Leg to Leg Max Offset Max Price Max Offset in Punkten, Max Preis in $, Depend Leg Wählt den Strike relativ zum Depend Leg, wobei sowohl ein maximaler Offset als auch ein maximaler Preis angegeben werden können. Der Strike darf den maximalen Offset vom Depend Leg nicht überschreiten und der Preis der Option darf den angegebenen Max Preis nicht übersteigen.
Max Price Max Preis in $ Wählt den Strike mit dem höchsten verfügbaren Preis, der den angegebenen maximalen Preis nicht überschreitet. Nützlich um eine Position mit dem größtmöglichen Credit innerhalb eines Budget-Limits zu eröffnen.

Exit-Conditions

Exit-Conditions auf Leg-Ebene funktionieren identisch zu den Exit-Conditions der Leg Group, wirken jedoch nur auf dieses einzelne Leg. Stop Loss, Take Profit, Early Exit, In the Money Protection, DSL-Exit und Value Based Exit stehen zur Verfügung.

Exit-Typ Parameter Beschreibung
Stop Loss Faktor (z.B. 2.0) Schließt das Leg, wenn der aktuelle Preis das Einstiegs-Credit plus das Faktor-fache des Einstiegs-Credits überschreitet. Formel: Credit + (Faktor × Credit). Beispiel: Faktor 2.0 bei $1.00 Credit → schließt wenn der Preis auf $3.00 steigt.
Take Profit Faktor (z.B. 0.5) Schließt das Leg, wenn der Gewinn den angegebenen Anteil des Einstiegs-Credits erreicht. Beispiel: Faktor 0.5 bei $1.00 Credit → schließt bei $0.50 verbleibendem Preis (50% des Credits wurden realisiert).
Early Exit Uhrzeit (HH:MM:SS) Schließt das Leg zu der angegebenen Uhrzeit, falls es noch offen ist – unabhängig vom aktuellen P&L.
In the Money Protection Uhrzeit (HH:MM:SS) Schließt das Leg, sobald die Option In-the-Money ist und die angegebene Uhrzeit überschritten wurde. Schützt vor ITM-Ablauf kurz vor Marktschluss.
DSL-Exit JSON (dslSpec) DSL-basierte Exit-Bedingung. Der Parameter ist ein JSON-Objekt mit einer booleschen DSL-Expression (dslSpec). Die Position wird geschlossen, sobald die Expression true ergibt. Beispiel: {"engineVersion":"1","outputType":"Bool","expression":{...}}
Value Based Exit Zielwert in $ Schließt das Leg, wenn der absolute Marktwert des Legs den angegebenen Dollar-Betrag erreicht oder unterschreitet. Im Gegensatz zum Take Profit ist dieser Wert nicht relativ zum Einstiegs-Credit, sondern ein fester Preis.

Advanced Options

Entry Filter

Auf Leg-Ebene kann ein Entry Filter gesetzt werden, der den Einstieg auf Basis der Prämie des einzelnen Legs filtert. Die Leg Group wird nur eröffnet, wenn das Leg eine Prämie innerhalb des angegebenen Min/Max-Bereichs hat.

Parameter Beschreibung
Min Premium Die Mindestprämie in $, die das Leg haben muss, damit der Einstieg erlaubt ist.
Max Premium Die maximale Prämie in $, die das Leg haben darf, damit der Einstieg erlaubt ist.

Use High, Low

Coming Soon

Erklärung dieser Einstellung folgt in Kürze.

Use NBBO Extreme

Coming Soon

Erklärung dieser Einstellung folgt in Kürze.

Indikatoren – Übersicht

Indikatoren steuern, wann eine Strategie einen Trade eröffnet. Jede Strategie benötigt mindestens einen Indikator mit mindestens einem Trigger, damit Trades ausgeführt werden. Ohne aktiven Indikator werden keine Trades geöffnet.

Indikator und Trigger

Ein Indikator allein öffnet noch keine Trades – dafür braucht jeder Indikator mindestens einen Trigger. Der Trigger definiert den genauen Zeitpunkt oder die genaue Bedingung, bei der ein Trade eröffnet wird. Erst das Zusammenspiel von Indikator und Trigger ergibt einen vollständigen Einstiegspunkt.

Keine Werte nötig für zeit- oder datumsbasierte Einstiege

Wenn du ausschließlich zu fixen Uhrzeiten oder an bestimmten Daten einsteigen möchtest, benötigst du keine Indicator Values oder DSL-Logik. Ein einfacher Indicator-Typ mit einem Zeit-basierten Trigger ist völlig ausreichend – z.B. jeden Tag um 09:45 Uhr einsteigen.

Indikator-Typen

Indicator

Der einfachste Indikator-Typ. Er enthält keine eigene Berechnungslogik und ist ideal für zeit- oder datumsbasierte Einstiege. Der Indikator dient als Container für Trigger – die eigentliche Einstiegslogik liegt vollständig im Trigger. Für die meisten 0DTE-Strategien mit festen Einstiegszeiten ist dieser Typ die erste Wahl.

DSL-Indikator

Der DSL-Indikator ist der leistungsstärkste Typ. Er berechnet anhand einer frei definierbaren Expression einen Wert pro Minute, auf den Trigger dann reagieren können. Die DSL (Domain Specific Language) wird als JSON-Objekt hinterlegt.

AI-Agent: Strategien per Sprache beschreiben

Du musst die DSL-Expression nicht selbst schreiben. Der integrierte AI-Agent versteht natürliche Sprache und erstellt den DSL-Indikator inklusive Trigger automatisch. Beschreibe einfach deine Idee – z.B. "Steige ein, wenn der SPX über seinem 20-Minuten-EMA liegt und die aktuelle Uhrzeit zwischen 10:00 und 11:00 ist" – und der Agent setzt das direkt um.

Data-Indikator

Der Data-Indikator greift auf vorberechnete Marktdaten-Reihen zu, wie gleitende Durchschnitte (EMA, SMA) oder Volatilitätskennzahlen. Trigger auf diesem Indikator können dann auf diese Datenpunkte reagieren – z.B. "Steige ein, wenn EMA20 über EMA40 liegt".

Presets

Im oberen Bereich der Indikatoren-Ansicht stehen fertige Einstiegs-Patterns als Presets zur Auswahl. Diese decken gängige Strategien wie feste Einstiegszeiten, Gap-Bedingungen oder Moving-Average-Crosses ab und können direkt übernommen und angepasst werden – ohne eigene DSL-Definition.

Indikatoren – Einstellungen

Beim Erstellen eines Indikators werden zuerst Name und Typ festgelegt. Abhängig vom gewählten Typ stehen dann zusätzliche Einstellungen zur Verfügung.

Basis-Parameter

Parameter Typ Beschreibung
Name Text Ein beschreibender Name für den Indikator, z.B. "Einstieg 10 Uhr" oder "EMA-Cross Signal".
Type Dropdown Der Indikator-Typ: Indicator (einfach, für zeitbasierte Einstiege), DataIndicator (technische Marktdaten) oder DslIndicator (frei definierbare Logik per AI-Agent oder manuell).

DataIndicator – Verfügbare Datenquellen

Der DataIndicator greift auf vorberechnete Marktdaten-Reihen zu. Beim Erstellen wird die gewünschte Datenquelle ausgewählt.

Datenquelle Beschreibung Felder
SPX_MINUTE SPX Preis in Minuten-Auflösung price
SPX_EMA Exponential Moving Average EMA5, EMA20, EMA40
SPX_SMA Simple Moving Average SMA5, SMA20, SMA40
SPX_FLUCTUATION Volatilität/Schwankung FLUC5, FLUC20, FLUC40
SPX_FLUCTUATION_DAILY Tägliche Schwankung FLUC Daily

Indicator – Manuelle Werte (Indicator Values)

Für den Indicator-Typ können manuelle Werte eingegeben werden. Diese Values definieren, zu welchen Zeitpunkten der Indikator welchen Wert hat. Klicke auf einen existierenden Indicator in der Liste. Im "Indicator Values" Panel kannst du:

  • Neue Values mit Timestamp und Wert hinzufügen
  • Existierende Values bearbeiten oder löschen
  • Values per KI generieren lassen

DslIndicator – KI-Agent

Mit dem integrierten KI-Agenten kannst du DSL-Indikatoren automatisch generieren lassen. Der Agent versteht natürliche Sprache und kann komplexe Logik in Indikatoren umsetzen.

Nutze den KI-Agenten (Button unten rechts), beschreibe deine Anforderung in natürlicher Sprache und der Agent erstellt den Indikator inklusive Trigger automatisch.

Trigger – Übersicht

Trigger definieren die genauen Bedingungen, unter denen ein Indikator "feuert" und ein Trade eröffnet wird. Jeder Indikator kann mehrere Trigger haben – ein Trade wird eröffnet, sobald einer der Trigger seine Bedingung erfüllt.

Trigger erstellen

Klicke auf einen Indikator in der Liste. Im linken Bereich erscheint das Triggers-Panel. Klicke auf "Trigger hinzufügen", um einen neuen Trigger anzulegen.

Trigger – Einstellungen

Jeder Trigger hat folgende Parameter, die beim Erstellen oder Bearbeiten gesetzt werden.

Alle Einstellungen im Überblick

Parameter Beschreibung
Name Ein beschreibender Name für den Trigger
Fire Type 1 = Once (einmal feuern), 0 = Multiple (mehrfach feuern)
Dependent Indicator Optional: Verknüpfung mit einem anderen Indikator

Trigger-Modi

Ein Trigger unterstützt verschiedene Modi, die bestimmen wann und unter welchen Bedingungen er feuert:

  • Fixed Zeit: Feuert zu einer bestimmten Uhrzeit (z.B. 10:00:00)
  • Zeitbereich: Feuert innerhalb eines Zeitfensters (z.B. 09:30 - 10:30)
  • Wertbasiert: Feuert bei einem bestimmten Indikator-Wert

Trigger-Values – Übersicht

Trigger-Values legen fest, welche konkreten Werte ein Trigger verwendet, um Bedingungen zu prüfen. Sie werden einem Trigger zugeordnet und definieren z.B. Schwellwerte, Zeitpunkte oder Vergleichswerte.

In Bearbeitung

Dieser Abschnitt wird in Kürze mit einer detaillierten Beschreibung aller Trigger-Value-Einstellungen ergänzt.

Trigger-Values – Einstellungen

Die detaillierte Beschreibung aller Trigger-Value-Einstellungen wird hier in Kürze ergänzt.

In Bearbeitung

Dieser Abschnitt wird in Kürze mit einer detaillierten Beschreibung aller Trigger-Value-Einstellungen ergänzt.

Backtest starten

Um die Performance deiner Strategie zu testen, startest du einen Backtest-Run. Spaike verwendet eine Job-Queue, die Backtests nacheinander oder parallel verarbeitet.

Backtest starten

  1. 1

    Play-Button klicken

    Klicke auf den Play-Button (►) auf der Strategie-Karte im Dashboard.

  2. 2

    Bestätigung

    Ein Dialog fragt: "Möchtest du den Backtest für diese Strategie starten?" Bestätige mit OK.

  3. 3

    Queue-Status

    Der Job wird in die Queue eingereiht. Du siehst die Position und geschätzte Wartezeit.

  4. 4

    Run läuft

    Sobald der Run startet, siehst du den Fortschritt in Prozent auf der Karte.

Run-Status

Status Beschreibung
queued Der Run wartet in der Queue. Position und ETA werden angezeigt.
running Der Run wird gerade ausgeführt. Fortschritt in % wird angezeigt.
done Der Run ist abgeschlossen. Ergebnisse sind verfügbar.
canceled Der Run wurde abgebrochen.
error Ein Fehler ist aufgetreten.

Backtest abbrechen

Klicke auf den Stop-Button (■) auf der Strategie-Karte, um einen laufenden oder wartenden Run abzubrechen. Der Button ist nur aktiv, wenn ein Run läuft oder in der Queue ist.

Parallele Runs

Das System unterstützt parallele Run-Verarbeitung. Die maximale Anzahl paralleler Runs kann vom Administrator konfiguriert werden.

Backtest-Ergebnisse

Nach Abschluss eines Runs kannst du detaillierte Statistiken einsehen.

Run-Analyse öffnen

In der Strategie-Detailansicht, öffne das "Runs" Accordion. Klicke auf einen abgeschlossenen Run, um die Analyse-Seite zu öffnen.

Verfügbare Statistiken

Metrik Beschreibung
Total Trades Gesamtanzahl der ausgeführten Trades
Winners / Losers Anzahl der Gewinner- und Verlierer-Trades
Win Rate Prozentsatz der Gewinner-Trades
Total P&L Gesamter Gewinn/Verlust in Dollar
Average P&L Durchschnittlicher P&L pro Trade
Max Profit Der beste einzelne Trade
Max Loss Der schlechteste einzelne Trade
Profit Factor Verhältnis Gesamtgewinne / Gesamtverluste
Max Drawdown Maximaler Rückgang vom Höchststand

Filter & Zeiträume

Die Analyse-Ansicht bietet umfangreiche Filtermöglichkeiten, um die Performance unter verschiedenen Bedingungen zu analysieren.

Verfügbare Filter

Filter Beschreibung
Datumsbereich Filtere auf einen bestimmten Zeitraum (z.B. nur 2023)
Wochentag Zeige nur Trades an bestimmten Wochentagen (z.B. nur Montag und Freitag)
Uhrzeit Filtere nach Entry-Zeit (z.B. nur Trades zwischen 10:00 und 12:00)
Exit-Typ Filtere nach Exit-Grund (Stop Loss, Take Profit, Expiry, etc.)
Analyse-Tipp

Nutze Filter, um zu prüfen, ob deine Strategie an bestimmten Tagen besser performt. Vielleicht ist die Win Rate am Montag höher als am Freitag?

Trade-Liste

Die Analyse-Ansicht zeigt eine detaillierte Liste aller Trades mit allen relevanten Informationen.

Trade-Details

Für jeden Trade werden folgende Informationen angezeigt:

  • Entry/Exit Zeit: Wann der Trade geöffnet und geschlossen wurde
  • Strike(s): Die gehandelten Strikes
  • Entry/Exit Preis: Die Preise bei Entry und Exit
  • P&L: Gewinn/Verlust des Trades
  • Exit Reason: Warum der Trade geschlossen wurde (SL, TP, Expiry, etc.)
  • DTE: Days to Expiration bei Entry

Trade-Chart

Klicke auf einen Trade in der Liste, um ein detailliertes P&L-Chart für diesen Trade zu sehen. Das Chart zeigt den Preisverlauf während der Haltedauer.

Portfolios

Portfolios ermöglichen es dir, mehrere Backtest-Runs zu kombinieren und aggregierte Statistiken zu sehen. Dies ist nützlich, um die Performance einer Kombination von Strategien zu analysieren.

Portfolio erstellen

  1. 1

    Modal öffnen

    Im Portfolios-Bereich des Dashboards, klicke auf "Neues Portfolio".

  2. 2

    Name und Beschreibung

    Gib einen Namen und optional eine Beschreibung ein.

  3. 3

    Runs hinzufügen

    Klicke auf "Add Runs" und wähle die Backtest-Runs, die du kombinieren möchtest.

  4. 4

    Speichern

    Klicke auf "Speichern". Das Portfolio erscheint als Karte im Portfolio-Bereich.

Portfolio-Analyse

Klicke auf eine Portfolio-Karte, um die aggregierte Analyse zu öffnen. Die Statistiken werden über alle enthaltenen Runs berechnet:

  • Kombinierte Equity Curve
  • Aggregierter Total P&L
  • Kombinierter Max Drawdown
  • Trade-Liste aller enthaltenen Runs

KI-Agent

Spaike verfügt über einen integrierten KI-Agenten, der weit über einen einfachen Chat-Assistenten hinausgeht. Der Agent arbeitet mit Function Calling – er kann eigenständig verschiedene Tools aufrufen und hat damit direkte, vollständige Kontrolle über das gesamte Backtest-System. Du beschreibst in natürlicher Sprache, was du brauchst, und der Agent führt die notwendigen Schritte selbst durch: Strategien erstellen, bearbeiten oder löschen, Leg Groups und Legs konfigurieren, Indikatoren und Trigger anlegen, Backtests starten und die Ergebnisse anschließend analysieren. Wenn eine Strategie nicht die gewünschten Ergebnisse liefert, kann der Agent die Daten auswerten, Schwachstellen identifizieren und konkrete Verbesserungsvorschläge machen – und diese auf Wunsch direkt umsetzen. Der Agent ist nicht auf vordefinierte Befehle beschränkt: Du kannst ihn frei nach allem fragen, was mit deiner Strategie oder dem System zusammenhängt.

Agent öffnen

Der KI-Agent ist über den schwebenden Button in der unteren rechten Ecke des Dashboards erreichbar. Ein Klick öffnet das Agenten-Fenster, in dem du direkt in natürlicher Sprache mit ihm interagieren kannst.

Beispiel-Anfragen

Anfrage Was der Agent tut
"Erstelle eine Put Credit Spread Strategie mit 16 Delta und 50 Punkte Spread-Breite" Erstellt Strategie, Leg Group und beide Legs vollständig
"Füge einen Indikator hinzu, der jeden Tag um 10:00 Uhr feuert" Erstellt Indicator mit passendem Trigger
"Starte einen Backtest für die Strategie 'Iron Condor' und analysiere die Ergebnisse" Startet Backtest, wartet auf Abschluss und liefert Analyse
"Warum hat die Strategie im März so viele Verluste gemacht?" Analysiert Trades, erkennt Muster und erklärt die Ursachen

API – Übersicht

Spaike bietet eine REST-API für programmgesteuerten Zugriff auf alle Funktionen. Die API verwendet JSON für Requests und Responses.

Basis-URL

API Basis-URL
/api/

Request-Format

Alle POST/PUT-Requests senden JSON im Body mit Content-Type: application/json. GET-Requests verwenden Query-Parameter.

Authentifizierung

Die API verwendet PHP-Session-basierte Authentifizierung. Du musst dich zunächst über /api/auth/login einloggen.

Login-Endpoint

POST /api/auth/login
{
  "username": "dein_username",
  "password": "dein_passwort"
}

Session prüfen

GET /api/auth/me
// Response bei eingeloggtem User:
{
  "isLoggedIn": true,
  "username": "dein_username"
}

Wichtige Endpoints

Übersicht der wichtigsten API-Endpoints:

Strategien

Methode Endpoint Beschreibung
GET /api/strategies Alle Strategien auflisten
POST /api/strategies Neue Strategie erstellen
GET /api/strategies/{id} Strategie-Details abrufen
PUT /api/strategies/{id} Strategie aktualisieren
DELETE /api/strategies/{id} Strategie löschen
POST /api/strategies/{id}/run Backtest starten

Leg Groups

Methode Endpoint Beschreibung
GET /api/strategies/{id}/leg-groups Leg Groups einer Strategie
POST /api/strategies/{id}/leg-groups Neue Leg Group erstellen

Legs

Methode Endpoint Beschreibung
GET /api/leg-groups/{id}/legs Legs einer Leg Group
POST /api/leg-groups/{id}/legs Neues Leg erstellen

Indikatoren

Methode Endpoint Beschreibung
GET /api/strategies/{id}/indicators Indikatoren einer Strategie
POST /api/strategies/{id}/indicators Neuen Indikator erstellen

Technische Hinweise

Wichtige technische Informationen zur API:

Response-Format

Erfolgreiche Responses haben oft die Form {"ok": true, ...}. Fehler haben die Form {"error": "Fehlermeldung"}.

Listen-Responses

Listen werden oft als {"items": [...]} zurückgegeben.

Credentials

Bei Fetch-Calls muss credentials: 'include' gesetzt werden, um die Session-Cookies mitzusenden.

Beispiel API-Call
const response = await fetch('/api/strategies', {
  method: 'GET',
  credentials: 'include',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();
console.log(data.items); // Array von Strategien