寄り付きオークションとは?株価の始まり方
寄り付きオークションの仕組みと、米東部時間午前9時30分の一度のクロス取引が公式始値を決める理由、初回取引と異なる仕組みを解説します。
寄り付きオークションは、米東部時間午前9時30分に成立する単一のクロス取引で、各銘柄の公式始値を決定します。取引開始前に、上場取引所は寄り付き指定の注文をすべて集め、最も多くの株式が売買成立する価格を算出します。その後、注文全体を一つの約定として執行します。これは、一日の取引を終える引けのオークションの朝版です。以下の数値はすべて、米国株の全取引を記録する公開データであるコンソリデーテッド・テープに基づいています。各パネルには、対応する正確なSQLを添付しています。
オープニング・オークションとは何か?平易な定義
取引所は9時30分に単純に取引を開始し、注文を一件ずつ約定させるわけではありません。夜間およびプレマーケットの時間帯に、上場取引所は寄り付き用に指定された注文と、取引所の板に残っている対象の指値注文を蓄積します。そして取引開始のベルと同時に、その注文全体を一つの取引として、単一の価格で成立させます。この約定には独自の売買条件コード(コード 17、「Market Center Opening Trade」、最後のパネルに表示されるレシート)が付き、その価格が公式な始値になります。これは一日の価格記録における「始値」であり、「ギャップアップ」や「ギャップダウン」の基準となる価格です。オークションと連続取引市場は同じティッカーに記録されます。取引開始時に変わるのは、約定の仕組みです。
実際の約定データに見る寄り付きオークション:SPY、AAPL、NVDA
以下のパネルでは、検証済みの通常取引日である2026年7月2日(次のパネルに受領記録を掲載)について、SPY、AAPL、NVDAの寄り付きクロスの規模を、それぞれの当日全体の取引と比較しています。「約定出来高」には、テープ上で市場全体の出来高に加算される株式だけを含めています。管理上のメッセージ(売買条件 15、16、38)は、すべての分母から除外しています。
| ティッカー | オークション株式数 k | オークション価格 | オークション時刻 ET | 寄り付き約定件数 | 0930時点の寄り付き約定 | 最小寄り付き約定株式数 | 最初の5セッションの株式数 k | 最初の5セッションに占めるオークション比率 | 一日に占めるオークション比率 | 引けオークション株式数 m | 終値対始値 x |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SPY | 122 | 747.22 | 09:30:00 | 2 | 2 | 4 | 1295 | 9.4 | 0.21 | 1.65 | 13.5 |
| AAPL | 323.3 | 294.1 | 09:30:00 | 1 | 1 | 323338 | 1856 | 17.4 | 0.43 | 10.89 | 33.7 |
| NVDA | 690 | 197.12 | 09:30:00 | 1 | 1 | 690026 | 5006 | 13.8 | 0.48 | 17.38 | 25.2 |
各数値の背後にある正確なSQL
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)まずAAPLの行を確認します。寄り付きクロスは323.3千株、価格は$294.1で、09:30:00 ETに記録されています。NVDAのクロスは690千株、SPYは122千株でした。クロスだけで、取引開始後5分間に約定したAAPL株(1856千株)の17.4%を占めました。NVDAは13.8%、SPYは9.4%です。一方、終日ベースではそれぞれ0.43%、0.48%、0.21%にすぎず、いずれも0.5%未満でした。
最後の2列は、寄り付きと引けの対比を示しています。同じ日のAAPLの引けのクロスでは10.89百万株が約定し、寄り付きの33.7倍でした。NVDAは25.2倍、SPYは13.5倍でした。インデックスファンドやベンチマーク連動型の運用デスクは公式の終値で取引するため、そのフローは午後4時のクロスに集中します。朝には同等の取引はありません。引けのオークションはその日の最大の取引であり、寄り付きオークションは公式な取引日の始点です。
公式始値がその日の最初の約定と異なるのはなぜか?
オークションが始まる頃には、通常、株式はすでに何時間も取引されています。プレマーケット取引はET午前4時という早い時間から始まりますが、これらの約定はいずれも公式始値を決めません。以下の一行の記録は、2026年7月1日から2日にかけてのAAPLを対象とし、まず取引セッションを確認しています。7月2日のSPYは、完全なセッションであることを前提ではなく検証した結果、正確に390本のレギュラーセッションの1分足を記録しました。
| SPYのJul02セッションバー | Jul01引け約定件数 | 前日終値 | 寄り付き約定件数 | オークション価格 | オークション ET | 夜間ギャップ率 | 最初の取引 ET | 最初の取引価格 | 公式寄り付き前の取引件数 | 取引開始ベルからクロスまでの取引件数 | 公式寄り付きメッセージ数 | 上場市場寄り付きメッセージ数 | 上場市場寄り付きメッセージ価格差 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 390 | 1 | 294.38 | 1 | 294.1 | 09:30:00.491313 | -0.1 | 04:00:00 | 296.1 | 15832 | 173 | 2 | 1 | 0 |
各数値の背後にある正確なSQL
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'AAPLで7月2日に出来高としてカウントされる最初の約定は、ET04:00:00に$296.1で成立しました。公式始値が成立したのはET09:30:00.491313で、クロス取引が$294.1で成立した時点です。その時までに、AAPLではすでに15832件の約定が記録されていました。これには、9:30:00.000からクロス成立までの数分の一秒間に記録された173件も含まれます。これらは、取引開始のベルと同時にマッチングを始める他の取引所での継続取引です。その直後、2件の「Market Center Official Open」メッセージ(売買条件コード16)が記録されました。これは各マーケットセンターが記録する自社の公式始値で、出来高は追加されません。上場取引所のメッセージはオークション価格を正確に繰り返しており、差額は0です。
この記録では、翌日までのギャップも測定しています。AAPLの前回の公式終値は、7月1日に成立した正確に1件目の終値取引で、$294.38でした。翌朝のオークションは$294.1で成立し、夜間の変化率は-0.1%でした。夜間が静かであれば、ギャップは小さくなります。決算やニュースが夜間に発表されると、まずプレマーケットで価格が再評価されます。オークションは、その値動きを公式記録に刻みます。
オープニング・オークションはどのように機能するのか?Market-on-open注文とlimit-on-open注文
寄り付きには、引け側の同種の注文に対応する二つの専用注文タイプが使われます。
- market-on-open(MOO)注文は、オークションで決まった価格で約定します。価格保護はなく、公式の寄り付きにほぼ確実に参加できます。
- limit-on-open(LOO)注文は、寄り付き価格が指定した指値以下の場合に限りオークションに参加します。価格保護がある一方、クロスを逃すリスクがあります。
どちらもクロスが成立するまで取引所に残り、その間にプレマーケットで約定することはありません。取引所は通常、9時30分の直前に寄り付き注文の受付や変更を停止しますが、締切時刻は取引所によって異なります。多くのブローカーは、これより早い締切を設定しています。
オープニング・オークションのインバランスとは?
寄り付き前、取引所は寄り付きのインバランスデータを公表します。そこには、買い注文と売り注文の待機株数に加え、その時点でクロスが成立すると見込まれる気配価格が示されます。買いインバランスが一百万株である場合、買いの未約定注文が現時点で一百万株分あることを意味します。プレマーケットのトレーダーは、これらのデータを監視し、それを踏まえてポジションを構築します。
9時30分の分足も公式寄り付きではありません
多くのチャートプラットフォームは、9時30分の最初の一分足に寄り付きを組み入れます。9:30:00.000から9:30:59.999までに、すべての取引所で成立した取引が対象です。オークションと、その後の継続取引がほぼ一分間含まれます。この足の「始値」は、その時間帯に最初に記録された約定値であり、必ずしもオークションの価格ではありません。
| ティッカー | 0930バー始値 | 公式寄り付き | バー始値と公式始値の差(セント) | 0930バー出来高 k | 0930バー取引件数 | 1230バー出来高 k | 0930対1230 x |
|---|---|---|---|---|---|---|---|
| SPY | 747.4 | 747.22 | 18 | 479 | 8632 | 133 | 3.6 |
| AAPL | 294.12 | 294.1 | 2 | 743 | 14662 | 121 | 6.1 |
| NVDA | 197.14 | 197.12 | 2 | 1688 | 36319 | 226 | 7.5 |
各数値の背後にある正確なSQL
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)7月2日、3銘柄すべてで9時30分の足が公式寄り付きより高く始まりました。AAPLの足は$294.12を示し、公式の$294.1とは2セント離れていました。SPYは18セント、NVDAは2セント、それぞれ公式のクロス価格を上回りました。別の取引所でクロス成立前に約定した取引が、各足の最初の約定として取り込まれました。チャートの始値が公式寄り付きと数セント違う場合、通常はこれが原因です。
出来高の列は、最初の一分間の比重を示します。AAPLの9時30分の足では、14662件の取引で743千株が成立しました。これは12時30分の昼休みの足(121千株)の6.1倍です。NVDAは7.5倍、SPYは3.6倍でした。このように出来高の大きい分足は、出来高加重平均価格(VWAP)に大きく影響します。
寄り付き前後の一日はどのような値動きになりますか?
AAPLの7月2日の全取引を、午前4時から午後8時まで64四時間ごとの区間に分けると、寄り付き直後の急増を全体の中で捉えられます。プレマーケットの区間では取引高はほとんど目立ちません。午前9時30分に取引高が大きく増え、昼頃にかけて細り、引けに向けて再び増加します。一日の終わりには、始まりと同じく、AAPL株10.89百万株のクロス取引が一度成立しました。
| ET時刻 | 株式数 m |
|---|---|
| 04:00 | 0.1 |
| 04:15 | 0.01 |
| 04:30 | 0 |
| 04:45 | 0 |
| 05:00 | 0.01 |
| 05:15 | 0 |
| 05:30 | 0.01 |
| 05:45 | 0.01 |
| 06:00 | 0.01 |
| 06:15 | 0.01 |
| 06:30 | 0.01 |
| 06:45 | 0 |
| 07:00 | 0.02 |
| 07:15 | 0.01 |
| 07:30 | 0.01 |
| 07:45 | 0.01 |
| 08:00 | 0.02 |
| 08:15 | 0.02 |
| 08:30 | 0.04 |
| 08:45 | 0.03 |
各数値の背後にある正確なSQL
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寄り付きオークションの約定を特定するには? 売買条件コード
どの約定がオークションか。テープ自体が答えます。コード辞書は同じデータセットに含まれており、以下の記録は断定ではなくクエリ結果です。
| name | id | 出来高に算入 |
|---|---|---|
| Closing Prints | 8 | 1 |
| Market Center Official Close | 15 | 0 |
| Market Center Official Open | 16 | 0 |
| Market Center Opening Trade | 17 | 1 |
| Corrected Consolidated Close (per listing market) | 38 | 0 |
各数値の背後にある正確なSQL
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重要なのは非対称性です。引けには統合されたラベルが一つあります(コード 8、「Closing Prints」)。一方、寄り付きのラベルは取引所ごとに付与されます。コード 17、「Market Center Opening Trade」は、各マーケットセンターの寄り付き約定を示し、上場取引所の約定がオークションです。SPYの7月2日のテープには、この種の約定が 2 件あります。内訳は 122 千株のクロスと、別の取引所での 4 株の約定です。AAPLとNVDAにはそれぞれ一件だけ表示されます(1 と 1)。いずれも9時30分00秒の秒内です(open_prints_at_0930 列で確認できます)。上記のオークション数量はすべて、そのセッションで該当する約定のうち最大のものです。コード 16、「Market Center Official Open」は、出来高を伴わない事務上の記録です(出来高列は 0)。コード 15 と 38 とともに、すべての分母から除外しています。
寄り付きオークションFAQ
寄り付きオークションは何時ですか?
通常取引が始まる東部時間午前9時30分です。流動性の低い銘柄は、その数秒後に約定することがあります。2026年7月2日には、SPY、AAPL、NVDAの寄り付き約定時刻がいずれも東部時間09:30:00と秒単位で記録されました。取引時間の短縮日は午後の取引時間が短くなるだけで、午前の開始時刻は変わりません。代わりに引けのオークションが午後1時に繰り上がります。市場の休場日と短縮取引日をご覧ください。
公式の始値とは何ですか?
その株式の上場取引所で実施される寄り付きオークションの価格です。2026年7月2日のAAPLの寄り付き約定価格は$294.1でした。これが当日の公式始値です。ただし、その日の朝には15832件のAAPLの約定がそれ以前に成立していました。
寄り付きオークションで取引できますか?
はい。成行寄り付き注文(MOO)と指値寄り付き注文(LOO)は、多くの証券会社で標準的に利用できます。MOOはオークションで決まった価格で約定し、LOOは指定した指値以下でのみ約定します。注文受付は9時30分の少し前に締め切られます。多くの証券会社では、さらに早く締め切られます。
なぜ株価が前日の終値から大きく離れて始まったのですか?
取引所が閉まっている間も注文が蓄積され、オークションではその注文を一つの約定にまとめて執行します。夜間に大きな材料がなければ、価格差は小さくなります。AAPLの2026年7月2日の夜間変動率は-0.1%でした。
寄り付きオークションは引けのオークションより規模が大きいですか?
いいえ。引けのオークションの方が大幅に大きくなります。2026年7月2日、AAPLの引けの約定は寄り付きの33.7倍、NVDAは25.2倍、SPYは13.5倍でした。ベンチマーク連動資金は公式の終値で取引するため、引けのオークションがその終値を形成します。
上記の数値はすべて、保存済みで検証可能なクエリから表示されています。各パネルのSQLを展開すると、内容を監査できます。追跡している銘柄の寄り付き約定を詳しく分析するには、Strasmore terminalで同じ質問を平易な英語で入力してください。