Strasmore Research
学習 Matt Connor著者: Matt Connor ・更新: 2026-10-02

TradegateとXetraの取引時間と価格の違い

Tradegateは22:00まで、Xetraは17:30に終了します。取引時間、公式価格を決める市場、両市場の気配値が異なる理由を比較します。

TradegateとXetraの違いは、実際には取引時間の問題です。XetraはCETの09:00から17:30まで連続取引を行い、最後に引けのオークションを実施します。一方、Tradegateは同じ株式をCETの08:00から22:00まで気配提示します。Xetraの引けのオークションで決まる価格が、ドイツ上場銘柄について、指数計算やファンド評価、ほとんどのデータフィードで使われる公式価格です。その後の4時間半は、Tradegateや他の夜間取引市場で、別々の注文板を通じ、それぞれ独自の価格で取引が続きます。

TradegateとXetraの取引時間を比較

以下の時刻はすべてドイツ現地時間です。冬はCET、夏はCESTです。

  • Xetraの注文受付は07:30に始まり、09:00の取引開始まで寄り付きオークションの呼値受付が続きます。
  • Xetraの連続取引:09:00から17:30まで。13:00頃には短時間の場中オークションがあります。
  • Xetraの引けのオークション:17:30から始まり、その後数分以内のランダムな時刻に終了します。
  • Tradegate Exchange:08:00から22:00まで。連続気配で、オークションはありません。
  • Börse FrankfurtとGettex:08:00から22:00まで。

夜間取引市場にしか存在しない時間帯は二つあります。Xetraの取引開始前の08:00から09:00までと、Xetraの取引終了後の17:30から22:00までです。合計5時間半は、基準市場が閉じている間にも個人投資家の注文が約定し得ます。基準市場の休場日と半日取引の詳細は、Xetraの取引時間と休場日ガイドにまとめています。指数オプションはさらに別の市場と取引時間で取引され、DAXの日次オプションで解説しています。

どの市場の価格が公式価格なのか

Xetraはドイツ株式のReferenzmarkt、つまり基準市場です。この位置付けによって、公式数値の出所が決まります。17:30の引けのオークション価格が公式終値です。DAXの終値やその他のDeutsche Börseの指数ファミリーの算出に使われ、データベンダーがドイツ市場の終値として配信する価格でもあります。指数構成銘柄の一覧は、DAXの構成銘柄に掲載しています。

21:45のTradegateのプリントは、規制取引所で実際に約定し、報告された取引です。ただし公式終値ではありません。DAXの終値は、それより何時間も前にXetraのオークションで確定しています。夜間については、Deutsche Börseが別の参考値であるX-DAXを公表しています。これは現物株のプリントではなく、Eurex先物を基に算出されます。

同じ分に同じ株式が二つの価格を示す理由

読者が気付く価格差のほとんどは、三つの仕組みで説明できます。

  • 別々の注文板。Xetraに回された注文はXetraの他の注文とのみマッチし、Tradegateに回された注文はTradegate内でのみマッチします。共通の待ち行列はありません。
  • 中央注文板ではなく、マーケットメーカーの気配。Xetraは多くの参加者の注文を一つの注文板に集めます。一方、TradegateとGettexはそれぞれ単一のスペシャリストが買い気配と売り気配を提示します。そのため個人投資家の注文は市場全体の注文ではなく、その会社の気配と約定します。
  • コンソリデーテッドテープがないこと。米国では、各市場の最良買い気配と最良売り気配を統合した全国ベスト気配が公表されます。現在の欧州には同等の仕組みがなく、EU規則により導入が進められています。それまでは、アプリに表示される価格は、そのアプリが表示する市場の価格です。

同じ分に数セントの差があるのは、誤りではなく、通常の市場構造です。

薄商いの夜間注文板で実際に起きること

以下のパネルは、ドイツ市場の気配値ベースの履歴を測定したものではありません。ここで示す仕組みは、同じ方法で構築された米国のテープで測定できます。米国市場にも、一つの中央注文板と引けのオークションがあり、その前後に長く薄い時間外取引があります。以下はすべて、2026年6月10日(水)の特定セッションをニューヨーク時間で示したものです。米国市場のセッションに対応するドイツ時間は、ドイツ時間で見た米国株式市場の取引時間にまとめています。

クエリ1取引日全体の10分区間別SPY出来高
96 rows (showing 20)
ET時刻出来高(百万)
04:000.1
04:100.01
04:200.017
04:300.005
04:400.023
04:500.021
05:000.019
05:100.052
05:200.03
05:300.008
05:400.011
05:500.065
06:000.018
06:100.017
06:200.026
06:300.021
06:400.012
06:500.014
07:000.556
07:100.195
各数値の背後にある正確なSQL
SELECT
    formatDateTime(toStartOfInterval(if(has(conditions, 8),
                                        toTimeZone(sip_timestamp, 'America/New_York') - INTERVAL 10 MINUTE,
                                        toTimeZone(sip_timestamp, 'America/New_York')),
                                     INTERVAL 10 MINUTE), '%H:%i') AS et_time,
    round(sum(toFloat64(size)) / 1e6, 3) AS volume_millions
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
  AND sip_timestamp >= toDateTime('2026-06-10 08:00:00')
  AND sip_timestamp <  toDateTime('2026-06-11 00:00:00')
  AND NOT hasAny(conditions, [15, 16, 38])
GROUP BY et_time
ORDER BY et_time
自分で実行する

重要なのは形状です。その日の最初のバケットである04:00(ニューヨーク時間)の取引高は0.1百万株でした。最後の19:50は0.042百万株でした。セッションは合計96個の10分バケットに分かれ、取引高の大きいバケットは中央の狭い範囲に集中しています。

クエリ1セッションの出来高が実際に記録された時間帯別フェーズ
フェーズ出来高(百万)日中比率(%)
premarket 04:00 to 09:303.345.51
first 30 minutes5.028.28
midday 10:00 to 15:5037.4461.76
final 10 minutes and closing print7.1811.85
after hours 16:00 to 20:007.6412.59
各数値の背後にある正確なSQL
WITH
    (
        SELECT sum(toFloat64(size))
        FROM global_markets.stocks_trades
        WHERE ticker = 'SPY'
          AND sip_timestamp >= toDateTime('2026-06-10 08:00:00')
          AND sip_timestamp <  toDateTime('2026-06-11 00:00:00')
          AND NOT hasAny(conditions, [15, 16, 38])
    ) AS day_volume,
    (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
     + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) AS et_minutes
SELECT
    multiIf(has(conditions, 8), 'final 10 minutes and closing print',
            et_minutes < 570, 'premarket 04:00 to 09:30',
            et_minutes < 600, 'first 30 minutes',
            et_minutes < 950, 'midday 10:00 to 15:50',
            et_minutes < 960, 'final 10 minutes and closing print',
                              'after hours 16:00 to 20:00') AS phase,
    round(sum(toFloat64(size)) / 1e6, 2)              AS volume_millions,
    round(100 * sum(toFloat64(size)) / day_volume, 2) AS pct_of_day
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
  AND sip_timestamp >= toDateTime('2026-06-10 08:00:00')
  AND sip_timestamp <  toDateTime('2026-06-11 00:00:00')
  AND NOT hasAny(conditions, [15, 16, 38])
GROUP BY phase
ORDER BY min(et_minutes)
自分で実行する

同じセッションを時間帯別に分けると、オークションの規模が分かります。通常取引の最後の10分間は、その時間帯を終える引けのオークションのプリントを含め、当日の株式取引高の11.85%、7.18百万株を占めました。premarket 04:00 to 09:30の時間帯は5.51%、after hours 16:00 to 20:00の時間帯は12.59%でした。引けのオークションでは、その日に注文板に残った売買意向を一つの価格に集約し、一つのプリントとして約定させます。17:30にXetraが提供するのはこの機能であり、夜間取引市場にはありません。

クエリ1銘柄・1セッションの時間帯別中央値気配スプレッド
ET時刻中央値スプレッド(bps)通常時間中央値(bps)気配値件数
04:0013.761.031478
05:007.231.032069
06:009.31.03518
07:0012.411.032204
08:0012.051.033486
09:001.381.03221100
10:001.041.03278714
11:001.381.03307205
12:001.031.03268189
13:001.021.03249935
14:000.681.03173988
15:000.681.03231589
16:006.511.031321
17:005.831.03340
18:008.941.031106
19:0015.151.031099
各数値の背後にある正確なSQL
WITH
    (
        SELECT round(quantileDeterministic(0.5)(
                   10000 * (toFloat64(ask_price) - toFloat64(bid_price))
                   / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2),
                   toUInt64(sequence_number)), 2)
        FROM global_markets.cache_stocks_quotes
        WHERE ticker = 'AAPL'
          AND sip_timestamp >= toDateTime('2026-06-10 13:30:00')
          AND sip_timestamp <  toDateTime('2026-06-10 20:00:00')
          AND bid_price > 0
          AND ask_price > bid_price
          AND sequence_number > 0
    ) AS regular_session_median
SELECT
    formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
    round(quantileDeterministic(0.5)(
        10000 * (toFloat64(ask_price) - toFloat64(bid_price))
        / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2),
        toUInt64(sequence_number)), 2) AS median_spread_bps,
    regular_session_median   AS regular_hours_median_bps,
    count()                  AS quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
  AND sip_timestamp >= toDateTime('2026-06-10 08:00:00')
  AND sip_timestamp <  toDateTime('2026-06-11 00:00:00')
  AND bid_price > 0
  AND ask_price > bid_price
  AND sequence_number > 0
GROUP BY et_time
ORDER BY et_time
自分で実行する

流動性にはコストがあり、それは提示スプレッドに表れます。このパネルでは、そのセッション中のAAPLの全気配をニューヨーク時間の時間帯別に集計し、スプレッドの中央値をベーシスポイントで示しています。1ベーシスポイントは1パーセントの100分の1です。

通常取引時間の中央値は1.03bpsでした。取引開始にかなり先立つ04:00の時間帯は13.76bpsでした。取引終了後の19:00の時間帯は15.15bpsでした。同じ株式で同じ日でも、注文が到着する時間だけでスプレッドをまたぐコストは変わります。

クエリ夕方の出来高シェアと公式終値との差
シンボル取引終了後出来高(%)取引終了後変動(%)
MSFT12.70.191
SPY12.590.352
KO7.210.633
NVDA7.050.616
AAPL6.920.237
JNJ4.790.038
各数値の背後にある正確なSQL
SELECT
    t.symbol                                                                      AS symbol,
    t.post_close_volume_pct                                                       AS post_close_volume_pct,
    round(abs(100 * (b.last_evening_close / t.closing_print_price - 1)), 3)       AS post_close_move_pct
FROM
(
    SELECT
        ticker                                                                        AS symbol,
        round(100 * sumIf(toFloat64(size), NOT has(conditions, 8)
                          AND toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
                            + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) >= 960)
                  / sum(toFloat64(size)), 2)                                          AS post_close_volume_pct,
        toFloat64(argMaxIf(price, size, has(conditions, 8)))                          AS closing_print_price
    FROM global_markets.stocks_trades
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')
      AND sip_timestamp >= toDateTime('2026-06-10 08:00:00')
      AND sip_timestamp <  toDateTime('2026-06-11 00:00:00')
      AND NOT hasAny(conditions, [15, 16, 38])
    GROUP BY ticker
    HAVING countIf(has(conditions, 8)) > 0
) AS t
INNER JOIN
(
    SELECT
        ticker                                                                        AS symbol,
        toFloat64(argMaxIf(close, window_start,
                           toHour(toTimeZone(window_start, 'America/New_York')) * 60
                             + toMinute(toTimeZone(window_start, 'America/New_York')) >= 960)) AS last_evening_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')
      AND window_start >= toDateTime('2026-06-10 08:00:00')
      AND window_start <  toDateTime('2026-06-11 00:00:00')
    GROUP BY ticker
    HAVING countIf(toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York')) >= 960) > 0
) AS b ON b.symbol = t.symbol
ORDER BY post_close_volume_pct DESC
自分で実行する

最後のパネルでは、同じセッションの保有者が多い6銘柄について二つの点を示しています。当日の取引高のうち16:00の取引終了後に約定した割合と、夜間の最後のプリントがその終値からどれだけ離れていたかです。MSFTは、16:00以降に株式の12.7%が約定し、全銘柄で最大となりました。夜間の最後のプリントは終値から0.191%離れていました。反対に、JNJは4.79%でした。取引高は小さくても、価格差は実際に生じます。ドイツ市場の夜間気配が個人投資家の注文に提供するのは、リアルタイムで約定可能な価格です。ただし、それは基準価格ではなく、同じ厚みの注文板に支えられているわけでもありません。

これらのパネルの作成方法

このセッションは2026年6月10日(水)に固定し、ニューヨーク時間で表示しているため、新しいデータが到着しても数値は変わりません。取引高のパネルは、04:00から20:00までの取引日におけるコンソリデーテッドテープを、取引ごとに読み取っています。このテープの1分足には引けのオークションのプリントが含まれないため、テープを直接読み取り、16:00の取引終了時刻が付いたプリントを、そのプリントで終わる通常取引の最後の10分間に加えています。最後のパネルでは、終値をそのオークションのプリントとし、夜間の最後の価格を16:00以降における最後の1分足の終値としています。スプレッドのパネルは、同じ日の一銘柄について気配値データを読み取り、買い気配が正で、売り気配が買い気配を上回り、利用可能なシーケンス番号を持つ気配だけに絞っています。そのうえで、時間帯ごとに決定論的な中央値を算出するため、再実行しても同じ図が得られます。スプレッドは気配の仲値に対するベーシスポイントで表示しています。ドイツ市場の気配履歴はこれらのパネルに含まれておらず、TradegateやXetraの測定結果でもありません。

17:30以降も注文板に残る指値注文

Xetraに置かれた注文は、引けのオークションが終わると約定可能ではなくなります。デイ注文はそこで失効し、より長い有効期限の注文は、翌日の09:00の寄り付きオークションの呼値受付まで待機します。

同じ注文を夜間取引市場に回すと、22:00まで有効なままです。ただし、反対側には一つのマーケットメーカーしかおらず、反対注文を集約するオークションもありません。17:30の終値付近に厳しく設定した指値注文は、何時間も約定せず、その後、気配の広い端で形成された夜間の急な値動きの中で約定することがあります。その時間帯に成行注文を出せば、単一の気配が提示する価格で約定します。

安全措置も異なります。Xetraでは、次のプリントが基準価格を中心とする一定の範囲を外れる場合、ボラティリティ・オークションを実施して連続取引を中断します。夜間取引市場では代わりにミストレード規則を適用し、約定後に不適切なプリントを取り消します。市場の選択は、個人投資家の口座で何ができるかも左右します。ドイツの個人投資家による空売りは、まず市場の問題であり、それ以外の問題ではありません。

休場日と異なるカレンダー

TradegateとXetraは、ドイツ証券について同じ全日休場日を採用しています。元日、聖金曜日、復活祭翌日の月曜日、5月1日、聖霊降臨祭翌日の月曜日、そしてクリスマスと年末年始にかけての休場日は、両市場とも取引を行いません。

両市場の違いが表れるのは半日取引です。各市場は翌年のカレンダーをそれぞれ公表しており、12月24日と31日の終了時刻はXetraから引き継がれるのではなく、市場ごとに定められます。一方のカレンダーでは全日休場でも、もう一方では短縮取引となる場合があります。そのため、その年について市場が公表したカレンダーだけを信頼すべきです。

よくある質問

TradegateはXetraより長く取引できますか?

はい。TradegateはCETの08:00から22:00まで気配を提示します。Xetraの連続取引は09:00から17:30までです。追加される時間は、Xetraの取引開始前の1時間と、取引終了後の4時間半に分かれます。

ドイツ株の公式終値にはどの価格が使われますか?

CETの17:30に行われるXetraの引けのオークション価格です。指数計算に使われ、データベンダーがドイツ市場の終値として配信する価格でもあります。その後にTradegateや他の夜間取引市場で付いたプリントは実際の約定ですが、公式終値に置き換わることはありません。

同じ時点でTradegateとXetraの価格が異なるのはなぜですか?

両市場は別々の注文板で運営され、共通の待ち行列も、価格を統合するコンソリデーテッドテープもありません。Xetraは多くの参加者の注文をマッチングしますが、Tradegateは一つのマーケットメーカーを通じて気配を提示します。同じ分の中で数セントの差が生じるのは通常のことです。

17:30以降、指値注文はどうなりますか?

注文を置いた市場によって異なります。Xetraでは、次のセッションの寄り付きオークションまで約定可能になりません。夜間取引市場では22:00まで約定可能なままですが、注文板は薄く、気配は広く、オークションによる裏付けもありません。


このページの各パネルには、その下で使ったSQLが付属しているため、上記の数値はすべて行単位で再構築できます。あるセッションの流動性曲線や、1時間にわたるスプレッドを測定したい場合は、Strasmore terminalで質問を平易な英語で入力してください。

#xetra#tradegate#trading hours#german market#venues