Pourquoi les actions ouvrent-elles en gap ?
Un gap mesure l’écart entre la clôture précédente et l’ouverture à 9 h 30 après 17,5 heures. Analyse du SPY, des lundis et du risque de stop.
Un gap correspond à l’écart entre le cours de clôture d’une action lors d’une séance et son cours d’ouverture lors de la suivante. Il s’agit d’un saut sur le graphique des prix, sans transactions pendant les heures normales entre les deux. Les actions ouvrent en gap haussier ou baissier pendant la nuit pour une raison structurelle : les marchés fonctionnent pendant une séance de 6,5 heures, tandis que les 17,5 heures restantes donnent lieu à des publications de résultats, des actualités, des échanges à l’étranger et des prints peu nombreux en dehors des heures normales. Tous ces éléments se répercutent simultanément sur l’ouverture du lendemain matin. Cette page mesure les gaps au lieu de les affirmer : chaque séance de SPY au S1 2026, cinq actions connues comparées à l’indice et un mouvement overnight supérieur ou égal à 8 % observé avant l’ouverture.
Qu’est-ce qu’un gap haussier ou baissier à l’ouverture ?
Gap haussier : cours d’ouverture du jour supérieur à la clôture de la séance régulière de la veille. Gap baissier : inférieur à cette clôture. L’ouverture concernée est celle de 9 h 30 ET, fixée par l’enchère d’ouverture, qui regroupe les ordres en attente pendant la nuit et les exécute à un prix unique. Entre la clôture précédente et cette enchère, les transactions after-hours et premarket donnent bien lieu à des trades réels, mais sur un volume représentant une fraction de celui de la séance régulière. L’ouverture officielle est donc le premier niveau auquel le marché dans son ensemble s’exprime, et c’est sur cette base que le gap est mesuré.
La formation des prix ne s’arrête jamais complètement : les futures sur indices se négocient presque 24 heures sur 24, les marchés étrangers fixent des niveaux pendant que New York dort, et le premarket commence à 4 h ET. À 9 h 30, l’enchère ne procède pas à une estimation. Elle valide un niveau déjà esquissé par les places de marché actives pendant la nuit.
Quelle est l’ampleur normale d’un gap overnight ?
Chaque séance du S1 2026 pour SPY, l’ETF répliquant le S&P 500, est décomposée entre la période overnight (de la clôture précédente à l’ouverture) et la séance intraday (de l’ouverture à la clôture) :
| sessions | écart overnight absolu moyen (%) | mouvement intraday absolu moyen (%) | écarts d’au moins 0,5 % |
|---|---|---|---|
| 123 | 0.45 | 0.53 | 41 |
Le SQL exact derrière chaque chiffre
SELECT count() AS sessions,
round(avg(abs(100 * (rth_open - prior_close) / prior_close)), 2) AS avg_abs_overnight_gap_pct,
round(avg(abs(100 * (rth_close - rth_open) / rth_open)), 2) AS avg_abs_intraday_move_pct,
countIf(abs(100 * (rth_open - prior_close) / prior_close) >= 0.5) AS gaps_of_half_pct_or_more
FROM (SELECT day, rth_open, rth_close, lagInFrame(rth_close) OVER (ORDER BY day) AS prior_close
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMinIf(toFloat64(open), window_start, rth) AS rth_open,
argMaxIf(toFloat64(close), window_start, rth) AS rth_close
FROM (
SELECT window_start, open, close,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-12-29 04:00:00'
AND window_start < '2026-07-01 08:00:00'
)
GROUP BY day
))
WHERE day >= '2026-01-01' AND prior_close > 0 AND isFinite(prior_close)Sur 123 séances, le gap overnight absolu moyen de SPY s’est établi à 0.45%, contre une variation absolue moyenne de l’ouverture à la clôture de 0.53% : le mouvement overnight, impossible à négocier, représente presque l’ampleur de toute la séance négociable qui suit. Des gaps d’au moins un demi-pour cent ont été observés 41 fois, soit environ une séance sur trois.
Les actions ouvrent-elles davantage en gap le lundi ?
Les ouvertures du lundi ont une réputation particulière : un week-end étend les mêmes mécanismes sur 65 heures de fermeture, contre 17,5 heures en semaine. Cette idée reçue peut être testée. Toutes les séances de SPY de janvier 2024 à juin 2026 sont classées par jour de la semaine, avec le gap absolu moyen et le 90e percentile, c’est-à-dire le niveau dépassé par une seule ouverture sur dix. (Lorsqu’un lundi est férié, le gap du week-end est reporté sur l’ouverture du mardi et comptabilisé au mardi.)
| jour de la semaine | sessions | écart absolu moyen (%) | écart absolu P90 (%) |
|---|---|---|---|
| Monday | 119 | 0.52 | 1.11 |
| Tuesday | 131 | 0.36 | 0.73 |
| Wednesday | 127 | 0.39 | 0.92 |
| Thursday | 123 | 0.45 | 0.91 |
| Friday | 125 | 0.39 | 0.88 |
Le SQL exact derrière chaque chiffre
SELECT ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'][dow] AS weekday,
count() AS sessions,
round(avg(abs(gap_pct)), 2) AS avg_abs_gap_pct,
round(quantileDeterministic(0.9)(abs(gap_pct), toUInt64(toYYYYMMDD(day))), 2) AS p90_abs_gap_pct
FROM (
SELECT day, toDayOfWeek(day) AS dow,
100 * (rth_open - prior_close) / prior_close AS gap_pct
FROM (
SELECT day, rth_open, lagInFrame(rth_close) OVER (ORDER BY day) AS prior_close
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMinIf(toFloat64(open), window_start, rth) AS rth_open,
argMaxIf(toFloat64(close), window_start, rth) AS rth_close
FROM (
SELECT window_start, open, close,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2023-12-28 04:00:00'
AND window_start < '2026-07-01 08:00:00'
)
GROUP BY day
)
)
WHERE day >= '2024-01-01' AND prior_close > 0 AND isFinite(prior_close)
)
WHERE dow <= 5
GROUP BY dow
ORDER BY dowLes données confirment cette idée reçue. Le gap absolu moyen du lundi sur 119 lundis s’est établi à 0.52%, le plus élevé des cinq jours de la semaine, contre 0.36% le mardi, 0.39% le mercredi, 0.45% le jeudi et 0.39% le vendredi. L’effet est encore plus visible dans la queue de distribution : le gap du lundi au 90e percentile atteignait 1.11%, contre 0.73% le mardi. L’effet existe, mais il reste limité. L’ouverture du lundi suit une distribution plus large, sans constituer un cas différent. Ces données n’indiquent pas la direction du mouvement.
Les plus grands gaps du S1 2026
Les six plus grands gaps overnight de SPY sur le semestre, avec l'évolution du reste de chaque séance :
| session | écart overnight (%) | variation sur le reste de la séance (%) |
|---|---|---|
| April 8, 2026 | 2.6 | -0.08 |
| March 3, 2026 | -1.65 | 0.77 |
| March 23, 2026 | 1.47 | -0.41 |
| January 20, 2026 | -1.46 | -0.57 |
| June 23, 2026 | -1.42 | -0.02 |
| June 15, 2026 | 1.38 | 0.37 |
Le SQL exact derrière chaque chiffre
SELECT concat(monthName(day), ' ', toString(toDayOfMonth(day)), ', ', toString(toYear(day))) AS session,
round(100 * (rth_open - prior_close) / prior_close, 2) AS overnight_gap_pct,
round(100 * (rth_close - rth_open) / rth_open, 2) AS rest_of_day_pct
FROM (SELECT day, rth_open, rth_close, lagInFrame(rth_close) OVER (ORDER BY day) AS prior_close
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMinIf(toFloat64(open), window_start, rth) AS rth_open,
argMaxIf(toFloat64(close), window_start, rth) AS rth_close
FROM (
SELECT window_start, open, close,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-12-29 04:00:00'
AND window_start < '2026-07-01 08:00:00'
)
GROUP BY day
))
WHERE day >= '2026-01-01' AND prior_close > 0 AND isFinite(prior_close)
ORDER BY abs(overnight_gap_pct) DESC, day
LIMIT 6Le plus important s'est produit le April 8, 2026 : SPY a ouvert à 2.6% de la clôture précédente, puis a évolué de -0.08% entre l'ouverture et la clôture. L'intégralité du repricing de la séance s'est produite avant la première transaction des heures normales. La leçon pratique des gaps est que le marché peut se revaloriser sans vous.
Un chiffre sans explication ne raconte qu'une partie de l'histoire. Chaque titre mentionnant SPY publié entre la clôture du 7 avril et l'ouverture du 8 avril :
| publié en ET | source | titre |
|---|---|---|
| Apr 08 03:28 | Benzinga | Dow Jones Surges Over 2% On US-Iran Ceasefire As Bullish April Seasonality Kicks |
| Apr 08 08:58 | Benzinga | Stock Market Today: S&P 500, Nasdaq Futures Surge As Trump Declares Ceasefire On |
Le SQL exact derrière chaque chiffre
SELECT formatDateTime(toTimeZone(published_utc, 'America/New_York'), '%b %d %H:%i') AS et_published,
JSONExtractString(toString(publisher), 'name') AS source,
substring(title, 1, 80) AS headline
FROM global_markets.stocks_news
WHERE published_utc >= toDateTime('2026-04-07 16:00:00', 'America/New_York')
AND published_utc < toDateTime('2026-04-08 09:30:00', 'America/New_York')
AND has(tickers, 'SPY')
ORDER BY published_utc
LIMIT 10Deux titres ont circulé pendant ces heures de fermeture. Ils concernaient tous deux un cessez-le-feu entre les États-Unis et l'Iran. Ils ont été horodatés Apr 08 03:28 ET et Apr 08 08:58 ET, avant l'ouverture, alors que le marché était fermé. Le gap constitue l'écriture comptable de l'information qui arrive lorsque vous ne pouvez pas trader.
Les actions individuelles affichent-elles des gaps plus importants que l’indice ?
Un ETF indiciel détient des centaines d’entreprises, et leurs surprises durant la nuit se compensent en partie. Une seule action ne bénéficie d’aucun tel amortisseur. Cinq grandes valeurs connues comparées à SPY, sur les mêmes séances :
| ticker | sessions | écart absolu moyen (%) | plus grand écart (%) | jour du plus grand écart |
|---|---|---|---|---|
| SPY | 123 | 0.45 | 2.6 | April 8, 2026 |
| KO | 123 | 0.42 | 5.41 | April 28, 2026 |
| AAPL | 123 | 0.53 | 2.82 | May 1, 2026 |
| MSFT | 123 | 0.89 | -8.66 | January 29, 2026 |
| NVDA | 123 | 0.99 | 3.6 | April 8, 2026 |
| TSLA | 123 | 1.05 | 4.97 | April 8, 2026 |
Le SQL exact derrière chaque chiffre
SELECT ticker,
count() AS sessions,
round(avg(abs(gap_pct)), 2) AS avg_abs_gap_pct,
round(argMax(gap_pct, (abs(gap_pct), day)), 2) AS biggest_gap_pct,
concat(monthName(argMax(day, (abs(gap_pct), day))), ' ', toString(toDayOfMonth(argMax(day, (abs(gap_pct), day)))), ', ', toString(toYear(argMax(day, (abs(gap_pct), day))))) AS biggest_gap_day
FROM (
SELECT ticker, day, 100 * (rth_open - prior_close) / prior_close AS gap_pct
FROM (
SELECT ticker, day, rth_open,
lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY day) AS prior_close
FROM (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMinIf(toFloat64(open), window_start, rth) AS rth_open,
argMaxIf(toFloat64(close), window_start, rth) AS rth_close
FROM (
SELECT ticker, window_start, open, close,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'TSLA')
AND window_start >= '2025-12-29 04:00:00'
AND window_start < '2026-07-01 08:00:00'
)
GROUP BY ticker, day
)
)
WHERE day >= '2026-01-01' AND prior_close > 0 AND isFinite(prior_close)
)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'TSLA'], ticker)Lisez les deux colonnes séparément. Pour une nuit typique, le classement est conforme aux attentes : Tesla affichait en moyenne 1.05% et Nvidia 0.99%, contre 0.45% pour SPY. Coca-Cola affichait toutefois 0.42% en moyenne, en dessous de l’indice. Une méga-cap défensive de la consommation est généralement un instrument overnight peu volatil.
C’est dans la colonne consacrée aux extrêmes que l’amortisseur disparaît. Le plus grand gap de SPY sur la période était de 2.6% (April 8, 2026), et les cinq actions individuelles ont toutes fait mieux : Coca-Cola 5.41%, Apple 2.82%, Nvidia 3.6%, Tesla 4.97% et Microsoft, la plus volatile du groupe, -8.66% le January 29, 2026. Les actions individuelles ne sont pas toujours plus volatiles que l’indice lors d’une nuit moyenne, mais leur pire nuit est nettement plus difficile.
Observer la formation d’un gap avant l’ouverture
Revenons sur le gap de Microsoft de January 29, 2026. La séance précédente a clôturé à $481.72. Tout événement intervenu après cette clôture s’est produit alors que le marché était fermé. À l’ouverture du premarket à 4 h 00 ET, le nouvel équilibre des prix était déjà établi :
| heure ET | prix | clôture précédente | vs clôture précédente (%) | % sous la clôture précédente | actions (milliers) | actions cumulées (millions) | % cumulé du volume régulier |
|---|---|---|---|---|---|---|---|
| 04:00 | 454 | 481.72 | -5.75 | 5.75 | 128 | 0.13 | 0.11 |
| 04:30 | 451.32 | 481.72 | -6.31 | 6.31 | 137 | 0.26 | 0.23 |
| 05:00 | 450.2 | 481.72 | -6.54 | 6.54 | 191 | 0.46 | 0.4 |
| 05:30 | 449.13 | 481.72 | -6.77 | 6.77 | 111 | 0.57 | 0.5 |
| 06:00 | 448.85 | 481.72 | -6.82 | 6.82 | 118 | 0.68 | 0.61 |
| 06:30 | 446.2 | 481.72 | -7.37 | 7.37 | 264 | 0.95 | 0.84 |
| 07:00 | 447.77 | 481.72 | -7.05 | 7.05 | 342 | 1.29 | 1.14 |
| 07:30 | 449.22 | 481.72 | -6.75 | 6.75 | 305 | 1.6 | 1.41 |
| 08:00 | 448.86 | 481.72 | -6.82 | 6.82 | 1010 | 2.61 | 2.31 |
| 08:30 | 448.59 | 481.72 | -6.88 | 6.88 | 597 | 3.2 | 2.84 |
| 09:00 | 439.74 | 481.72 | -8.71 | 8.71 | 1660 | 4.86 | 4.31 |
Le SQL exact derrière chaque chiffre
WITH day_vol AS (
SELECT sum(toFloat64(volume)) AS rth_vol
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MSFT'
AND window_start >= toDateTime('2026-01-29 09:30:00', 'America/New_York')
AND window_start < toDateTime('2026-01-29 16:00:00', 'America/New_York')
),
prior AS (
SELECT round(argMax(toFloat64(close), window_start), 2) AS prior_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MSFT'
AND window_start >= toDateTime('2026-01-28 09:30:00', 'America/New_York')
AND window_start < toDateTime('2026-01-28 16:00:00', 'America/New_York')
),
buckets AS (
SELECT toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 minute) AS bucket,
round(argMax(toFloat64(close), window_start), 2) AS price,
sum(toFloat64(volume)) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MSFT'
AND window_start >= toDateTime('2026-01-29 04:00:00', 'America/New_York')
AND window_start < toDateTime('2026-01-29 09:30:00', 'America/New_York')
GROUP BY bucket
)
SELECT formatDateTime(bucket, '%H:%i') AS et_time,
price,
(SELECT prior_close FROM prior) AS prior_close,
round(100 * (price - (SELECT prior_close FROM prior)) / (SELECT prior_close FROM prior), 2) AS vs_prior_close_pct,
round(abs(100 * (price - (SELECT prior_close FROM prior)) / (SELECT prior_close FROM prior)), 2) AS pct_below_prior_close,
round(shares / 1000) AS shares_thousands,
round(sum(shares) OVER (ORDER BY bucket) / 1000000, 2) AS cum_shares_millions,
round(100 * sum(shares) OVER (ORDER BY bucket) / (SELECT rth_vol FROM day_vol), 2) AS cum_pct_of_regular_volume
FROM buckets
ORDER BY bucketDès le premier intervalle du premarket, à 04:00 ET, le cours affichait $454, soit 5.75% sous la clôture précédente, avec 128 milliers d’actions échangées. Les cinq heures suivantes ont été irrégulières. Au dernier intervalle du premarket, à 09:00 ET, le cours se situait 8.71% sous la clôture. L’ouverture officielle s’est faite à -8.66%, à une erreur d’arrondi près du niveau déjà déterminé par les 4.86 millions d’actions échangées pendant la nuit.
Observez la dernière colonne : l’ensemble du premarket n’a représenté que 4.31% de l’activité de la séance régulière. Un gap de cette ampleur est valorisé par une faible fraction des volumes dans un marché peu liquide, puis confirmé par l’ensemble du marché à 9 h 30. Cette faible liquidité explique pourquoi les spreads sont les plus larges autour de l’ouverture.
Ce que le marché des options facturait pour cette nuit
Les options indiquent le mouvement que le marché anticipait avant qu’il ne se produise. Un straddle, c’est-à-dire un call et un put au même strike et à la même échéance, coûte à peu près ce que le marché estime que l’action peut gagner ou perdre d’ici l’échéance. Straddles de Microsoft proches du cours, cotés au cours des 15 dernières minutes avant la clôture du 28 janvier et arrivant à échéance deux jours plus tard :
| prix d’exercice | mid call | mid put | coût du straddle | mouvement implicite (%) |
|---|---|---|---|---|
| $477.5 | 15.2 | 10.67 | 25.87 | 5.37 |
| $480 | 13.8 | 11.95 | 25.75 | 5.35 |
| $482.5 | 12.62 | 13.07 | 25.69 | 5.33 |
| $485 | 11.47 | 14.42 | 25.89 | 5.37 |
Le SQL exact derrière chaque chiffre
WITH prior AS (
SELECT round(argMax(toFloat64(close), window_start), 2) AS prior_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MSFT'
AND window_start >= toDateTime('2026-01-28 09:30:00', 'America/New_York')
AND window_start < toDateTime('2026-01-28 16:00:00', 'America/New_York')
),
quotes AS (
SELECT toFloat64(substring(ticker, 14, 8)) / 1000 AS strike,
substring(ticker, 13, 1) AS cp,
round(argMax((bid_price + ask_price) / 2, sip_timestamp), 2) AS mid
FROM global_markets.cache_options_quotes
WHERE ticker LIKE 'O:MSFT260130%'
AND sip_timestamp >= toDateTime('2026-01-28 15:45:00', 'America/New_York')
AND sip_timestamp < toDateTime('2026-01-28 16:00:00', 'America/New_York')
AND bid_price > 0
AND ask_price > 0
GROUP BY ticker
)
SELECT concat('$', toString(strike)) AS strike_price,
maxIf(mid, cp = 'C') AS call_mid,
maxIf(mid, cp = 'P') AS put_mid,
round(maxIf(mid, cp = 'C') + maxIf(mid, cp = 'P'), 2) AS straddle_cost,
round(100 * (maxIf(mid, cp = 'C') + maxIf(mid, cp = 'P')) / (SELECT prior_close FROM prior), 2) AS implied_move_pct
FROM quotes
WHERE abs(strike - (SELECT prior_close FROM prior)) <= 5
GROUP BY strike
HAVING countIf(cp = 'C') > 0 AND countIf(cp = 'P') > 0
ORDER BY strikeLe strike le plus proche de la clôture à $481.72, $482.5, a clôturé à $25.69 pour la combinaison, soit 5.33% du cours de l’action. Cela correspondait au mouvement anticipé sur deux séances entières, et non sur une seule nuit. Le gap overnight s’est établi à -8.66%. Le marché des options avait donné un chiffre, et la nuit l’a dépassé. Les strikes voisins confirmaient ce niveau (5.37% à $477.5, 5.37% à $485). Il s’agissait donc du consensus, et non d’une cotation isolée.
Deux mécanismes sont à retenir pour les investisseurs qui détiennent des options pendant un gap. Une option ne peut pas être repricée lorsque le marché est fermé. Le temps continue de jouer contre la prime d’une option achetée, et l’intégralité du mouvement apparaît dans le print d’ouverture. Une fois l’événement passé, l’incertitude disparaît du prix : la volatilité implicite s’effondre le matin suivant une publication. C’est pourquoi une anticipation correcte de la direction peut malgré tout entraîner une perte sur une option achetée. Jours jusqu’à l’échéance déterminent la violence de ces deux effets.
Types de gaps : le vocabulaire des figures graphiques
Les traders classent les gaps selon leur position dans un mouvement plus long. Ces noms sont descriptifs, attribués après coup, et aucun ne constitue une prévision :
- Gap commun (gap de zone), un petit gap à l’intérieur d’une fourchette ordinaire, sans actualité particulière. La plupart des gaps de moins de la moitié d’un pour cent sur le SPY sont de cette nature.
- Gap de rupture, le cours sort d’une fourchette ou franchit un niveau établi de longue date, généralement avec des volumes élevés.
- Gap de continuation, un gap qui apparaît au milieu d’une tendance, dans le sens du mouvement déjà engagé par l’action.
- Gap d’épuisement, un gap dans le sens de la tendance qui survient à la fin du mouvement, avant un retournement du cours. Le jour même, il est identique à un gap de continuation ; seules les données ultérieures permettent de les distinguer.
Le dernier point est le véritable piège : la qualification dépend de ce qui se passe ensuite. Personne ne lui attribue donc ce nom en temps réel.
Ce que les gaps impliquent pour vos ordres
Trois conséquences, toutes liées au fait qu’aucune transaction ne s’effectue pendant les heures normales de marché à l’intérieur du gap :
- Les stop orders ne limitent pas la perte au prix du stop. Un stop devient un ordre au marché dès que l’action se traite au niveau du seuil ou au-delà. Si une action clôture à 50 $ et ouvre à 44 $, un stop à 48 $ se déclenche à l’ouverture et est exécuté autour de 44 $ : le gap a entièrement franchi le niveau du stop. Le stop garantit la tentative d’exécution, pas le niveau de prix ; un ordre stop-limit plafonne le prix que vous acceptez, avec le risque de ne pas être exécuté du tout.
- Ce sont les suspensions de cotation, et non les gaps, qui freinent le marché. Les bandes limit up-limit down (LULD) empêchent une action de coter à plus d’un pourcentage défini de son prix moyen récent : 5 % ou 10 % pour la plupart des valeurs, avec des bandes plus larges pour les titres à faible cours. Ces seuils sont doublés à l’ouverture et à la clôture, et un mouvement qui reste en dehors de la bande déclenche une pause de cinq minutes. Les coupe-circuits à l’échelle du marché suspendent l’ensemble des échanges si le S&P 500 baisse de 7 % (niveau 1) ou de 13 % (niveau 2) par rapport à la clôture précédente, et mettent fin à la séance à 20 % (niveau 3). Rien de tout cela n’empêche le gap ; ces mécanismes encadrent ce qui se passe à la reprise des échanges.
- Le « gap fill » est une description, pas un calendrier. Les traders disent qu’un gap est « comblé » lorsque le cours revient à la clôture précédente. Rien ne l’y oblige, quel que soit l’horizon considéré. Le plus grand gap de la période pour SPY n’a évolué que de -0.08% après l’ouverture : pas de comblement, pas d’effacement, simplement un nouveau niveau.
Les marchés overnight et intraday sont, statistiquement, différents. C’est aussi pourquoi la mesure des performances mensuelles donne une réponse différente selon que les variations overnight sont prises en compte.
FAQ
Qu’est-ce qui fait qu’une action ouvre en gap à la hausse ou à la baisse après la clôture ?
Le marché est fermé pendant 17,5 heures sur 24, mais les informations continuent de circuler : les résultats sont publiés après la clôture, les nouvelles tombent avant l’ouverture et les marchés étrangers cotent toute la nuit. L’enchère d’ouverture exécute les ordres accumulés à un seul prix. L’écart par rapport à la clôture précédente constitue le gap.
Quelle est la fréquence des gaps à l’ouverture ?
Ils sont omniprésents. Au premier semestre 2026, le gap overnight absolu moyen du SPY était de 0.45%, et 41 des 123 séances ont ouvert à au moins un demi-point de pourcentage de la clôture précédente. Les actions individuelles affichent des écarts plus importants : la moyenne de Tesla atteignait 1.05%.
Les actions ouvrent-elles davantage en gap le lundi ?
Oui, mais de façon modérée. De janvier 2024 à juin 2026, le gap absolu moyen du SPY le lundi était de 0.52%, le plus large de la semaine, contre 0.36% le mardi. Le week-end ajoute des heures de fermeture, mais pas de biais directionnel.
Les gaps sont-ils toujours comblés ?
Non. « Le gap est toujours comblé » relève du folklore boursier : certains sont comblés en quelques heures, tandis que d’autres ne reviennent jamais au niveau de la clôture précédente. Considérez toute statistique de comblement comme une description des séances passées, et non comme une règle pour la prochaine séance.
Que devient mon stop-loss si une action ouvre en gap baissier ?
Le stop se déclenche à l’ouverture et est exécuté au meilleur prix disponible. Celui-ci peut être très inférieur au prix du stop, car aucun trade n’a lieu dans le gap pour l’exécuter.
Chaque chiffre ci-dessus provient d’une requête enregistrée. Développez le SQL sous n’importe quel panneau ou décomposez, sur le terminal Strasmore, les performances mensuelles d’un ticker entre mouvements overnight et intraday.