為什麼股票報價會延遲15分鐘?
了解股票報價延遲15分鐘的真正原因:交易所資料授權如何定價,以及這段延遲在真實價格中可能造成的影響,快速掌握即時行情與免費報價的差異。
多數免費網站上的股票報價會延遲15分鐘,原因在於授權規定。資料傳輸管線並不緩慢:價格離開交易所的撮合引擎後,只需不到一秒便可顯示在螢幕上。這15分鐘是合約條款,寫入相關協議中,用來決定哪些機構可以展示即時價格,以及必須支付多少費用。
股票價格在到達你手上前,如何形成
單一美國股票同時在十多個公開交易場所交易,此外還有大量場外交易,並由另一套系統單獨回報成交紀錄。每個交易場所都會公布自己的報價與成交資料。業界規劃將所有資料整合到同一條行情帶中:一套計畫涵蓋 NYSE 掛牌股票,另一套涵蓋 Nasdaq 掛牌股票;負責運作這些系統的處理機構則稱為 SIP,這是 securities information processors 的縮寫。整合後的行情帶會產生全國最佳買賣報價(national best bid and offer),也就是在當下任何交易場所都能取得的最佳買價與賣價組合;完整說明請參閱我們介紹NBBO 是什麼的指南。
交易所也會銷售自有的直接行情資料流。這類資料流的速度更快、內容也比整合行情帶更詳細,且需另行取得授權。
為何股票報價會延遲15分鐘:授權費用的答案
市場資料是交易所的收入來源之一。所有提供價格資料的業者,包括券商、網站、終端機與手機應用程式,都會與交易所及行情資料方案簽訂協議。這些協議會將相同的數據拆分為兩種產品。即時資料須支付費用,並按每位使用者每月申報。延遲資料只要至少延遲15分鐘,就不屬於即時資料方案,資料提供商便可免費提供,且不必按使用者人數計費。
這些方案會疊加多項費用:資料傳輸管道的存取費、每位可查看即時價格者的月費,以及供無人觀看、由機器讀取價格的非顯示費用。費率會公開申報,而且多數年份都會調整,因此制度結構比今年的費率更重要。即時價格是按每位使用者每月計費。沒有人會為已延遲15分鐘的價格付費。
這就是免費版本免費的完整原因。資料量則是即時價格成本的另一半:行情資料會在交易時段持續傳送報價更新;選擇權是最極端的例子,選擇權報價資料流的規模即可說明這一點。
15分鐘延遲實際上值多少
延遲造成的影響,取決於這段期間內價格變動了多少,而這可以量化。下圖涵蓋截至2026年6月 SPY(追蹤 S&P 500 的基金)每個正常交易時段的分鐘K線,將每根K線與15分鐘後的K線比較,並依前一根K線所處的小時分組。
每個數據背後的精確 SQL 語法
WITH regular_bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toTimeZone(window_start, 'America/New_York') + INTERVAL 15 MINUTE AS et_later,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
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
)
SELECT
formatDateTime(toStartOfHour(a.et), '%H:%i') AS et_time,
round(quantileDeterministic(0.5)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS median_gap_pct,
round(quantileDeterministic(0.95)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS p95_gap_pct,
count() AS sample_count
FROM regular_bars AS a
INNER JOIN regular_bars AS b ON b.et = a.et_later
GROUP BY et_time
ORDER BY et_time開盤第一小時自美東時間上午9:30開始。該時段內的K線在隨後15分鐘的變動中位數為 0.125%,第95百分位數為 0.556%。在 15:00 時段,中位數為 0.065%。每個分組合併 630 組彼此重疊的分鐘配對,因此這些是典型數值,不是某一天的偶然結果。曲線並不平坦,固定延遲在不同時段會隱藏不同程度的價格變動。
隱藏的變動程度也取決於個別標的。同樣的計算方式,涵蓋六檔市場普遍熟悉的 ticker,期間則為同一個月。
每個數據背後的精確 SQL 語法
WITH regular_bars AS
(
SELECT
ticker,
toTimeZone(window_start, 'America/New_York') AS et,
toTimeZone(window_start, 'America/New_York') + INTERVAL 15 MINUTE AS et_later,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'AMD')
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
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
)
SELECT
a.ticker AS ticker,
round(quantileDeterministic(0.5)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS median_gap_pct,
round(quantileDeterministic(0.99)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS p99_gap_pct
FROM regular_bars AS a
INNER JOIN regular_bars AS b ON b.ticker = a.ticker AND b.et = a.et_later
GROUP BY ticker
ORDER BY median_gap_pct DESCAMD 的典型價差為六檔中最寬,達 0.361%;SPY 最窄,為 0.071%。第99百分位數欄位值得特別留意:在該月最極端的百分之一、共15分鐘的時段中,AMD 的變動幅度達到 2.532%。
以下以單一交易日呈現相同概念。圖表先找出2026年6月 SPY 日內高低價差最大的交易日,再畫出兩條線:每10分鐘時點的即時行情,以及當時延遲15分鐘的頁面所顯示的價格。
每個數據背後的精確 SQL 語法
WITH
widest_session AS
(
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
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 d
ORDER BY (max(toFloat64(high)) - min(toFloat64(low))) / min(toFloat64(low)) DESC
LIMIT 1
),
session_bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toTimeZone(window_start, 'America/New_York') - INTERVAL 15 MINUTE AS et_earlier,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND close > 0
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM widest_session)
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
)
SELECT
formatDateTime(a.et, '%H:%i') AS et_time,
round(a.px, 2) AS live_price,
round(b.px, 2) AS delayed_price,
round(abs(a.px - b.px), 2) AS gap_delta,
formatDateTime(a.et, '%b %e') AS session_label
FROM session_bars AS a
INNER JOIN session_bars AS b ON b.et = a.et_earlier
WHERE toMinute(a.et) % 10 = 0
ORDER BY a.et在 Jun 9 的 09:50(美東時間),SPY 即時價格為 746.13,延遲畫面則顯示 744.22,兩者相差 $1.91。到了 15:50,兩者分別為 735.29 和 734.49。行情平靜時,兩條線會重疊;行情變動時,兩者便會分開。市場沒有變動時,延遲不會造成損失;但在人們最關注的時刻,延遲造成的影響也最大。
顯示規則:網站必須向你揭露的資訊
Regulation NMS 包含統一顯示要求,即 Rule 603(c)。向大眾提供報價資料的資訊供應商,必須顯示整合後的資訊,包括全國最佳買價與賣價(NBBO)及整合後的最後成交價,而不能把單一交易場所的報價包裝成市場價格。資訊供應商也必須將延遲資料標示為延遲資料,這就是每個金融網站頁面底部小字說明的由來。對閱讀免費報價的投資人而言,這會帶來兩項結論。
- 單一交易所提供的免費即時報價是真實價格,但不是 NBBO。它只顯示某一交易場所的委託簿,買賣價差可能比市場上可取得的最佳報價更寬。
- 顯示即時最後成交價、卻沒有買價或賣價的頁面很常見。最後成交價與報價是分開授權的產品,而最後成交價的授權費較低。
如欲了解兩個交易場所同時出現在委託簿最優價位時會發生什麼情況,請參閱 買賣價鎖定與交叉的市場。
專業或非專業:決定帳單金額的判定標準
個人取得即時資料的費用,取決於其分類;而分類依據是職業,而非資產或收入。按照交易所使用的定義,若同時符合以下所有條件,便屬於非專業訂閱者。
- 您是自然人,資料僅供個人使用,並非代表公司或任何其他實體使用。
- 您未向 SEC、CFTC、州證券主管機關、證券交易所或證券業公會,或期貨契約市場完成註冊或取得資格。
- 您不是投資顧問或資產管理人,也沒有受僱從事依法須取得上述任一註冊資格的工作。
- 您不將資料用於任何商業用途,包括在會補助訂閱費的雇主處使用。
只要有一項不符合,交易所便會將您歸類為專業用戶,並按每家交易所、每位使用者及每月計費,費率是非專業費率的數倍。在基金任職、個人帳戶規模不大的初級分析師,仍屬專業用戶;擁有大額投資組合、但只交易自有資金的退休投資人,則不屬於專業用戶。資料分銷商有義務收集您的回答並回報交易所,因此每次申請即時資料時,都會詢問您的雇主及註冊資格。
什麼是即時快照報價?
快照是你提出要求時取得的一次讀值:可能是最新價格,也可能是當時的買價與賣價。資料只回傳一次,不會持續更新。串流則是持續性的訂閱服務,市場每次變動都會即時推送。
授權定價通常會區分這兩種服務,常見方式是按次查詢計費,對比按使用者每月計費。因此,免費 API 可能只提供延遲的快照端點,而不提供即時串流。
如果每秒重新取得一次快照,實際上就等於自行重建串流;授權協議通常會明文防止這種用法。
如何判斷眼前的價格是否延遲
- 時間戳記是唯一可靠的判斷依據。即時報價的時間戳記,通常會在當前 ET 時間的前後一、兩秒內。
- 當日最高價與累計成交量也會停止更新。因此,延遲頁面可能漏掉十分钟前盤中創下的高點。
- 在 ET 上午9:30開盤後的前15分鐘內,延遲頁面不會顯示當前交易時段的資料,而會顯示前一日收盤價或盤前成交價。
- 觀察數字是否完全不動的靜止測試,只適用於價格會變動的股票。
最後一項判斷需要資料支持。
每個數據背後的精確 SQL 語法
WITH regular_bars AS
(
SELECT
ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toTimeZone(window_start, 'America/New_York') AS et,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'AMD')
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
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
),
stepped AS
(
SELECT
ticker,
et,
px,
lagInFrame(px) OVER (PARTITION BY ticker, session_date ORDER BY et
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_px
FROM regular_bars
)
SELECT
ticker,
round(100 * countIf(px != prev_px) / count(), 1) AS minutes_price_moved_pct,
round(quantileDeterministic(0.5)(abs(px / prev_px - 1) * 10000, toUInt64(toUnixTimestamp(et))), 1) AS median_move_bps
FROM stepped
WHERE prev_px > 0
GROUP BY ticker
HAVING count() > 0
ORDER BY minutes_price_moved_pct DESC截至2026年6月,AMD在正常交易時段的每分鐘中,有99.8%分鐘的價格不同於前一分鐘;每分鐘價格變動中位數為9.6個基點,其中一個基點為百分之一個百分點。六檔股票中,KO的價格重新整理頻率最低,為94.1%。對於交易如此活躍的股票而言,若盤中最後成交價連續數分鐘沒有變動,可以合理推測眼前看到的是延遲或快取價格。對於成交清淡的股票,同樣的靜止狀態很常見,因此時間戳記仍是判斷依據。
哪些免費股票報價確實為即時報價
對個人投資人而言,有兩種來源可靠地提供即時價格;另一種常見標示則值得進一步確認。
- 已入金的券商帳戶。券商會為客戶取得非專業使用者的行情使用權,並透過 App 提供即時報價。因此,開戶表格才會詢問你的雇主資訊。
- 交易所營運商的官方網站,但僅限於該交易所掛牌的標的。這是單一交易場所的即時報價,因此呈現的是單一訂單簿,而非整合後的 NBBO。
- 任何宣稱無須登入或自我聲明即可免費提供即時報價的服務。依賴報價前,請先確認報價上的時間戳記。
如果目的地是程式而非螢幕,分類方式又會不同:機器取用適用 non-display 使用條款,且與按使用者計費的條款分開。我們撰寫的免費股票市場資料 API與使用 SQL 查詢市場資料文章,說明了這些層級。
常見問題
為什麼股票報價會延遲整整15分鐘?
根據交易所資料協議,美國股票價格在延遲達15分鐘後,便不再屬於需付費的即時產品。資料分銷商可發布至少延遲15分鐘的報價,且無須申報使用者人數。
什麼情況會被視為專業市場資料訂戶?
向證券或期貨監管機構註冊、從事投資相關職務、代表某個法人取得資料,或將價格資料用於任何業務用途,都可能符合專業訂戶的定義。個人淨值與帳戶規模均不影響判定。
如何判斷股票報價是否延遲?
將報價時間戳記與目前的 ET 時鐘比對,並查看資料供應商依法必須顯示的延遲標籤。在正常交易時段的活躍股票中,若價格一次停留數分鐘不變,也可能是延遲報價的跡象。
免費即時報價是否等同於 NBBO?
通常不等同。單一交易所提供的免費報價,只反映該交易場所的委託簿。NBBO 則是根據整合行情資料,計算所有交易場所的最佳買價與最佳賣價。
15分鐘延遲會影響收盤資料嗎?
不會。交易時段結束後,收盤價或當日成交量的延遲版本與即時版本完全相同。延遲只會在交易時段內造成影響。
本頁每個圖表都附有產出該圖表的 SQL,因此上述任何數字都能套用至另一檔股票或另一個月份重新計算。若要衡量15分鐘延遲對你所追蹤股票的影響,請在 Strasmore terminal 以一般英文提出查詢。