Werden Kurslücken bei Aktien immer geschlossen? Daten
Werden Kurslücken bei Aktien immer geschlossen? Erfahren Sie, wie oft sie noch in derselben Sitzung sowie nach 5, 20 und 60 Sitzungen geschlossen sind.
Werden Kurslücken bei Aktien immer geschlossen? Nicht innerhalb eines ausreichend kurzen, handelbaren Zeithorizonts. Die Aussage wirkt vor allem dann haltbar, wenn niemand einen solchen Zeitraum nennt. Eine Kurslücke ist der Abstand zwischen dem heutigen Eröffnungskurs und dem Schlusskurs der regulären Sitzung am Vortag. Als geschlossen gilt sie, sobald der Kurs wieder durch diesen früheren Schlusskurs handelt. Die gesamte Aussage hängt daher davon ab, wie lange ein Leser auf die Schließung warten will.
Was als Kurslücke und was als Schließung gilt
Eine Kurslücke wird anhand des Eröffnungskurses im Verhältnis zum Schlusskurs des Vortags gemessen. Die Sitzung am Vortag endete bei einem Kurs, die heutige Sitzung eröffnete bei einem anderen. Die Differenz ist die Kurslücke. Es geht nicht um den Abstand zum Intraday-Hoch oder -Tief des Vortags. Das wäre ein anderes und deutlich leichter erreichbares Ziel. Wer beides gleichsetzt, macht aus einer „Kurslücke“ stillschweigend etwas, das an jedem normalen Handelstag bis zur Mittagspause geschlossen wird. Kleine Lücken treten in fast jeder Sitzung auf. Der Handel in anderen Zeitzonen, Indexanpassungen, Nachrichten zu einzelnen Aktien und Ex-Dividenden-Anpassungen verändern den fairen Preis, während der US-Markt geschlossen ist. Warum Aktien über Nacht Kurslücken bilden erklärt, woher diese Neubewertung über Nacht kommt.
Eine Kurslücke gilt ab dem ersten Zeitpunkt als geschlossen, an dem die Aktie wieder durch den Schlusskurs des Vortags handelt. Ohne eine festgelegte Frist ist diese Definition unvollständig. Über einen unbegrenzten Zeitraum überschreitet eine liquide Aktie irgendwann fast jedes vom Leser genannte Kursniveau. Dadurch wird die Aussage „Kurslücken werden immer geschlossen“ nicht falsifizierbar, aber nicht wahr. Für jede unten genannte Zahl ist der Zeithorizont angegeben.
Eine Stichprobe zieht sich durch die gesamte Seite: acht US-Aktien mit hoher Marktkapitalisierung, Tage mit Kurslücken von Januar 2021 bis Februar 2026 sowie Schließungen, die anhand der Hochs und Tiefs von Ein-Minuten-Kursen während der regulären Sitzung geprüft wurden. Kurslücken von weniger als 0,25 % wurden wegen Rundungseffekten ausgeschlossen.
Werden Kurslücken bei Aktien noch am selben Tag geschlossen?
Beginnen wir mit der Größe. Jede Kurslücke wird nach ihrer Höhe gruppiert. Anschließend wird geprüft, ob der Schlusskurs des Vortags noch vor dem Ende derselben Sitzung wieder berührt wurde.
Das exakte SQL hinter jeder Zahl
WITH sessions AS
(
SELECT
ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS session_open,
argMax(toFloat64(close), window_start) AS session_close,
toFloat64(max(high)) AS session_high,
toFloat64(min(low)) AS session_low
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
AND window_start >= '2021-01-01'
AND window_start < '2026-07-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, d
),
gapped AS
(
SELECT
d,
session_open,
session_high,
session_low,
lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
FROM sessions
),
measured AS
(
SELECT
abs(100 * (session_open / prior_close - 1)) AS gap_pct,
toUInt8(if(session_open > prior_close,
session_low <= prior_close,
session_high >= prior_close)) AS filled_same_session
FROM gapped
WHERE prior_close > 0
AND d <= toDate('2026-02-28')
AND abs(100 * (session_open / prior_close - 1)) >= 0.25
)
SELECT
multiIf(gap_pct < 0.5, '0.25 to 0.5%',
gap_pct < 1, '0.5 to 1%',
gap_pct < 2, '1 to 2%',
gap_pct < 4, '2 to 4%',
'4% or more') AS gap_bucket,
count() AS gap_days,
round(100 * avg(filled_same_session), 1) AS same_session_fill_pct
FROM measured
GROUP BY gap_bucket
ORDER BY min(gap_pct) ASCDie kleinsten Kurslücken der Stichprobe, 0,25 % bis 0,5 %, wurden über 74.6% der 2381 Fälle noch in derselben Sitzung geschlossen. Bei Kurslücken von 4 % oder mehr geschah dies in 14.8% der Fälle. Der abwärts gerichtete Verlauf des Diagramms vermittelt den wesentlichen Befund: Je kleiner die Kurslücke, desto häufiger bewegt sich die Aktie im Tagesverlauf wieder durch sie. Anders gesagt: Kleine Kurslücken sind Rauschen, und Rauschen kehrt sich häufig um.
Wie lange dauert es, bis eine Kurslücke geschlossen wird?
Wird die Frist verlängert, kann die Schließungsquote nur steigen. Ein längerer Zeitraum fügt Schließungen hinzu und entfernt keine. Die Frage ist, wie viel des Gesamtergebnisses erst so spät eintritt, dass es für den Handel unbrauchbar ist.
Das exakte SQL hinter jeder Zahl
WITH sessions AS
(
SELECT
ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS session_open,
argMax(toFloat64(close), window_start) AS session_close,
toFloat64(max(high)) AS session_high,
toFloat64(min(low)) AS session_low
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
AND window_start >= '2021-01-01'
AND window_start < '2026-07-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, d
),
paths AS
(
SELECT
d,
session_open,
session_high,
session_low,
lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close,
min(session_low) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS low_5,
max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS high_5,
min(session_low) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS low_20,
max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS high_20,
min(session_low) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS low_60,
max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS high_60
FROM sessions
),
gaps AS
(
SELECT
session_open > prior_close AS gap_up,
prior_close,
session_low,
session_high,
low_5,
high_5,
low_20,
high_20,
low_60,
high_60
FROM paths
WHERE prior_close > 0
AND d <= toDate('2026-02-28')
AND abs(100 * (session_open / prior_close - 1)) >= 1
),
flags AS
(
SELECT arrayJoin([
(1, '1 session', toUInt8(if(gap_up, session_low <= prior_close, session_high >= prior_close))),
(2, '5 sessions', toUInt8(if(gap_up, low_5 <= prior_close, high_5 >= prior_close))),
(3, '20 sessions', toUInt8(if(gap_up, low_20 <= prior_close, high_20 >= prior_close))),
(4, '60 sessions', toUInt8(if(gap_up, low_60 <= prior_close, high_60 >= prior_close)))
]) AS f
FROM gaps
)
SELECT
tupleElement(f, 2) AS horizon,
count() AS gaps_measured,
round(100 * avg(tupleElement(f, 3)), 1) AS filled_pct
FROM flags
GROUP BY horizon
ORDER BY min(tupleElement(f, 1)) ASCVon 2191 Kurslücken von mindestens 1 % wurden 34% noch in derselben Sitzung geschlossen. 88.7% waren innerhalb von 60 sessions geschlossen. Die zweite Zahl wird üblicherweise zitiert, während der Zeithorizont weggelassen wird. Sechzig Sitzungen entsprechen ungefähr drei Handelsmonaten. Das ist eine lange Haltedauer für eine Position, die auf einer eintägigen Fehlbewertung beruht. Eine Kurslücke, die am 47. Tag geschlossen wird, nachdem sich die Aktie zuvor weit in die andere Richtung bewegt hat, zählt in dieser Statistik trotzdem als geschlossen.
Rauschbedingte und informationsbedingte Kurslücken sind zwei unterschiedliche Gruppen
Eine Kurslücke an einem ruhigen Tag mit normalem Handelsvolumen ist eine kleine Preisanpassung. Eine Kurslücke nach Unternehmenszahlen oder einem Übernahmeangebot enthält dagegen eine Neubewertung des Unternehmens. Es gibt dann keinen alten Kurs mehr, zu dem der Markt zurückkehren müsste. Das Handelsvolumen trennt die beiden Gruppen recht zuverlässig: Bei einer Neubewertung, die der gesamte Markt handeln will, werden deutlich mehr Prints als gewöhnlich ausgeführt.
Das exakte SQL hinter jeder Zahl
WITH sessions AS
(
SELECT
ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS session_open,
argMax(toFloat64(close), window_start) AS session_close,
toFloat64(max(high)) AS session_high,
toFloat64(min(low)) AS session_low,
sum(toFloat64(volume)) AS session_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
AND window_start >= '2021-01-01'
AND window_start < '2026-07-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, d
),
paths AS
(
SELECT
d,
session_open,
session_high,
session_low,
session_volume,
lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close,
avg(session_volume) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN 21 PRECEDING AND 2 PRECEDING) AS normal_volume,
min(session_low) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS low_20,
max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS high_20
FROM sessions
),
measured AS
(
SELECT
session_volume / normal_volume AS volume_ratio,
toUInt8(if(session_open > prior_close, session_low <= prior_close, session_high >= prior_close)) AS filled_same_session,
toUInt8(if(session_open > prior_close, low_20 <= prior_close, high_20 >= prior_close)) AS filled_20_sessions
FROM paths
WHERE prior_close > 0
AND normal_volume > 0
AND d >= toDate('2021-03-01')
AND d <= toDate('2026-02-28')
AND abs(100 * (session_open / prior_close - 1)) >= 1
)
SELECT
multiIf(volume_ratio < 1.5, 'Under 1.5x normal',
volume_ratio < 3, '1.5x to 3x normal',
'3x or more') AS volume_regime,
count() AS gap_days,
round(100 * avg(filled_same_session), 1) AS same_session_fill_pct,
round(100 * avg(filled_20_sessions), 1) AS within_20_sessions_fill_pct
FROM measured
WHERE isFinite(volume_ratio)
GROUP BY volume_regime
ORDER BY min(volume_ratio) ASCKurslücken von mindestens 1 % bei einem Handelsvolumen von weniger als dem 1,5-Fachen des normalen Umsatzes der Aktie wurden in 35.9% der Fälle noch in derselben Sitzung geschlossen. Bei Kurslücken derselben Größe und einem Handelsvolumen vom Dreifachen des normalen Umsatzes oder mehr geschah dies in 15.3% der Fälle. 45.8% waren innerhalb von 20 Sitzungen geschlossen, bezogen auf 59 dieser Kurslücken. In der Gruppe mit hohem Volumen liegen die Kurslücken nach Unternehmenszahlen und Übernahmeangeboten. Werden beide Gruppen zu einer Zahl zusammengefasst, beschreibt das Ergebnis keine von ihnen angemessen.
Warum die ersten Minuten der Sitzung die Statistik zu Kurslücken verzerren
Eine um 9:31 Uhr registrierte Schließung ist wenig belastbar. Der Eröffnungskurs entsteht in einer Auktion. Dabei legt ein einzelner gebündelter Geschäftsabschluss einen Kurs für alle über Nacht eingegangenen und aufgereihten Orders fest. Unser Erklärtext zur Eröffnungsauktion beschreibt die Mechanik. In den Minuten nach diesem Geschäftsabschluss sind die quotierten Spreads typischerweise am weitesten. Ein kleiner Print kann dann ein Hoch oder Tief markieren, zu dem kein nennenswertes Volumen gehandelt wurde. Warum sich Spreads zur Eröffnung ausweiten erklärt, warum die Quotes zu diesem Zeitpunkt so wenig Tiefe haben.
Das folgende Diagramm zeigt das Muster im eigenen Kursdatensatz der Stichprobe: die durchschnittliche Spanne zwischen Ein-Minuten-Hoch und -Tief in Basispunkten, wobei ein Basispunkt einem Hundertstelprozentpunkt entspricht, aufgeteilt nach 15-Minuten-Zeitfenstern bis einschließlich 2025.
Das exakte SQL hinter jeder Zahl
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 MINUTE), '%H:%i') AS et_time,
round(10000 * avg(toFloat64(high) / toFloat64(low) - 1), 1) AS avg_range_bps,
round(avg(toFloat64(volume)) / 1000, 1) AS avg_volume_k
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
AND window_start >= '2025-01-01'
AND window_start < '2026-01-01'
AND toFloat64(low) > 0
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY et_time
ORDER BY et_time ASCIm ersten Zeitfenster beträgt die durchschnittliche Spanne 24.4 Basispunkte pro Minute. Im 12:30-Zeitfenster sind es 6.9 Basispunkte. Das durchschnittliche Handelsvolumen liegt dabei bei 303.9 Tausend Aktien pro Minute gegenüber 69.6 Tausend. Eine in diesem ersten Zeitfenster festgestellte Schließung beruht somit auf den am wenigsten verlässlichen Kursen des Tages. Die oben genannten Werte für Schließungen am selben Tag enthalten diese Minuten. Dadurch sind sie etwas nach oben verzerrt. Dieser Vorbehalt gilt für jede Statistik zu taggleichen Schließungen, auch für diese.
Was vor einer Handelsentscheidung auf Basis einer Kurslücke zu prüfen ist
- Der Zeithorizont. Eine Schließungsquote ohne festgelegte Frist ist keine Statistik.
- Die Stichprobe. Es muss klar sein, ob Kurslücken nach Nachrichten von ruhigen Kurslücken getrennt wurden und wie diese Abgrenzung erfolgte.
- Die Messung. Es muss feststehen, ob Schließungen anhand tatsächlich gehandelter Spannen geprüft wurden und ob die ersten Minuten der Sitzung einbezogen wurden.
- Die verbleibenden Unternehmen. Es muss geprüft werden, ob die Stichprobe nur Aktien umfasst, die heute noch gehandelt werden. Dadurch werden Kurslücken, die nie geschlossen wurden, stillschweigend ausgeschlossen.
Die belastbare Fassung der Aussage ist enger als der Slogan. Kleine Kurslücken bei normalem Handelsvolumen kehren häufig und schnell zurück. Große Kurslücken bei hohem Handelsvolumen sind Neubewertungen, die oft monatelang Bestand haben. Für einen aktuellen Überblick über Aktien mit Kurslücken erfasst die Seite größte Aktienbewegungen dieser Woche die laufende Woche. Wie sich Märkte von Crashs erholen wendet dieselbe Disziplin beim Zeithorizont auf Rückgänge von Indizes an.
Häufig gestellte Fragen
Werden Kurslücken bei Aktien immer geschlossen?
Nein. In der hier betrachteten Stichprobe handelten 88.7% der Kurslücken von mindestens 1 % innerhalb von 60 sessions wieder durch den Schlusskurs des Vortags. Damit bleibt nach ungefähr drei Handelsmonaten ein erheblicher Anteil ungeschlossen. Die Version mit „immer“ funktioniert nur ohne Zeitbegrenzung. Dann ist sie nicht mehr überprüfbar.
Wie lange dauert es, bis eine Kurslücke geschlossen wird?
Das hängt von der Kurslücke ab. Hier wurden 34% der Kurslücken von mindestens 1 % noch in derselben Sitzung geschlossen. Die übrigen Schließungen verteilen sich auf die folgenden Wochen und Monate. Kleine Kurslücken konzentrieren sich auf das taggleiche Zeitfenster. Kurslücken bei hohem Handelsvolumen werden am langsamsten geschlossen.
Was ist der Unterschied zwischen einer gewöhnlichen und einer Ausbruchskurslücke?
Die Chartterminologie unterscheidet Kurslücken nach ihrem Kontext. Eine gewöhnliche Kurslücke entsteht an einem normalen Tag mit normalem Handelsvolumen und ohne konkrete Nachrichten. Eine Ausbruchskurslücke entsteht dagegen bei hohem Handelsvolumen zusammen mit neuen Informationen, häufig beim Verlassen einer Handelsspanne, in der sich die Aktie längere Zeit bewegt hat. Die oben dargestellte Aufteilung nach Handelsvolumen ist eine messbare Version derselben Unterscheidung.
Warum unterscheiden sich Statistiken zu geschlossenen Kurslücken zwischen verschiedenen Quellen so stark?
Vier Entscheidungen verändern das Ergebnis erheblich: der Zeithorizont bis zur Schließung, die Auswahl der Aktien, der betrachtete Zeitraum sowie die Frage, ob die Kurslücke am Schlusskurs oder am Hoch und Tief des Vortags gemessen wird. Eine Schließungsquote, bei der eine dieser vier Angaben fehlt, ist mit einer anderen Quote nicht vergleichbar.
So wurden diese Zahlen gemessen
Die Sitzungen werden anhand von Ein-Minuten-Balken innerhalb der regulären Handelszeiten nach New Yorker Zeit gebildet. Der Eröffnungskurs ist der Eröffnungskurs des ersten Balkens der regulären Sitzung. Der Schlusskurs ist der Schlusskurs des letzten Balkens. Tageshoch und Tagestief sind die Extremwerte dieser Balken. Jede Kurslücke wird im Verhältnis zum Schlusskurs der vorherigen Sitzung desselben Tickers gemessen.
Die Zeithorizonte von 5, 20 und 60 Sitzungen schließen den Tag der Kurslücke ein. Die Tage mit Kurslücken reichen bis zum Ende Februar 2026. Der Kursdatensatz reicht bis Juni 2026. Damit stehen für jede Kurslücke im Horizont-Panel mindestens sechzig spätere Sitzungen zur Verfügung. Keine Kurslücke wird mangels Daten als ungeschlossen bewertet.
Das normale Handelsvolumen im dritten Panel ist das durchschnittliche Volumen der regulären Sitzung über die 20 Sitzungen, die zwei Tage vor der Kurslücke enden. Dadurch werden der Tag der Kurslücke und der Vortag aus der eigenen Vergleichsbasis ausgeschlossen.
Die Stichprobe umfasst acht liquide Aktien mit hoher Marktkapitalisierung. Aktien mit geringerem Handelsvolumen bilden häufiger Kurslücken und zeigen andere Schließungsmuster. Diese Quoten lassen sich daher nicht ohne erneute Durchführung desselben Tests auf Small Caps übertragen.
Zu jedem Panel steht darunter die vollständige SQL-Abfrage. Wenn Sie denselben Test für einen Ticker durchführen möchten, den Sie verfolgen, formulieren Sie die Frage auf Englisch im Strasmore-Terminal.