Put Credit Spread: Trefferquote und Breakeven
Was ein Put Credit Spread zahlt: gemessene Prämie, Breakeven-Abstand und Trefferquote aus 30-Delta-Einstiegen auf SPY seit 2021, plus Margin im Depot.
Ein Put Credit Spread bringt maximal die vereinnahmte Prämie und riskiert maximal die Spreadbreite abzüglich dieser Prämie. Wie oft er aufgeht, entscheidet der Breakeven: der Kurs, unterhalb dessen der Verfall Geld kostet. Für den verkauften Put mit 30 Delta, 10 Punkten Spreadbreite und rund 45 Tagen Restlaufzeit auf SPY lag dieser Breakeven im Median 2.86 Prozent unter dem Kurs am Eröffnungstag, und 82 Prozent aller so eröffneten Spreads verfielen seit August 2021 voll aus dem Geld.
Maximalgewinn, Maximalverlust und Breakeven in einem Satz
Verkauft wird der Put mit dem höheren Basispreis, gekauft der Put mit dem niedrigeren, beide mit derselben Laufzeit. Die Differenz der Basispreise ist die Spreadbreite. Die Nettoprämie, die dabei ins Depot fließt, ist der gesamte Gewinn, den die Position je abwerfen kann. Der Maximalverlust ist Breite minus Prämie und tritt ein, sobald der Kurs am Verfallstag unter dem gekauften Basispreis liegt. Dazwischen liegt der Breakeven: verkaufter Basispreis minus Nettoprämie.
Ein Rechenbeispiel, reine Mechanik, ohne Marktdaten: 10 Punkte Breite, 2,00 USD Prämie. Ein Kontrakt steht für 100 Stück, also 200 USD Maximalgewinn und 800 USD Maximalverlust. Das Verhältnis steht von Anfang an fest. Wer 200 USD einnimmt, stellt 800 USD dagegen. Beim gekauften Spread tauschen Prämie und Risiko die Rollen, nachzulesen in Credit Spread und Debit Spread im Vergleich. Ohne Long-Leg wird aus der Position ein Cash Secured Put mit ganz anderer Kapitalbindung, siehe Covered Call und Cash Secured Put.
Wie viel Prämie 30 Delta auf 45 Tage einbringt
Die aussagekräftige Größe ist nicht die Prämie in USD, sondern ihr Anteil an der Spreadbreite. 10 Punkte Breite sind 1.000 USD Nominalrisiko je Kontrakt. Was davon als Prämie hereinkommt, bestimmt das Verhältnis von Chance und Einsatz. Das Panel sucht für jeden Handelstag seit August 2021 die Laufzeit nahe 45 Tagen, darin den Put mit Delta nahe 0,30, kauft den Put rund 10 Punkte darunter und fasst die Einstiege eines Monats als Median zusammen.
Die Reihe umfasst 62 Einstiegsmonate von 08/2021 bis 09/2026. Im ersten Monat der Reihe betrug der Median 14.8 Prozent der Spreadbreite, im letzten 18.7 Prozent. Beide Linien laufen mit dem Volatilitätsniveau: In Phasen teurer Optionen fällt mehr Prämie an, und der Basispreis mit 30 Delta liegt in denselben Monaten weiter vom Kurs entfernt. Im letzten Monat der Reihe lag der Breakeven 2.36 Prozent unter dem Kurs.
Prämie, Breakeven und Streuung über alle Einstiege
Monatsmediane glätten. Über alle Einstiege gerechnet zeigt die Verteilung, wie weit dieselbe Struktur auseinanderläuft.
| entry_count | credit_pct_p10 | credit_pct_median | credit_pct_p90 | breakeven_pct_p10 | breakeven_pct_median | breakeven_pct_p90 |
|---|---|---|---|---|---|---|
| 1183 | 15.8 | 18.8 | 23.8 | 2.02 | 2.86 | 4.6 |
Das exakte SQL hinter jeder Zahl
WITH
expiries AS
(
SELECT
date AS entry_date,
argMin(expiration_date, abs(days_to_expiry - 45)) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND lower(option_type) IN ('put', 'p')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 38 AND 52
AND date >= '2021-08-01'
GROUP BY date
),
short_leg AS
(
SELECT
e.entry_date AS entry_date,
e.expiry AS expiry,
argMin(toFloat64(g.strike_price), abs(abs(g.delta) - 0.30)) AS short_strike,
argMin(toFloat64(g.option_close), abs(abs(g.delta) - 0.30)) AS short_mark,
argMin(toFloat64(g.underlying_close), abs(abs(g.delta) - 0.30)) AS spot
FROM global_markets.options_greeks AS g
INNER JOIN expiries AS e
ON g.date = e.entry_date AND g.expiration_date = e.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.volume > 0
AND g.date >= '2021-08-01'
AND abs(g.delta) BETWEEN 0.20 AND 0.40
GROUP BY e.entry_date, e.expiry
),
long_leg AS
(
SELECT
s.entry_date AS entry_date,
argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_strike,
argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_mark
FROM global_markets.options_greeks AS g
INNER JOIN short_leg AS s
ON g.date = s.entry_date AND g.expiration_date = s.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.date >= '2021-08-01'
AND toFloat64(g.strike_price) BETWEEN s.short_strike - 12 AND s.short_strike - 8
GROUP BY s.entry_date
),
spreads AS
(
SELECT
s.entry_date AS entry_date,
s.spot AS spot,
s.short_strike AS short_strike,
s.short_strike - l.long_strike AS width,
s.short_mark - l.long_mark AS credit
FROM short_leg AS s
INNER JOIN long_leg AS l ON s.entry_date = l.entry_date
WHERE l.long_strike < s.short_strike
)
SELECT
count() AS entry_count,
round(quantileDeterministic(0.1)(100 * credit / width, toUInt32(toUnixTimestamp(entry_date))), 1) AS credit_pct_p10,
round(quantileDeterministic(0.5)(100 * credit / width, toUInt32(toUnixTimestamp(entry_date))), 1) AS credit_pct_median,
round(quantileDeterministic(0.9)(100 * credit / width, toUInt32(toUnixTimestamp(entry_date))), 1) AS credit_pct_p90,
round(quantileDeterministic(0.1)(100 * (spot - (short_strike - credit)) / spot, toUInt32(toUnixTimestamp(entry_date))), 2) AS breakeven_pct_p10,
round(quantileDeterministic(0.5)(100 * (spot - (short_strike - credit)) / spot, toUInt32(toUnixTimestamp(entry_date))), 2) AS breakeven_pct_median,
round(quantileDeterministic(0.9)(100 * (spot - (short_strike - credit)) / spot, toUInt32(toUnixTimestamp(entry_date))), 2) AS breakeven_pct_p90
FROM spreads
WHERE credit > 0
AND width BETWEEN 9 AND 11
HAVING count() > 0Im Median kassierte der Spread 18.8 Prozent der Spreadbreite. Das 10. Perzentil liegt bei 15.8 Prozent, das 90. bei 23.8 Prozent: gleiche Struktur, gleiches Delta, sehr unterschiedlicher Preis. Der Abstand des Breakevens zum Kurs reicht über dieselben Perzentile von 2.02 bis 4.6 Prozent. Das ist der ganze Puffer, den die Position mitbringt, bevor ein Verlust überhaupt beginnt, und er ist schmal.
Ein Delta von 0,30 wird gern als Wahrscheinlichkeit gelesen, am Verfallstag im Geld zu liegen. Das ist eine brauchbare Näherung, deckt sich aber nicht mit der Wahrscheinlichkeit, den Basispreis irgendwann zu berühren. Die beiden trennt Berührungswahrscheinlichkeit und Wahrscheinlichkeit im Geld. Wie diese Zahlen in die Wahl des Basispreises eingehen, behandelt die Auswahl des Basispreises.
Wie oft ein Put Credit Spread voll aus dem Geld verfällt
Bis zum Verfallstag gehalten, ohne Schließen und ohne Rollen, kennt die Position drei Ausgänge. Der Schlusskurs liegt über dem verkauften Basispreis: beide Optionen verfallen wertlos, die Prämie bleibt vollständig. Der Schlusskurs liegt unter dem gekauften Basispreis: der Maximalverlust ist erreicht. Oder er liegt dazwischen, dann bestimmt der innere Wert des verkauften Puts das Ergebnis.
| outcome_bucket | entry_count | share_pct |
|---|---|---|
| maximaler Verlust | 122 | 10.6 |
| teilweise im Geld | 86 | 7.4 |
| voll aus dem Geld | 947 | 82 |
Das exakte SQL hinter jeder Zahl
WITH
expiries AS
(
SELECT
date AS entry_date,
argMin(expiration_date, abs(days_to_expiry - 45)) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND lower(option_type) IN ('put', 'p')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 38 AND 52
AND date >= '2021-08-01'
GROUP BY date
),
short_leg AS
(
SELECT
e.entry_date AS entry_date,
e.expiry AS expiry,
argMin(toFloat64(g.strike_price), abs(abs(g.delta) - 0.30)) AS short_strike,
argMin(toFloat64(g.option_close), abs(abs(g.delta) - 0.30)) AS short_mark
FROM global_markets.options_greeks AS g
INNER JOIN expiries AS e
ON g.date = e.entry_date AND g.expiration_date = e.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.volume > 0
AND g.date >= '2021-08-01'
AND abs(g.delta) BETWEEN 0.20 AND 0.40
GROUP BY e.entry_date, e.expiry
),
long_leg AS
(
SELECT
s.entry_date AS entry_date,
argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_strike,
argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_mark
FROM global_markets.options_greeks AS g
INNER JOIN short_leg AS s
ON g.date = s.entry_date AND g.expiration_date = s.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.date >= '2021-08-01'
AND toFloat64(g.strike_price) BETWEEN s.short_strike - 12 AND s.short_strike - 8
GROUP BY s.entry_date
),
settled AS
(
SELECT
s.short_strike AS short_strike,
l.long_strike AS long_strike,
s.short_strike - l.long_strike AS width,
s.short_mark - l.long_mark AS credit,
toFloat64(d.close) AS settle_close
FROM short_leg AS s
INNER JOIN long_leg AS l ON s.entry_date = l.entry_date
INNER JOIN
(
SELECT date, close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2021-08-01'
) AS d ON d.date = s.expiry
WHERE l.long_strike < s.short_strike
AND s.short_mark > l.long_mark
AND s.short_strike - l.long_strike BETWEEN 9 AND 11
),
totals AS
(
SELECT count() AS all_entries FROM settled
)
SELECT
multiIf(settle_close >= short_strike, 'voll aus dem Geld',
settle_close <= long_strike, 'maximaler Verlust',
'teilweise im Geld') AS outcome_bucket,
count() AS entry_count,
round(100 * count() / any(t.all_entries), 1) AS share_pct
FROM settled AS s
CROSS JOIN totals AS t
GROUP BY outcome_bucket
ORDER BY outcome_bucketDie Kategorie „voll aus dem Geld" deckt 82 Prozent der ausgewerteten Einstiege ab, in Stück 947 Spreads. Am anderen Ende steht „maximaler Verlust" mit 10.6 Prozent. Der Rest endete zwischen den beiden Basispreisen, mit einem Teilverlust oder einem angeknabberten Gewinn.
Eine hohe Trefferquote ist in diese Struktur eingebaut und für sich genommen kein Ergebnis. Sie steht dem Verhältnis aus dem Rechenbeispiel gegenüber: viele kleine Gewinne, seltene große Verluste. Welche Seite überwiegt, entscheidet die Größe der schlechten Fälle.
Warum 45 Tage und nicht sieben, und ob vor dem Verfallstag geschlossen wird, lässt diese Messreihe bewusst offen. Hier läuft jeder Spread bis zum Schluss. Wie sehr kurze Laufzeiten gehandelt werden, zeigt 0DTE-Strategien in der Praxis.
Wie groß die schlechtesten Ausgänge ausfallen
| label | premium_usd | result_usd |
|---|---|---|
| 18.02.2026 | 141 | -959 |
| 10.02.2025 | 189 | -911 |
| 30.08.2022 | 223 | -877 |
| 31.12.2021 | 140 | -860 |
| 20.02.2025 | 149 | -851 |
| 28.12.2021 | 150 | -850 |
| 27.12.2021 | 152 | -848 |
| 30.01.2026 | 152 | -848 |
| 03.01.2022 | 156 | -844 |
| 12.09.2023 | 156 | -844 |
| 07.04.2022 | 157 | -843 |
| 13.09.2023 | 157 | -843 |
Das exakte SQL hinter jeder Zahl
WITH
expiries AS
(
SELECT
date AS entry_date,
argMin(expiration_date, abs(days_to_expiry - 45)) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND lower(option_type) IN ('put', 'p')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 38 AND 52
AND date >= '2021-08-01'
GROUP BY date
),
short_leg AS
(
SELECT
e.entry_date AS entry_date,
e.expiry AS expiry,
argMin(toFloat64(g.strike_price), abs(abs(g.delta) - 0.30)) AS short_strike,
argMin(toFloat64(g.option_close), abs(abs(g.delta) - 0.30)) AS short_mark
FROM global_markets.options_greeks AS g
INNER JOIN expiries AS e
ON g.date = e.entry_date AND g.expiration_date = e.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.volume > 0
AND g.date >= '2021-08-01'
AND abs(g.delta) BETWEEN 0.20 AND 0.40
GROUP BY e.entry_date, e.expiry
),
long_leg AS
(
SELECT
s.entry_date AS entry_date,
argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_strike,
argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_mark
FROM global_markets.options_greeks AS g
INNER JOIN short_leg AS s
ON g.date = s.entry_date AND g.expiration_date = s.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.date >= '2021-08-01'
AND toFloat64(g.strike_price) BETWEEN s.short_strike - 12 AND s.short_strike - 8
GROUP BY s.entry_date
),
settled AS
(
SELECT
s.entry_date AS entry_date,
s.short_strike AS short_strike,
s.short_strike - l.long_strike AS width,
s.short_mark - l.long_mark AS credit,
toFloat64(d.close) AS settle_close
FROM short_leg AS s
INNER JOIN long_leg AS l ON s.entry_date = l.entry_date
INNER JOIN
(
SELECT date, close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2021-08-01'
) AS d ON d.date = s.expiry
WHERE l.long_strike < s.short_strike
AND s.short_mark > l.long_mark
AND s.short_strike - l.long_strike BETWEEN 9 AND 11
)
SELECT
formatDateTime(entry_date, '%d.%m.%Y') AS label,
round(100 * credit, 0) AS premium_usd,
round(100 * (credit - least(greatest(short_strike - settle_close, 0), width)), 0) AS result_usd
FROM settled
ORDER BY result_usd ASC, label ASC
LIMIT 12Der schlechteste Einstieg der Reihe brachte 141 USD Prämie und endete bei -959 USD je Kontrakt. Jeder Eintrag zeigt die vereinnahmte Prämie neben dem Ergebnis desselben Spreads. Das Verhältnis der beiden Balken gibt an, wie viele gelungene Durchläufe ein einzelner Verfall dieser Art aufwiegt, und die Datumsbeschriftungen zeigen, wann diese Fälle auftraten.
Ein echter Durchlauf: Einstieg am 16. August 2022
Ein einzelner Fall, fest auf ein Datum der Vergangenheit verdrahtet, damit die Zahlen nicht wandern. Auswahlregel wie oben, Einstieg am 16. August 2022, Laufzeit nahe 45 Tagen.
| date | spy_close | short_strike | breakeven |
|---|---|---|---|
| 2022-08-16 | 429.7 | 415 | 412.86 |
| 2022-08-17 | 426.65 | 415 | 412.86 |
| 2022-08-18 | 427.89 | 415 | 412.86 |
| 2022-08-19 | 422.14 | 415 | 412.86 |
| 2022-08-22 | 413.35 | 415 | 412.86 |
| 2022-08-23 | 412.35 | 415 | 412.86 |
| 2022-08-24 | 413.67 | 415 | 412.86 |
| 2022-08-25 | 419.51 | 415 | 412.86 |
| 2022-08-26 | 405.31 | 415 | 412.86 |
| 2022-08-29 | 402.63 | 415 | 412.86 |
| 2022-08-30 | 398.21 | 415 | 412.86 |
| 2022-08-31 | 395.18 | 415 | 412.86 |
| 2022-09-01 | 396.42 | 415 | 412.86 |
| 2022-09-02 | 392.24 | 415 | 412.86 |
| 2022-09-06 | 390.76 | 415 | 412.86 |
| 2022-09-07 | 397.78 | 415 | 412.86 |
| 2022-09-08 | 400.38 | 415 | 412.86 |
| 2022-09-09 | 406.6 | 415 | 412.86 |
| 2022-09-12 | 410.97 | 415 | 412.86 |
| 2022-09-13 | 393.1 | 415 | 412.86 |
Das exakte SQL hinter jeder Zahl
WITH
pin AS
(
SELECT
date AS entry_date,
argMin(expiration_date, abs(days_to_expiry - 45)) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND lower(option_type) IN ('put', 'p')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 38 AND 52
AND date = '2022-08-16'
GROUP BY date
),
short_leg AS
(
SELECT
p.entry_date AS entry_date,
p.expiry AS expiry,
argMin(toFloat64(g.strike_price), abs(abs(g.delta) - 0.30)) AS short_strike,
argMin(toFloat64(g.option_close), abs(abs(g.delta) - 0.30)) AS short_mark
FROM global_markets.options_greeks AS g
INNER JOIN pin AS p
ON g.date = p.entry_date AND g.expiration_date = p.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.volume > 0
AND g.date = '2022-08-16'
AND abs(g.delta) BETWEEN 0.20 AND 0.40
GROUP BY p.entry_date, p.expiry
),
long_leg AS
(
SELECT
s.entry_date AS entry_date,
argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_mark
FROM global_markets.options_greeks AS g
INNER JOIN short_leg AS s
ON g.date = s.entry_date AND g.expiration_date = s.expiry
WHERE g.underlying_symbol = 'SPY'
AND lower(g.option_type) IN ('put', 'p')
AND g.iv_converged = 1
AND g.date = '2022-08-16'
AND toFloat64(g.strike_price) BETWEEN s.short_strike - 12 AND s.short_strike - 8
GROUP BY s.entry_date
),
spread AS
(
SELECT
s.entry_date AS entry_date,
s.expiry AS expiry,
s.short_strike AS short_strike,
s.short_strike - (s.short_mark - l.long_mark) AS breakeven
FROM short_leg AS s
INNER JOIN long_leg AS l ON s.entry_date = l.entry_date
)
SELECT
toString(d.date) AS date,
round(toFloat64(d.close), 2) AS spy_close,
round(p.short_strike, 2) AS short_strike,
round(p.breakeven, 2) AS breakeven
FROM global_markets.stocks_daily_aggs AS d
CROSS JOIN spread AS p
WHERE d.ticker = 'SPY'
AND d.date >= p.entry_date
AND d.date <= p.expiry
ORDER BY d.dateAm Eröffnungstag schloss SPY bei 429.7. Der verkaufte Basispreis lag bei 415, der Breakeven bei 412.86. Am Verfallstag stand der Schlusskurs bei 357.18 und damit klar auf der Verlustseite beider Linien. Der Chart zeigt den Mechanismus: Die waagerechten Linien stehen vom ersten Tag an fest, bewegen tut sich nur der Kurs, und der Abstand zwischen Kurs und Breakeven war von Beginn an der gesamte Puffer der Position.
Margin, Freischaltung und Steuerform im deutschen Depot
Für die Buying Power zählt beim Put Credit Spread nur der Deckel, den der gekaufte Put setzt. Blockiert wird Spreadbreite minus erhaltene Prämie, mal 100 je Kontrakt, in USD. Beim nackt verkauften Put rechnet der Broker stattdessen mit einem Prozentsatz des Basiswerts plus Zuschlägen, ein Mehrfaches desselben Risikobetrags. Den Unterschied führt Margin beim Verkauf nackter Puts aus.
Was in einem deutschen Depot dazukommt:
- Freischaltung: Der Verkauf von Spreads setzt eine höhere Optionsstufe voraus als der bloße Kauf von Puts und Calls. Welche Stufe welche Strategie erlaubt, ordnet die Options-Freischaltungsstufen.
- Währung: Prämie, Margin und Ergebnis laufen in USD. Ein EUR-Depot bucht den Betrag auf ein Fremdwährungskonto oder tauscht ihn direkt. Im EUR-Ergebnis steckt damit immer eine Währungskomponente, die in keinem Panel dieser Seite enthalten ist.
- Zuweisung: SPY-Optionen sind amerikanisch ausübbar und werden physisch geliefert. Ein im Geld stehender Short-Put kann 100 Stück ins Depot legen, bevor der Long-Put verwertet ist, und bindet dann kurzzeitig echte USD-Kaufkraft. Den Unterschied zu bar abgerechneten Kontrakten erklärt Barausgleich und physische Lieferung.
- Steuerform: Der Spread ist ein Termingeschäft. Prämieneinnahmen und Verluste fallen in diese Kategorie, getrennt von Aktiengewinnen. Bei einem Broker ohne deutschen Steuerabzug läuft die Erklärung über die Anlage KAP, die USD-Beträge umgerechnet zum jeweiligen Tageskurs. Die Einzelheiten gehören zum Steuerberater.
FAQ
Was ist der Maximalgewinn bei einem Put Credit Spread?
Die beim Eröffnen vereinnahmte Nettoprämie, mehr nicht. Sie bleibt vollständig, wenn der Basiswert am Verfallstag über dem verkauften Basispreis schließt und beide Optionen wertlos verfallen.
Wo liegt der Breakeven eines Put Credit Spreads?
Beim verkauften Basispreis minus Nettoprämie. Über alle gemessenen Einstiege auf SPY lag er im Median 2.86 Prozent unter dem Kurs des Basiswerts am Eröffnungstag.
Wie hoch ist die Margin für einen Put Credit Spread?
Spreadbreite minus erhaltene Prämie, mal 100 je Kontrakt, in der Währung des Kontrakts. Bei 10 Punkten Breite sind das höchstens 1.000 USD abzüglich Prämie, unabhängig vom Kurs des Basiswerts.
Wie oft verfällt ein Put Credit Spread mit 30 Delta wertlos?
In dieser Messreihe auf SPY seit August 2021: 82 Prozent der Einstiege, gehalten bis zum Verfall. 10.6 Prozent endeten im Maximalverlust, der Rest zwischen den beiden Basispreisen.
Ist ein Put Credit Spread steuerlich ein Termingeschäft?
Nach deutscher Einordnung zählen Optionsgeschäfte dieser Art zu den Termingeschäften und nicht zu den Aktiengeschäften. Bei einem Broker ohne deutschen Steuerabzug läuft die Erklärung über die Anlage KAP. Die konkrete Behandlung klärt ein Steuerberater.
Datenhinweise und Methodik
- Auswahl je Handelstag: aus den Puts auf SPY mit Restlaufzeit zwischen 38 und 52 Tagen die Laufzeit nahe 45 Tagen, darin der Put mit Delta nahe 0,30 als Short-Leg und der Put rund 10 Punkte darunter als Long-Leg. Gefiltert auf
iv_converged = 1und Umsatz größer null am Einstiegstag, damit kein Modellpreis ohne Handel einfließt. - Preise sind Tagesschlusskurse der Kontrakte, keine ausgeführten Orders. Die real erzielbare Prämie liegt zwischen Bid und Ask, Gebühren sind nicht abgezogen.
- Die Perzentile über alle Einstiege stehen in einer Zeile: 10. Perzentil, Median und 90. Perzentil je Kennzahl, deterministisch gerechnet, damit zwei Durchläufe dieselben Werte liefern.
- Ausgang: Schlusskurs von SPY am Verfallstag, gegen die beiden Basispreise gerechnet. Die Positionen laufen durch, ohne Schließen, Rollen oder Anpassung. Einstiege, deren Verfallstag noch aussteht, fehlen in den Ausgangs-Panels.
- Eine vorzeitige Zuweisung im Short-Put ist in dieser Rechnung nicht abgebildet, ebenso keine Dividendentermine des Basiswerts.
- Währungseffekte zwischen USD und EUR sind nicht enthalten. Alle Zahlen stehen in USD und in Punkten des Basiswerts.
Unter jedem Panel liegt die SQL, mit der die Zahlen gezählt wurden, ein Klick auf den Aufklapper genügt. Dieselbe Rechnung mit anderem Delta, anderer Breite oder anderem Basiswert lässt sich auf dem Strasmore Terminal in Alltagssprache stellen.