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.
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. |
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
Modal öffnen
Klicke auf "Neue Strategie" im Dashboard-Header.
-
2
Name eingeben
Gib einen Namen ein, z.B. "Iron Condor Strategy" oder "Put Credit Spread Daily".
-
3
Underlying wählen
Wähle das Underlying aus dem Dropdown. Standard ist SPXW.
-
4
Speichern
Klicke auf "Speichern". Die neue Strategie erscheint als Karte im Dashboard.
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.
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.
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-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.
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.
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
Erklärung dieser Einstellung folgt in Kürze.
Use NBBO Extreme
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.
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.
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.
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.
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
Play-Button klicken
Klicke auf den Play-Button (►) auf der Strategie-Karte im Dashboard.
-
2
Bestätigung
Ein Dialog fragt: "Möchtest du den Backtest für diese Strategie starten?" Bestätige mit OK.
-
3
Queue-Status
Der Job wird in die Queue eingereiht. Du siehst die Position und geschätzte Wartezeit.
-
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.
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.) |
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
Modal öffnen
Im Portfolios-Bereich des Dashboards, klicke auf "Neues Portfolio".
-
2
Name und Beschreibung
Gib einen Namen und optional eine Beschreibung ein.
-
3
Runs hinzufügen
Klicke auf "Add Runs" und wähle die Backtest-Runs, die du kombinieren möchtest.
-
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/
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
{
"username": "dein_username",
"password": "dein_passwort"
}
Session prüfen
// 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.
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