Strasmore Research
Edukacja Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-07-24

Czym jest aukcja otwarcia giełdy

Dowiedz się, jak aukcja o 9:30 ustala oficjalną cenę otwarcia akcji oraz dlaczego cena ta może różnić się od pierwszej transakcji zawieranej podczas sesji.

Aukcja otwarcia to pojedyncza transakcja krzyżowa o godzinie 9:30 czasu Eastern, która ustala oficjalną cenę otwarcia każdej akcji. Przed sygnałem giełda notująca zbiera wszystkie zlecenia oznaczone jako otwarcia, oblicza jedną cenę, przy której sparowanych zostanie najwięcej akcji, i realizuje całą pulę w jednym zapisie — stanowi to poranne odzwierciedlenie aukcji zamknięcia, która kończy dzień. Wszystkie poniższe dane pochodzą z skonsolidowanego rejestru transakcji — publicznego zapisu każdej transakcji na rynku akcji w USA — a do każdego panelu dołączone jest dokładne zapytanie SQL.

Czym jest aukcja otwarcia? Prosta definicja

Giełdy nie rozpoczynają handlu o 9:30 poprzez pojedyncze dopasowywanie zleceń. W nocy oraz w trakcie sesji przedsesyjnej giełda gromadzi zlecenia przeznaczone na otwarcie — wraz z uprawnionymi zleceniami limit typu resting w arkuszu zleceń — a po uderzeniu w dzwon realizuje całą pulę w jednej transakcji po jednej cenie. Wynik tej transakcji posiada własny znacznik warunków sprzedaży (kod 17, "Market Center Opening Trade" — zapisy w ostatniej kolumnie), a jego cena staje się oficjalną ceną otwarcia: stanowi ona "otwarcie" w dziennym zapisie cen oraz punkt odniesienia dla terminów "gapped up" oraz "gapped down". Aukcja i rynek ciągły stanowią jeden system transakcyjny; w momencie uderzenia dzwonu zmienia się jedynie mechanizm działania.

Aukcja otwarcia na rzeczywistych danych: SPY, AAPL, NVDA

Poniższa tabela przedstawia dane z dnia 2 lipca 2026 r. — pełna, zweryfikowana sesja (potwierdzenie w następnej sekcji) — i porównuje wolumen aukcji otwarcia dla SPY, AAPL oraz NVDA z pozostałą częścią dnia. „Matched volume” obejmuje wyłącznie akcje dodawane do wolumenu skonsolidowanego; komunikaty administracyjne (warunki sprzedaży 15, 16, 38) są wyłączane z każdego mianownika.

ZapytanieOtwarcie aukcyjne a reszta dnia — SPY, AAPL, NVDA, 2 lipca 2026
Dokładny kod SQL dla każdej liczby
SELECT
    ticker,
    round(toFloat64(maxIf(size, has(conditions, 17))) / 1e3, 1) AS auction_shares_k,
    toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17))) AS auction_price,
    formatDateTime(toTimeZone(argMaxIf(sip_timestamp, (size, sip_timestamp), has(conditions, 17)), 'America/New_York'), '%H:%i:%S') AS auction_time_et,
    countIf(has(conditions, 17)) AS opening_print_count,
    countIf(has(conditions, 17) AND formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') = '09:30:00') AS open_prints_at_0930,
    minIf(size, has(conditions, 17)) AS smallest_open_print_shares,
    round(toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570 AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 575)) / 1e3) AS first5_shares_k,
    round(100 * toFloat64(maxIf(size, has(conditions, 17))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570 AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 575)), 1) AS auction_pct_of_first5,
    round(100 * toFloat64(maxIf(size, has(conditions, 17))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))), 2) AS auction_pct_of_day,
    round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS closing_auction_shares_m,
    round(toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(maxIf(size, has(conditions, 17))), 1) AS close_vs_open_x
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
  AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)

Należy najpierw odczytać wiersz dla AAPL: aukcja otwarcia wyniosła 323.3 tysięcy akcji po cenie $294.1, odnotowana o godzinie 09:30:00 ET. Aukcja NVDA wyniosła 690 tysięcy akcji, a SPY 122 tysięcy. Sama aukcja stanowiła 17.4% wszystkich akcji AAPL sparowanych w ciągu pierwszych pięciu minut sesji (1856 tysięcy akcji), 13.8% dla NVDA oraz 9.4% dla SPY — mimo to całkowity dzienny obrót wyniósł zaledwie 0.43%, 0.48% i 0.21%, czyli mniej niż pół procenta.

Dwie ostatnie kolumny stanowią punkt odniesienia: aukcja zamknięcia AAPL tego samego dnia sparowała 10.89 milionów akcji — czyli 33.7 wielkości otwarcia; dla NVDA wskaźnik wyniósł 25.2, a dla SPY 13.5. Fundusze indeksowe oraz biura benchmarkowe zawierają transakcje po oficjalnych cenach zamknięcia, a ten przepływ kumuluje się podczas aukcji o godzinie 16:00; poranek nie posiada odpowiednika tego mechanizmu. Aukcja zamknięcia jest największą transakcją dnia — aukcja otwarcia to moment rozpoczęcia oficjalnego dnia handlowego.

Dlaczego oficjalna cena otwarcia może różnić się od pierwszej transakcji dnia?

Zanim rozpocznie się aukcja, akcje są zazwyczaj przedmiotem obrotu od wielu godzin — handel przedsesyjny rozpoczyna się już o godzinie 4:00 rano czasu ET, a żadna z tych transakcji nie wyznacza oficjalnego otwarcia. Poniższy zestaw danych dla AAPL obejmuje okres od 1 do 2 lipca 2026 roku, rozpoczynając od weryfikacji sesji: SPY odnotował dokładnie 390 minutowych słupków sesji regulowanej dnia 2 lipca — jest to pełna sesja, zweryfikowana, a nie zakładana.

ZapytanieWynik: otwarcie AAPL a handel przed sesją, 1-2 lipca 2026
Dokładny kod SQL dla każdej liczby
WITH
    (
        SELECT countIf(window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York'))
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
    ) AS bars_jul02,
    (
        SELECT argMax(sip_timestamp, (size, sip_timestamp))
        FROM global_markets.stocks_trades
        WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00' AND has(conditions, 17)
    ) AS auction_ts,
    (
        SELECT argMax(exchange, (size, sip_timestamp))
        FROM global_markets.stocks_trades
        WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00' AND has(conditions, 17)
    ) AS listing_exchange
SELECT
    bars_jul02 AS spy_session_bars_jul02,
    countIf(has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00') AS jul01_close_print_count,
    toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00')) AS prior_close_price,
    countIf(has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00') AS opening_print_count,
    toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00')) AS auction_price,
    formatDateTime(toTimeZone(auction_ts, 'America/New_York'), '%H:%i:%S.%f') AS auction_et,
    round(100 * (toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00')) - toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00'))) / toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00')), 2) AS overnight_gap_pct,
    formatDateTime(toTimeZone(minIf(sip_timestamp, sip_timestamp >= '2026-07-02 00:00:00' AND NOT hasAny(conditions, [15, 16, 38])), 'America/New_York'), '%H:%i:%S') AS first_trade_et,
    toFloat64(argMinIf(price, (sip_timestamp, sequence_number), sip_timestamp >= '2026-07-02 00:00:00' AND NOT hasAny(conditions, [15, 16, 38]))) AS first_trade_price,
    countIf(sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < auction_ts AND NOT hasAny(conditions, [15, 16, 38])) AS trades_before_official_open,
    countIf(sip_timestamp >= toDateTime('2026-07-02 09:30:00', 'America/New_York') AND sip_timestamp < auction_ts AND NOT hasAny(conditions, [15, 16, 38])) AS bell_to_cross_trades,
    countIf(has(conditions, 16) AND sip_timestamp >= '2026-07-02 00:00:00') AS official_open_msgs,
    countIf(has(conditions, 16) AND sip_timestamp >= '2026-07-02 00:00:00' AND exchange = listing_exchange) AS listing_venue_open_msgs,
    round(toFloat64(anyIf(price, has(conditions, 16) AND sip_timestamp >= '2026-07-02 00:00:00' AND exchange = listing_exchange)) - toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00')), 4) AS listing_open_msg_price_difference
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'

Pierwsza transakcja AAPL uwzględniona w wolumenie dnia 2 lipca wystąpiła o godzinie 04:00:00 ET przy cenie $296.1. Oficjalne otwarcie nastąpiło dopiero o godzinie 09:30:00.491313 ET, kiedy aukcja zamknęła się na poziomie $294.1 — do tego czasu na rynku odnotowano już 15832 transakcji AAPL, w tym 173 w ułamku sekundy między 9:30:00.000 a aukcją — są to ciągłe transakcje na innych platformach, które rozpoczynają dopasowywanie zleceń wraz z otwarciem sesji. Chwilę później wystąpiło 2 komunikatów typu "Market Center Official Open" (warunek sprzedaży 16) — każdy ośrodek rynkowy rejestruje własne oficjalne otwarcie, nie zwiększając wolumenu; giełda notująca powtarza dokładnie cenę z aukcji (różnica: 0).

Zestawienie obejmuje również lukę nocną. Poprzednie oficjalne zamknięcie AAPL — dokładnie 1 transakcja zamknięcia dnia 1 lipca — wyniosło $294.38; aukcja następnego ranka odnotowała cenę $294.1, co oznacza zmianę nocną na poziomie -0.1%. Spokojna noc, niewielka luka. Gdy w nocy pojawiają się wyniki finansowe lub wiadomości, najpierw następuje wycena na rynku przedsesyjnym; aukcja utrwala tę zmianę w oficjalnym zapisie.

Jak działa aukcja otwarcia? Zlecenia market-on-open oraz limit-on-open

Dwa dedykowane typy zleceń realizowanych jest podczas otwarcia, analogicznie do ich odpowiedników sesji zamknięcia:

  • Zlecenie market-on-open (MOO) jest realizowane po cenie ustalonej przez aukcję — brak ochrony ceny, niemal gwarantowany udział w oficjalnym otwarciu.
  • Zlecenie limit-on-open (LOO) dołącza do aukcji tylko wtedy, gdy cena otwarcia osiągnie poziom limitu lub będzie od niego korzystniejsza — zapewnia ochronę ceny, ale niesie ryzyko braku realizacji zlecenia.

Oba typy zleceń pozostają na giełdzie do czasu przeprowadzenia aukcji i nie są realizowane podczas handlu przedsesyjnego. Giełdy przestają przyjmować lub modyfikować zlecenia otwarcia krótko przed godziną 9:30 (terminy zależą od konkretnej giełdy), a wielu brokerów ustala wcześniejsze terminy końcowe.

Czym jest nierównowaga aukcji otwarcia?

Przed rozpoczęciem sesji giełdy publikują dane dotyczące nierównowagi (imbalance) dla otwarcia: informują, ile akcji oczekuje na kupno w stosunku do sprzedaży, oraz podają wskazany kurs, po którym nastąpiłaby realizacja aukcji w danym momencie. Nierównowaga po stronie kupujących wynosząca jeden milion akcji oznacza, że na ten moment jeden milion akcji w zleceniach kupna pozostaje niesparowany. Traderzy działający w pre-market monitorują te dane i budują pozycje w oparciu o te informacje.

Świeca 9:30 nie stanowi również oficjalnego otwarcia

Większość platform wykresowych łączy otwarcie z pierwszą minutową świecą: obejmuje ona wszystkie transakcje od 9:30:00.000 do 9:30:59.999 ze wszystkich giełd — aukcję oraz niemal minutę handlu ciągłego. "Otwarcie" na wykresie to pierwsza cena zarejestrowana w tym oknie czasowym, a niekoniecznie cena aukcyjna.

ZapytanieŚwieca 9:30 a świeca 12:30 — SPY, AAPL, NVDA, 2 lipca 2026
Dokładny kod SQL dla każdej liczby
WITH auctions AS (
    SELECT ticker, toFloat64(argMax(price, (size, sip_timestamp))) AS official_open
    FROM global_markets.stocks_trades
    WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
      AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
      AND has(conditions, 17)
    GROUP BY ticker
)
SELECT
    b.ticker AS ticker,
    toFloat64(anyIf(b.open, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York'))) AS bar_0930_open,
    a.official_open AS official_open,
    round(100 * (toFloat64(anyIf(b.open, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York'))) - a.official_open), 0) AS bar_open_minus_official_cents,
    round(sumIf(b.volume, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York')) / 1e3) AS bar_0930_vol_k,
    anyIf(b.transactions, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York')) AS bar_0930_trades,
    round(sumIf(b.volume, b.window_start = toDateTime('2026-07-02 12:30:00', 'America/New_York')) / 1e3) AS bar_1230_vol_k,
    round(sumIf(b.volume, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York')) / sumIf(b.volume, b.window_start = toDateTime('2026-07-02 12:30:00', 'America/New_York')), 1) AS x_0930_vs_1230
FROM global_markets.delayed_stocks_minute_aggs AS b
INNER JOIN auctions AS a ON a.ticker = b.ticker
WHERE b.ticker IN ('SPY', 'AAPL', 'NVDA')
  AND b.window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York')
  AND b.window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
GROUP BY b.ticker, a.official_open
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], b.ticker)

Dnia 2 lipca wszystkie trzy świece z godziny 9:30 otworzyły się powyżej oficjalnego otwarcia: świeca AAPL wykazuje $294.12 względem oficjalnego $294.1 — różnica wynosi 2 centów — przy czym SPY jest o 18 centów, a NVDA o 2 centów powyżej swoich punktów przecięcia. Pierwszą transakcję w każdej świecy stanowiła cena sprzed przecięcia zarejestrowana na innej giełdzie; gdy otwarcie na wykresie różni się od oficjalnego otwarcia o kilka centów, zazwyczaj wynika to właśnie z tego mechanizmu.

Kolumny wolumenu obrazują wagę pierwszej minuty. Świeca AAPL z godziny 9:30 osiągnęła wolumen 743 tysięcy akcji w 14662 transakcjach — co stanowi 6.1 razy więcej niż wolumen świecy z godziny 12:30 wynoszący 121 tysięcy; wskaźnik dla NVDA wyniósł 7.5 razy, a dla SPY 3.6 razy. Minuty o tak wysokim wolumenie mają istotne znaczenie dla VWAP, czyli średniej ważonej ceną wolumenu.

Jak wygląda przebieg całego dnia w okolicach otwarcia?

Podział pełnego arkusza zleceń AAPL z lipca na piętnastominutowe przedziały czasowe 64, od 4:00 do 20:00, pozwala osadzić nagły wzrost aktywności przy otwarciu w szerszym kontekście: wolumen w przedziale przedsesyjnym jest znikomy, gwałtownie rośnie o 9:30, maleje w porze lunchu i ponownie wzrasta przed zamknięciem — kiedy to dzień kończy się tak samo jak się zaczął, przy transakcji krzyżowej obejmującej 10.89 milion akcji AAPL.

ZapytanieWolumen AAPL co 15 min, 2 lipca 2026 — pre-market do after-hours (ET)
Dokładny kod SQL dla każdej liczby
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 MINUTE), '%H:%i') AS et_time,
    round(sum(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
  AND window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York')
  AND window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
GROUP BY et_time
ORDER BY et_time

How do you identify the opening auction print? Sale condition codes

Which print is the auction? The tape itself answers; the code dictionary ships in the same warehouse, and the receipt below is a query, not an assertion.

ZapytanieOznaczenia sesji (tape) dla otwarcia, bezpośrednio ze słownika kodów
Dokładny kod SQL dla każdej liczby
SELECT
    name,
    id,
    toUInt8(JSONExtractBool(update_rules, 'consolidated', 'updates_volume')) AS counts_toward_volume
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks' AND type = 'sale_condition' AND id IN (8, 15, 16, 17, 38)
ORDER BY id

One asymmetry matters. The close gets one consolidated label (code 8, "Closing Prints"); the open's label is per venue: code 17, "Market Center Opening Trade", flags each market center's own opening trade, and the listing exchange's is the auction. SPY's July 2 tape carries 2 such prints — the 122 thousand-share cross plus a 4-share print from another venue — while AAPL and NVDA each show exactly one (1 and 1), all inside the 9:30:00 second (the open_prints_at_0930 column pins it). Every auction number above is the session's largest such print. Code 16, "Market Center Official Open", is the volume-free administrative echo (0 in the volume column), excluded from every denominator with codes 15 and 38.

FAQ dotyczące aukcji otwarcia

O której godzinie odbywa się aukcja otwarcia?

O 9:30 ET, wraz z rozpoczęciem sesji regularnej; transakcje na mniej płynnych walorach mogą nastąpić chwilę później. 2 lipca 2026 r. transakcje dla SPY, AAPL oraz NVDA zostały zarejestrowane dokładnie o godzinie 09:30:00 ET. Dni z planowanym wcześniejszym zamknięciem skracają sesję popołudniową, a nie poranną — aukcja zamknięcia zostaje wtedy przesunięta na 1:00 p.m.; patrz święta giełdowe i wcześniejsze zamknięcia.

Jaka jest oficjalna cena otwarcia?

Cena aukcji otwarcia jest ustalana na giełdzie, na której notowany jest dany instrument. 2 lipca 2026 r. cena transakcji AAPL wyniosła $294.1 — jest to oficjalna cena otwarcia, mimo że 15832 transakcji na AAPL odbyło się wcześniej tego samego ranka.

Czy mogę handlować podczas aukcji otwarcia?

Tak. Zlecenia typu Market-on-open (MOO) oraz Limit-on-open (LOO) są standardem u większości brokerów: zlecenia MOO są realizowane po cenie ustalonej przez aukcję, natomiast zlecenia LOO są realizowane tylko po cenie limitowej lub korzystniejszej. Składanie zleceń kończy się krótko przed 9:30, u wielu brokerów następuje to jeszcze wcześniej.

Dlaczego cena otwarcia akcji znacząco odbiega od ceny zamknięcia z poprzedniego dnia?

Zlecenia gromadzą się przez całą noc podczas zamknięcia giełdy, a aukcja realizuje ten skumulowany popyt i podaż w ramach jednej transakcji. W spokojne noce luka cenowa jest niewielka: zmiana nocna dla AAPL w dniu 2 lipca 2026 r. wyniosła -0.1%.

Czy aukcja otwarcia jest większa niż aukcja zamknięcia?

Nie — aukcja zamknięcia generuje znacznie większy wolumen. 2 lipca 2026 r. wolumen aukcji zamknięcia dla AAPL był 33.7 razy większy od aukcji otwarcia, dla NVDA wynosił 25.2 razy, a dla SPY wynosił 13.5 razy. Przepływy kapitału śledzące benchmarky są realizowane na oficjalnym zamknięciu — aukcja zamknięcia obsługuje te transakcje.


Wszystkie powyższe dane pochodzą z zapisanych, sprawdzalnych zapytań — można rozwinąć kod SQL pod dowolnym panelem w celu przeprowadzenia audytu. Aby przeanalizować aukcję otwarcia dla wybranego symbolu, należy zadać te same pytania w języku angielskim na terminalu Strasmore.