Strasmore Research
Belajar Matt ConnorOleh Matt Connor · Dikemas kini 2026-07-25 · data as of July 25, 2026 · refreshed weekly

NBBO maksud bida dan tawaran terbaik nasional

NBBO adalah bida dan tawaran terbaik nasional untuk saham AS, sebut harga tergabung yang broker anda mesti padan atau atasi. Ketahui kelajuan kemas kininya dari data sebenar.

NBBO, iaitu bida dan tawaran terbaik nasional, ialah sebut harga tergabung untuk saham AS: harga tertinggi yang ditawar oleh mana-mana pembeli dan harga terendah yang diminta oleh mana-mana penjual, merentas semua bursa secara serentak. Ia adalah sebut harga yang ditunjukkan oleh aplikasi anda dan penanda aras yang mesti dipenuhi atau diatasi oleh broker anda untuk pesanan anda. Setiap nombor di bawah berasal daripada rekod sebut harga sebenar, dengan pertanyaan disertakan.

Apakah NBBO? Definisi dalam bahasa mudah

Saham AS tidak didagangkan di satu tempat sahaja. NYSE, Nasdaq, dan lebih sedozen bursa lain masing-masing menjalankan buku pesanan untuk ticker yang sama, setiap satu dengan bida dan tawaran terbaiknya sendiri. NBBO menggabungkan bahagian atas ini: bida tertinggi di mana-mana, tawaran terendah di mana-mana, bersebelahan dengan saham yang tersedia pada setiap satu. Penggabungan ini dilakukan oleh pemproses maklumat sekuriti, atau SIP — utiliti pasaran yang dikendalikan bersama oleh bursa.

Dua butiran penting perlu difahami awal. Bida dan tawaran boleh berada di dua bursa berbeza serentak. Dan perubahan harga tidak diperlukan untuk kemas kini: perubahan saiz pada harga terbaik yang sama juga menghasilkan rekod baharu. Pedagang memanggil dua harga terbaik ini sebagai the touch; jurang antara keduanya ialah bida-tawaran spread.

Cara membaca sebut harga NBBO: harga, saiz dan rentak

Berikut adalah sepuluh rekod NBBO berturut-turut untuk Coca-Cola (KO) dari jam 1:30 petang Waktu Timur pada sesi dagangan penuh baru-baru ini — sebut harga nasional sebagaimana ia tiba sebenarnya.

PertanyaanKO — sepuluh kemas kini NBBO berturut-turut dari 1:30 petang ET pada sesi baru-baru ini
SQL tepat di sebalik setiap nombor
WITH (
    SELECT max(session_date)
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
               countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS regular_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime(today() - 10)
          AND window_start < toDateTime(today() - 3)
        GROUP BY session_date
        HAVING regular_bars = 390
    )
) AS last_session
SELECT substring(toString(toTimeZone(sip_timestamp, 'America/New_York')), 12, 12) AS et_time,
       round((toUnixTimestamp64Nano(sip_timestamp) - min(toUnixTimestamp64Nano(sip_timestamp)) OVER ()) / 1e6, 2) AS elapsed_ms,
       bid_size AS bid_shares,
       toFloat64(bid_price) AS best_bid,
       toFloat64(ask_price) AS best_ask,
       ask_size AS ask_shares,
       round((toFloat64(ask_price) - toFloat64(bid_price)) * 100, 1) AS spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'KO'
  AND sip_timestamp >= toDateTime(last_session, 'America/New_York') + INTERVAL 13 HOUR + INTERVAL 30 MINUTE
  AND sip_timestamp < toDateTime(last_session, 'America/New_York') + INTERVAL 14 HOUR
  AND bid_price > 0
  AND ask_price > bid_price
ORDER BY sip_timestamp, sequence_number
LIMIT 10

Baca baris pertama sebagai dua tawaran semasa, dicop masa 13:30:02.886 ET. Terbaik pembeli: $83.3 untuk 200 saham. Terbaik penjual: $83.31 untuk 200 saham. Jurang antara keduanya diukur sebanyak 1 sen.

Kiraan saham adalah saiz pada sentuhan — kecairan yang dipamerkan pada dua harga terbaik. Pesanan yang lebih besar daripada saiz itu akan menghabiskannya dan mengisi baki pada harga seterusnya dalam buku. Saiz yang dipamerkan adalah lantai, bukan inventori penuh: lebih banyak minat sering terletak tidak dipamerkan pada atau antara kedua-dua harga tersebut, termasuk dalam kolam gelap.

Sekarang baca ke bawah baris-baris tersebut. Semua 10 rekod tiba dalam masa 484.95 milisaat daripada yang pertama. Tiada jadual — SIP menerbitkan setiap kali pemenang berubah, dan mana-mana daripada empat peristiwa mencetak baris: bidaan yang lebih baik, tawaran yang lebih baik, perubahan dalam saham pada mana-mana harga terbaik, atau satu bursa menggantikan bursa lain di kedudukan teratas. Untuk paparan sepanjang sesi, lihat penerokaan mendalam mikrostruktur.

Adakah NBBO merangkumi lot ganjil?

Kebanyakannya, tidak. Sebut harga nasional dibina hanya daripada minat lot bulat. Pesanan untuk saham yang lebih sedikit daripada lot bulat adalah lot ganjil: ia boleh berada di buku bursa pada harga yang lebih baik daripada bidaan terbaik nasional, berdagang di sana, dan tidak pernah muncul dalam NBBO.

Lot bulat tidak lagi rata-rata 100 saham. Di bawah peraturan sebut harga Reg NMS yang dipinda oleh SEC, ia dibahagikan mengikut harga saham: 100 saham sehingga $250, 40 dari $250.01 hingga $1,000, 10 dari $1,000.01 hingga $10,000, satu di atas itu. Tahap-tahap ini kelihatan dalam pita — panel mengambil saiz bidaan terkecil yang pernah muncul dalam sebut harga konsolidasi untuk enam nama merentas jalur.

PertanyaanSaiz terkecil yang akan dipaparkan oleh NBBO — enam nama merentas peringkat harga
SQL tepat di sebalik setiap nombor
WITH (
    SELECT max(session_date)
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
               countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS regular_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime(today() - 10)
          AND window_start < toDateTime(today() - 3)
        GROUP BY session_date
        HAVING regular_bars = 390
    )
) AS last_session
SELECT ticker,
       round(quantileDeterministic(0.5)(toFloat64(bid_price), toUInt64(sequence_number)), 2) AS share_price,
       min(bid_size) AS smallest_quoted_size,
       round(quantileDeterministic(0.5)(toFloat64(bid_size), toUInt64(sequence_number)), 0) AS median_bid_size
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('F', 'KO', 'NVDA', 'AAPL', 'SPY', 'AZO')
  AND sip_timestamp >= toDateTime(last_session, 'America/New_York') + INTERVAL 10 HOUR
  AND sip_timestamp < toDateTime(last_session, 'America/New_York') + INTERVAL 11 HOUR
  AND bid_price > 0
  AND bid_size > 0
GROUP BY ticker
ORDER BY share_price

Ford, yang disebut harga sekitar $13.9, tidak pernah menunjukkan bidaan lebih kecil daripada 100 saham dalam jam itu; begitu juga Coca-Cola pada $84.18. Apple, pada $314.36, turun kepada 40; AutoZone, pada $3030.52 sesaham, turun kepada 10, dengan bidaan dipaparkan median sebanyak 10. Lantai mengikut tahap harga. Minat lot ganjil dengan harga lebih baik boleh duduk di dalam spread yang diterbitkan tanpa dipaparkan, jadi harga terbaik sebenar yang tersedia kadangkala lebih baik daripada yang tersirat oleh NBBO.

Mengapa sebut harga apl anda tidak tepat dengan NBBO langsung

Sebut harga yang anda baca pada telefon telah melalui perjalanan: enjin padanan bursa → SIP → vendor data → broker → skrin. Setiap rekod membawa dua jam — cap masa bursa sendiri dan cap masa SIP semasa penerbitan — dan jurang antara keduanya adalah langkah penyatuan.

PertanyaanCap bursa ke cap SIP — langkah penyatuan, dalam mikrosaat
SQL tepat di sebalik setiap nombor
WITH (
    SELECT max(session_date)
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
               countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS regular_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime(today() - 10)
          AND window_start < toDateTime(today() - 3)
        GROUP BY session_date
        HAVING regular_bars = 390
    )
) AS last_session
SELECT ticker,
       round(quantileDeterministic(0.5)((toUnixTimestamp64Nano(sip_timestamp) - toUnixTimestamp64Nano(participant_timestamp)) / 1000.0, toUInt64(sequence_number)), 1) AS median_micros,
       round(quantileDeterministic(0.99)((toUnixTimestamp64Nano(sip_timestamp) - toUnixTimestamp64Nano(participant_timestamp)) / 1000.0, toUInt64(sequence_number)), 1) AS p99_micros
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'NVDA', 'AAPL', 'KO')
  AND sip_timestamp >= toDateTime(last_session, 'America/New_York')
  AND sip_timestamp < toDateTime(last_session + 1, 'America/New_York')
  AND participant_timestamp > toDateTime64('2020-01-01 00:00:00', 9)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'NVDA', 'AAPL', 'KO'], ticker)

Jurang median pada SPY diukur 229.1 mikrosaat — per juta saat — dan Apple 203.4. Ekornya lebih gemuk daripada bahagian tengah: persentil ke-99 Nvidia mencecah 536.9 mikrosaat. SIP tidak perlahan dalam erti kata manusia. Dua perkara lain yang menjadi punca.

Pertama, data anda mungkin sengaja dilewatkan. Suapan sebut harga percuma dalam apl runcit dan laman web carta biasanya dilewatkan 15 minit di bawah terma pelesenan bursa; penstriman masa nyata adalah hak berbayar.

Kedua, firma profesional tidak menunggu SIP. Setiap bursa juga menjual suapan langsung dari enjin padanannya sendiri. Sebuah firma yang ditempatkan bersama membacanya dan mengira bida dan tawaran terbaiknya sendiri sebelum versi SIP bagi peristiwa itu tiba — kelebihan mikrosaat, yang menentukan bagi pembuat pasaran yang memetik kedua-dua belah sepanjang hari.

Berapa kerap NBBO dikemas kini? Saham cair vs saham jarang dagangan

Setiap saham tersenarai mempunyai NBBO, dan kadar kemas kininya adalah petunjuk kecairan. Jadual ini memaparkan purata sesi penuh terkini bagi empat nama yang kerap didagangkan dan dua syarikat kecil yang jarang dagangan — Nathan's Famous (NATH) dan Seneca Foods (SENEA).

PertanyaanKemas kini NBBO setiap sesi — empat nama yang kerap didagangkan berbanding dua saham kecil tipis
SQL tepat di sebalik setiap nombor
SELECT ticker,
       uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS sessions,
       round(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) AS avg_updates_per_session,
       round(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) / 1e6, 3) AS avg_updates_per_session_m,
       round((count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) / min(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) OVER (), 0) AS multiple_of_quietest
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'NVDA', 'AAPL', 'KO', 'SENEA', 'NATH')
  AND sip_timestamp >= toDateTime(today() - 10)
  AND sip_timestamp < toDateTime(today() - 3)
  AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) IN (
      SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
      FROM global_markets.delayed_stocks_minute_aggs
      WHERE ticker = 'SPY'
        AND window_start >= toDateTime(today() - 10)
        AND window_start < toDateTime(today() - 3)
      GROUP BY session_date
      HAVING countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) = 390
  )
GROUP BY ticker
ORDER BY indexOf(['SPY', 'NVDA', 'AAPL', 'KO', 'SENEA', 'NATH'], ticker)

SPY, ETF S&P 500, mencatatkan purata 3.428 juta kemas kini NBBO setiap sesi — 2031 kali ganda berbanding nama paling sunyi dalam jadual. Nvidia mencatatkan purata 1.85 juta, Apple 1.336 juta. Kemudian jurang yang ketara: Seneca Foods mencatatkan 8097 kemas kini dalam sesi purata, Nathan's Famous 1688. Tiada manusia yang boleh membaca skrin pada kadar SPY: NBBO adalah suapan yang direka untuk mesin.

Apabila NBBO dikemas kini paling pantas: pembukaan berbanding tengah hari

Kadar kemas kini juga mengikut rentak harian. Carta ini memaparkan purata kemas kini NBBO Apple seminit dalam kumpulan masa setengah jam (Waktu Timur); lajur terakhir menunjukkan setiap kumpulan sebagai peratusan daripada kumpulan 9:30.

PertanyaanAAPL — purata kemas kini NBBO seminit mengikut kumpulan setengah jam (ET, 4 pagi hingga 8 malam)
SQL tepat di sebalik setiap nombor
SELECT et_time,
       avg_updates_per_minute,
       round(100 * avg_updates_per_minute / maxIf(avg_updates_per_minute, et_time = '09:30') OVER (), 1) AS pct_of_opening_bucket
FROM (
    SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
           round(count() / (uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) * 30)) AS avg_updates_per_minute
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= toDateTime(today() - 10)
      AND sip_timestamp < toDateTime(today() - 3)
      AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) IN (
      SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
      FROM global_markets.delayed_stocks_minute_aggs
      WHERE ticker = 'SPY'
        AND window_start >= toDateTime(today() - 10)
        AND window_start < toDateTime(today() - 3)
      GROUP BY session_date
      HAVING countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) = 390
  )
    GROUP BY et_time
    HAVING et_time >= '04:00' AND et_time < '20:00'
)
ORDER BY et_time

Dalam setengah jam selepas lelongan pembukaan, sebut harga nasional Apple dikemas kini 5657 kali seminit secara purata, dan kumpulan 10:00 mengekalkan kadar tersebut pada 89.5% daripadanya. Urus niaga kemudian menipis pada pertengahan hari: kumpulan 2:30 mencatatkan 1973 kemas kini seminit, iaitu 34.9% daripada kadar pembukaan. Lonjakan 3:30 menjelang penutup hanya memulihkan sebahagian daripada kadar tersebut — 3345 seminit, 59.1% daripada pembukaan — jadi sebut harga paling padat berlaku pada jam pertama, bukan jam terakhir. Di luar waktu biasa, urus niaga hampir senyap, menurun kepada 17 kemas kini seminit selepas loceng 4:00 petang.

Apa yang berlaku pada NBBO semasa penggantungan dagangan?

Apabila harga saham bergerak terlalu laju dan terlalu jauh, peraturan had-atas/had-bawah memberhentikannya selama lima minit. Sebut harga tidak lenyap dan tidak kekal hidup: ia berhenti dikemas kini, dan rekod terakhir sebelum jeda adalah bingkai yang tertinggal pada skrin anda. GameStop (GME) telah mencetuskan jeda sebegitu sejurus selepas pukul 11:00 pagi Waktu Timur pada 14 Mei 2024; panel ini menjejaki kemas kini sebut harga dan dagangannya, minit demi minit, merentasi peristiwa tersebut.

PertanyaanGME, 2024-05-14 — kemas kini NBBO dan dagangan seminit merentas jeda LULD lima minit
SQL tepat di sebalik setiap nombor
WITH spine AS (
    SELECT toStartOfMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2024-05-14 10:57:00', 'America/New_York')
      AND window_start < toDateTime('2024-05-14 11:12:00', 'America/New_York')
),
gme_trades AS (
    SELECT toStartOfMinute(toTimeZone(window_start, 'America/New_York')) AS et_min,
           sum(transactions) AS trades
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'GME'
      AND window_start >= toDateTime('2024-05-14 10:57:00', 'America/New_York')
      AND window_start < toDateTime('2024-05-14 11:12:00', 'America/New_York')
    GROUP BY et_min
),
gme_quotes AS (
    SELECT toStartOfMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_min,
           count() AS nbbo_updates
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'GME'
      AND sip_timestamp >= toDateTime('2024-05-14 10:57:00', 'America/New_York')
      AND sip_timestamp < toDateTime('2024-05-14 11:12:00', 'America/New_York')
    GROUP BY et_min
)
SELECT formatDateTime(spine.et_min, '%H:%i') AS et_time,
       ifNull(gme_quotes.nbbo_updates, 0) AS nbbo_updates,
       toUInt64(ifNull(gme_trades.trades, 0)) AS trades
FROM spine
LEFT JOIN gme_quotes ON gme_quotes.et_min = spine.et_min
LEFT JOIN gme_trades ON gme_trades.et_min = spine.et_min
ORDER BY spine.et_min

Dalam minit sebelum jeda, 11:00, sebut harga tergabung GameStop dikemas kini 4511 kali berbanding 12419 dagangan. Kemudian kedua-dua ruangan jatuh menurun: 0 rekod sebut harga pada 11:02 dan 0 pada 11:03, dengan 0 dagangan sepadan — sebut harga yang berhenti bergerak, dalam saham yang berhenti didagangkan. Sebut harga kembali pada 11:06, minit pembukaan semula, dengan 4155 kemas kini dan 14007 dagangan, minit dagangan paling berat dalam jadual. NBBO terakhir saham yang digantung adalah fosil, bukan harga yang boleh didagangkan; sesi GameStop Januari 2021 menunjukkan apa yang dilakukan oleh rangkaian jeda sebegitu pada pita dagangan.

Mengapa broker anda mesti mengisi pesanan anda pada NBBO atau lebih baik

NBBO adalah penanda aras kawal selia. Peraturan NMS — buku peraturan struktur pasaran SEC yang diterima pakai pada 2005 — mengandungi peraturan perlindungan pesanan, Peraturan 611: venue tidak boleh melaksanakan pada harga yang lebih buruk daripada sebut harga terlindung yang dipaparkan di bursa lain. Broker juga berhutang pelaksanaan terbaik kepada pelanggan, diukur berdasarkan NBBO: belian pasaran harus diisi pada tawaran terbaik nasional atau lebih rendah, jualan pasaran pada bida terbaik nasional atau lebih tinggi.

Kebanyakan pembaca runcit terlepas pandang ini: pesanan pasaran anda biasanya tidak pernah sampai ke bursa. Kebanyakan aliran boleh pasar runcit dihalakan ke pemborong — pembuat pasaran luar bursa yang membayar hak untuk mengisinya — dan dilaksanakan secara dalaman, dicetak ke kemudahan pelaporan luar bursa. NBBO tetap mengawal mereka: pemborong mesti menyamai atau mengatasi sebut harga nasional pada saat pelaksanaan, dan bersaing untuk aliran tersebut dengan mengatasinya — mengisi sebahagian kecil sen di dalam spread, yang dikenali sebagai penambahbaikan harga. NBBO adalah harga rujukan, bukan venue; jenis pesanan yang anda pilih menentukan sama ada anda merentasi spread langsung.

Soalan Lazim

Adakah NBBO merangkumi lot ganjil?

Tidak. Sebut harga nasional dipasang hanya daripada sebut harga lot bulat, dan Reg NMS menentukan lot bulat mengikut harga — 100 saham di bawah $250, hingga satu saham di atas $10,000. Bidaan terkecil yang ditunjukkan oleh pita untuk Ford di atas ialah 100 saham, berbanding 10 untuk AutoZone, yang harga sahamnya jauh lebih tinggi. Lot ganjil dengan harga lebih baik terletak di dalam spread yang diterbitkan tanpa dipaparkan.

Mengapa sebut harga dalam aplikasi broker saya berbeza daripada NBBO langsung?

Dua sebab, dan bukan kerana SIP. Suapan runcit percuma biasanya tertunda 15 minit di bawah peraturan pelesenan bursa melainkan anda membayar untuk masa nyata. Dan data konsolidasi ialah gambaran seketika yang diterbitkan: langkah konsolidasi mengambil masa 229.1 mikrosaat pada median untuk SPY, manakala firma yang menggunakan suapan langsung bursa melihat peristiwa itu lebih awal.

Apa yang berlaku kepada NBBO apabila saham dihentikan dagangan?

Ia membeku. Semasa jeda had naik/had turun lima minit GameStop di atas, pita membawa 0 kemas kini sebut harga pada 11:03 dan 0 dagangan. Sebut harga terakhir kekal pada skrin tetapi tidak boleh didagangkan; lelongan pembukaan semula menetapkan sebut harga seterusnya.

Adakah NBBO wujud selepas waktu dagangan?

Ya. Sebut harga konsolidasi mengalir dari 4:00 pagi hingga 8:00 malam ET, jadi sebut harga nasional wujud sepanjang dagangan prapasaran dan selepas waktu — pada sebahagian kecil kadar waktu siang: 65 kemas kini Apple seminit dalam kumpulan prapasaran terakhir berbanding 5657 selepas pembukaan.

Nota data: tetingkap dan penapis

Tetingkap bergulir berakhir tiga hari sebelum penjanaan (kelewatan pengambilan pendek berada di pinggir hadapan suapan) dan hanya mengira sesi penuh — hari di mana SPY mencetak kesemua 390 bar minit waktu biasa. Panel Coca-Cola mengecualikan rekod sebelah dan bersilang; panel pengiraan mengambil setiap rekod seadanya (pasaran terkunci dan bersilang merangkumi yang dikecualikan). Panel GameSpot dipasang pada tarikh tetap, dengan bar minit SPY sebagai tulang belakang jam, jadi minit yang dijeda menunjukkan sebagai sifar.


Setiap panel disertakan dengan SQL yang menghasilkannya — buka satu, gantikan dengan ticker anda sendiri, dan kira kemas kini NBBOnya pada terminal Strasmore.