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.
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
Einstieg & Bedingung
Einstiege legen fest, wann die Strategie in einen Trade einsteigen soll – sie sind zeitbasierte Auslöser (feste Uhrzeit, Zeitfenster, Wochentage). Bedingungen sind optionale Marktfilter, die einem Einstieg hinzugefügt werden können: Sie verwenden Indikatoren (Basic, DSL oder Data), um den Trade nur unter bestimmten Marktbedingungen zu öffnen – z.B. "nur wenn VIX unter 20". Einstiege und Bedingungen können beide per KI-Agent automatisch 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.
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. |
| 📈 (Batch) | Batch Backtest | Öffnet den Batch-Backtest für diese Strategie, um mehrere Parameter-Varianten oder Konfigurationen in einem Durchlauf zu testen. |
| ■ (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
Oberhalb des Strategie-Grids befindet sich der Portfolio-Button. Hier kannst du:
- Portfolios erstellen, um mehrere Runs zu kombinieren
- Aggregierte Statistiken über mehrere Strategien sehen
- Portfolio-Details und Charts aufrufen
KI-Agent Button
Oben links befindet sich ein 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 Einstieg 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 Bedingungen-Panels angezeigt. Diese erscheinen erst, wenn du eine Leg Group auswählst (Legs) oder einen Einstieg angelegt hast (Bedingungen).
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
- Einstiege: Verwaltung der Entry-Zeitpunkte und Bedingungen
- 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 prüft beim Einstieg die zusammengerechneten Werte aller Legs der Gruppe. Die Greeks (Delta, Gamma, Theta, Vega, Rho) werden als vorzeichenbehaftete Positions-Summe gebildet: Buy-Legs gehen mit ihrem Rohwert ein, Sell-Legs mit umgekehrtem Vorzeichen — ein verkaufter Put trägt also positives Delta bei. Positives Theta bedeutet, dass die Gruppe netto Zeitwert einnimmt (Short-Prämie), negatives, dass sie Zeitwert verliert (Debit-Setup); die Grenzen können daher auch negativ sein (z. B. Delta min −0,05 / max 0,05 für marktneutrale Einstiege). Mid, Bid und Ask werden dagegen als Betrag der Netto-Prämie geprüft und sind immer positiv. Liegt eine Metrik außerhalb ihres Min/Max-Bereichs, wird der Trade nicht eröffnet.
| 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. |
High/Low verwenden (intraminute)
Steuert, welche Intraminute-Daten für die Überprüfung von Stop Loss und Take Profit verwendet werden. Damit kann Spaike innerhalb einer Minute prüfen, ob ein Stop oder Take Profit realistischerweise erreicht wurde.
| Datenquelle | Beschreibung |
|---|---|
| Trades | Verwendet tatsächlich gehandelte Preise. Das ist nah an realen Ausführungen, kann aber Stop-Berührungen übersehen, wenn der Markt kurz im Quote sichtbar war, ohne dass ein Trade gedruckt wurde. |
| Quotes | Verwendet Bid/Ask-Quotes. Dadurch werden auch Marktbewegungen sichtbar, bei denen kein Trade stattgefunden hat. Das kann für Stop-Prüfungen konservativer sein als nur Trades. |
| Trades + Quotes | Kombiniert Trades und Quotes und nimmt die pessimistischere Sicht auf den Exit. Das ist meistens die konservativste und oft realistischste Stop-Simulation, weil sowohl echte Trades als auch handelbare Quotes berücksichtigt werden. |
Tick Drilldown
Tick Drilldown nutzt Tick-Daten, um innerhalb der Exit-Minute den genaueren Exit-Zeitpunkt, Exit-Preis und Exit-Wert zu bestimmen. Wenn diese Einstellung aktiv ist, wird empfohlen, CapNonOpeningLosses auszuschalten, damit der Tick-basierte Exit nicht nachträglich künstlich begrenzt wird.
| Datenquelle | Beschreibung |
|---|---|
| Trades | Drilldown nur über Trade-Ticks. Der Exit wird anhand tatsächlich gehandelter Preise innerhalb der Minute präzisiert. |
| Quotes | Drilldown nur über Quote-Ticks. Der Exit wird anhand der verfügbaren Bid/Ask-Entwicklung innerhalb der Minute präzisiert. |
| Trades + Quotes | Drilldown über Trades und Quotes. Diese Variante nutzt beide Tick-Quellen und ist für realistische Stop-Exits in der Regel die bevorzugte Einstellung. |
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. |
High/Low verwenden (intraminute)
Steuert, welche Intraminute-Daten für die Überprüfung von Stop Loss und Take Profit auf Leg-Ebene verwendet werden. Damit kann Spaike innerhalb einer Minute prüfen, ob ein Stop oder Take Profit für dieses einzelne Leg realistischerweise erreicht wurde.
| Datenquelle | Beschreibung |
|---|---|
| Trades | Verwendet tatsächlich gehandelte Preise. Das ist nah an realen Ausführungen, kann aber Stop-Berührungen übersehen, wenn der Markt kurz im Quote sichtbar war, ohne dass ein Trade gedruckt wurde. |
| Quotes | Verwendet Bid/Ask-Quotes. Dadurch werden auch Marktbewegungen sichtbar, bei denen kein Trade stattgefunden hat. Das kann für Stop-Prüfungen konservativer sein als nur Trades. |
| Trades + Quotes | Kombiniert Trades und Quotes und nimmt die pessimistischere Sicht auf den Exit. Das ist meistens die konservativste und oft realistischste Stop-Simulation, weil sowohl echte Trades als auch handelbare Quotes berücksichtigt werden. |
Tick Drilldown
Tick Drilldown nutzt Tick-Daten, um innerhalb der Exit-Minute den genaueren Exit-Zeitpunkt, Exit-Preis und Exit-Wert des einzelnen Legs zu bestimmen. Wenn diese Einstellung aktiv ist, wird empfohlen, CapNonOpeningLosses auszuschalten, damit der Tick-basierte Exit nicht nachträglich künstlich begrenzt wird.
| Datenquelle | Beschreibung |
|---|---|
| Trades | Drilldown nur über Trade-Ticks. Der Exit wird anhand tatsächlich gehandelter Preise innerhalb der Minute präzisiert. |
| Quotes | Drilldown nur über Quote-Ticks. Der Exit wird anhand der verfügbaren Bid/Ask-Entwicklung innerhalb der Minute präzisiert. |
| Trades + Quotes | Drilldown über Trades und Quotes. Diese Variante nutzt beide Tick-Quellen und ist für realistische Stop-Exits in der Regel die bevorzugte Einstellung. |
Einstiege – Übersicht
Einstiege legen fest, wann die Strategie in einen Trade einsteigen soll. Ein Einstieg ist ein zeitbasierter Auslöser – er definiert den Zeitpunkt oder das Zeitfenster, zu dem die Strategie prüft, ob ein Trade eröffnet werden soll. Ohne mindestens einen aktiven Einstieg öffnet die Strategie keine Trades.
Einstieg erstellen
Im Strategie-Panel findest du den Bereich "Einstiege". Klicke auf "Einstieg hinzufügen", um einen neuen Einstieg anzulegen.
Einstiegs-Modus
Daily
Der Einstieg feuert täglich (oder an ausgewählten Wochentagen) zu einer exakten Uhrzeit – z.B. jeden Tag um 10:00 Uhr.
Timestamp
Ein einzelner, einmaliger Zeitpunkt. Der Einstieg feuert genau einmal zum angegebenen Datum und Uhrzeit.
FromTo
Alle Zeitpunkte innerhalb eines Datumsbereichs. Dieser Modus eignet sich, wenn immer dann eingestiegen werden soll, sobald eine verknüpfte Bedingung true ist – die Strategie prüft minütlich und steigt ein, sobald die Bedingung erfüllt ist.
Einstiege – Einstellungen
Jeder Einstieg hat folgende Parameter, die beim Erstellen oder Bearbeiten konfiguriert werden.
Alle Parameter eines Daily-Einstiegs
| Parameter | Typ | Beschreibung |
|---|---|---|
| Name | Text | Ein beschreibender Name für den Einstieg, z.B. "Einstieg 10 Uhr" oder "Morning Entry". |
| Eigenen Zeitraum verwenden | Optional | Wenn aktiviert, verwendet dieser Einstieg einen eigenen Datums- und Zeitraum anstatt den Backtest-Zeitraum der Strategie zu erben. Nützlich, um einzelne Einstiege auf einen Teilzeitraum zu beschränken. |
| Wochentage | Checkbox | Schränkt den Einstieg auf bestimmte Wochentage ein. Standardmäßig alle Handelstage (Mo–Fr). Einzelne Tage können deaktiviert werden. |
| Uhrzeiten | HH:MM | Kommagetrennte Liste der Uhrzeiten (New-York-Zeit), zu denen der Einstieg täglich ausgelöst wird. Beispiel: 09:30, 10:00, 14:30 |
| Floating | Optional | Wenn aktiviert, versucht der Einstieg nach dem Basis-Zeitpunkt in regelmäßigen Abständen erneut einzusteigen, falls der erste Versuch scheitert. Siehe Floating-Modus weiter unten. |
| Tick Entry Floating | Optional | Sucht innerhalb der angegebenen Minute tick-weise nach einem Zeitpunkt, an dem Einstiegsbedingungen und ggf. Entry-Filter einen Einstieg erlauben. Nutzt die Tick-Daten, die Spaike zugrunde liegen, für eine präzisere Einstiegssuche als die minütliche Auflösung. |
Floating-Modus
Wenn "Floating" aktiviert ist, versucht der Einstieg nach dem Basis-Zeitpunkt in regelmäßigen Abständen erneut einzusteigen, falls der erste Versuch scheitert (z.B. weil keine passende Option gefunden wurde).
| Parameter | Beschreibung |
|---|---|
| Versuchs-Intervall | Abstand zwischen den Versuchen in Minuten (Standard: 1 Minute). |
| Max Duration | Maximale Dauer in Minuten, innerhalb derer Versuche stattfinden. Nach Ablauf dieser Zeit werden keine weiteren Versuche unternommen. |
Bedingungen – Übersicht
Der Bedingungen-Bereich besteht aus zwei Bausteinen: Indikatoren und Bedingungen. Indikatoren liefern Werte aus Datenquellen oder Berechnungen. Bedingungen verwenden diese Werte anschließend, um zu entscheiden, ob ein Einstieg wirklich ausgeführt werden darf.
Indicators
Indikatoren definieren, welche Werte verfügbar sind – z.B. ein VIX-Wert, ein SPX-Wert oder ein selbst gebauter DSL-Wert wie EMA, SMA oder Rolling StdDev.
Conditions
Conditions vergleichen diese Indikatorwerte mit einem festen Wert oder einem zweiten Indikator. Nur wenn die Condition wahr ist, darf der Einstieg öffnen.
Bedingungen – Indikatoren
Indikatoren liefern die Werte, auf denen Bedingungen später aufbauen. Du legst zuerst fest, welche Datenquelle oder Berechnungslogik ein Indikator verwenden soll. Danach kann eine Bedingung diesen Indikator mit einem festen Wert oder einem zweiten Indikator vergleichen.
Indikatortypen
Basic (Indicator)
Der einfachste Typ. Enthält keine eigene Berechnungslogik, sondern hält manuelle Werte (Timestamp + Wert-Paare), die für bestimmte Zeitpunkte des Backtests definiert werden. Nützlich für selbst aufbereitete externe Signale.
Data (DataIndicator)
Stellt rohe Marktdatenquellen bereit, die keine eigene Berechnung erfordern – z.B. den VIX-Index oder den SPX-Index. Der Wert wird direkt aus der Datenbank gelesen und pro Minute bereitgestellt.
DSL (DslIndicator)
Der leistungsstärkste Typ. Die Berechnungslogik wird als JSON-basierte DSL (Domain Specific Language) hinterlegt und pro Minute ausgewertet. DSL-Indikatoren können entweder über den grafischen UI-Builder zusammengestellt oder direkt als JSON geschrieben werden.
Verfügbare Ausdrücke im UI-Builder
| Ausdruck | Beschreibung |
|---|---|
| EMA | Exponential Moving Average. Kontinuierliche EMA ohne Tages-Reset. Gewichtungsfaktor α = 2 / (Periode + 1). Der erste gültige Datenpunkt wird als Seed verwendet. |
| SMA | Simple Moving Average. Gleitender Durchschnitt über ein Zeitfenster von N Minuten. |
| Rolling Max | Maximaler Wert innerhalb der letzten N Minuten. |
| Rolling Min | Minimaler Wert innerhalb der letzten N Minuten. |
| Rolling Sum | Summe aller Werte innerhalb der letzten N Minuten. |
| Rolling StdDev | Populationsstandardabweichung über die letzten N Minuten. Misst die Streuung der Werte im Zeitfenster. |
| Overnight Gap | Differenz zwischen dem heutigen Open und dem gestrigen Close – basierend auf tatsächlichen End-of-Day-Daten (nicht aus Minutenpreisen approximiert). |
Du musst die DSL-Expression nicht selbst schreiben. Beschreibe dem KI-Agenten in natürlicher Sprache deine Bedingung – z.B. "Steige ein, wenn der SPX über seinem 20-Minuten-EMA liegt und die Uhrzeit zwischen 10:00 und 11:00 ist" – und der Agent erstellt den DSL-Indikator inklusive Bedingung automatisch.
Bedingungen – Conditions
Bedingungen erlauben es, einem Einstieg zusätzliche Filterregeln hinzuzufügen. Eine Bedingung verwendet einen zuvor angelegten Indikator und vergleicht dessen Wert mit einem Schwellwert oder einem zweiten Indikator. Der Trade wird nur dann eröffnet, wenn die Bedingung zum Einstiegszeitpunkt erfüllt ist.
Ein Einstieg ohne Bedingung öffnet immer einen Trade zur definierten Zeit. Bedingungen kommen hinzu, wenn der Einstieg von einem Marktzustand abhängig sein soll – z.B. "nur wenn VIX unter 20" oder "nur wenn EMA20 über EMA40 liegt".
Bedingung erstellen
Im Strategie-Panel findest du den Bereich "Bedingungen". Klicke auf "Bedingung hinzufügen". Du wählst dann: linken Indikator → Operator → rechte Seite (fester Wert oder zweiter Indikator).
Vergleichs-Operatoren
| Operator | Bedeutung | Beispiel |
|---|---|---|
> |
Größer als | VIX > 25 |
< |
Kleiner als | VIX < 20 |
>= |
Größer oder gleich | EMA20 >= EMA50 |
<= |
Kleiner oder gleich | EMA20 <= EMA50 |
= |
Gleich | Signal = 1 |
Bedingungen verwalten
- Linken Indikator, Operator und rechte Seite (Indikator oder fester Wert) auswählen
- Bestehende Bedingungen zentral anzeigen, bearbeiten und löschen
- Bedingungen per KI-Agent automatisch aus natürlicher Sprache generieren lassen
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.
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, Einstiege, Bedingungen und Indikatoren 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 Button oben links im Dashboard 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 Einstieg hinzu, der jeden Tag um 10:00 Uhr startet" | Erstellt einen Daily-Einstieg und verknüpft bei Bedarf passende Bedingungen |
| "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
Coming Soon