Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

Cara Anggar Kedudukan Baris Gilir daripada Data L2

Kedudukan baris gilir menentukan sama ada pesanan pasif memperoleh spread. Ketahui cara menganggarkannya melalui data buku agregat dan bila anda perlu membeli data MBO.

Kedudukan baris gilir ialah tempat anda dalam senarai pesanan yang menunggu pada satu harga, dan di tempat yang mengutamakan harga-masa, ia menentukan sama ada pesanan pasif memperoleh spread atau tidak didagangkan langsung. Data pasaran agregat tidak akan memberikan nombor tersebut kepada anda: buku Level 2 menunjukkan jumlah saiz pada setiap harga, tetapi bukan milik siapa. Berikut ialah cara untuk menganggarkan kedudukan baris gilir daripada data yang dimiliki kebanyakan pedagang, dan cara untuk mengetahui bila anggaran tidak lagi mencukupi.

Mengapa kedudukan baris gilir adalah kelebihan utama

Pesanan pasif terletak dalam buku dan menunggu orang lain merentas spread untuk melaksanakannya. Di bawah keutamaan harga-masa, enjin pemadanan menyusun pesanan yang menunggu mengikut harga terlebih dahulu dan masa ketibaan kemudian. Jika 10,000 saham sudah dibida pada $10.00 dan anda menambah 100 di belakangnya, 10,000 saham itu perlu didagangkan atau dibatalkan sebelum giliran anda tiba. Jika anda membatalkan dan memasukkan semula pada harga yang sama, anda akan kembali ke hujung barisan.

Kedudukan itu menentukan ekonomi dagangan. Berhampiran hadapan, anda kerap berdagang dan mengutip spread serta sebarang rebat tambah-likuiditi, subjek bagi yuran dan rebat maker-taker. Berhampiran belakang, anda hanya berdagang selepas semua orang di hadapan anda telah berdagang, yang berlaku apabila aliran satu hala tiba dalam saiz yang besar. Pelaksanaan di belakang berkumpul pada saat-saat sebelum harga melepasi tahap anda. Harga yang sama, pesanan yang sama, perniagaan yang bertentangan.

Apa yang boleh dan tidak boleh ditunjukkan oleh data Level 2

Level 1 ialah bidaan dan tawaran terbaik dengan saiz pada setiap satunya. Level 2, juga dipanggil pasaran mengikut harga, menambah kedalaman: senarai tahap harga dengan jumlah saiz yang menunggu pada setiap tahap. Kedua-duanya adalah agregat, dan Level 1 lwn Level 2 data pasaran membandingkannya secara penuh. Apabila bidaan pada $10.00 jatuh daripada 10,000 saham kepada 8,500, suapan melaporkan 1,500 saham hilang. Ia tidak menyatakan sama ada saham itu didagangkan, sama ada satu pesanan keluar atau empat puluh, atau di mana kedudukan mereka dalam barisan.

Pelaksanaan adalah separuh yang boleh dilihat: pita mencetak setiap dagangan dengan saiz, jadi anda boleh menolak jumlah itu dengan tepat. Selebihnya ialah pembatalan, dan pembatalan adalah tempat bermulanya tekaan. Panel di bawah mengira mesej pada bahagian atas buku yang disatukan berbanding cetakan pada pita untuk satu saham cair melalui satu sesi biasa, Rabu 10 Jun 2026.

PertanyaanMesej 'top of book' berbanding 'prints' pada pita, AAPL, 10 Jun 2026
SQL tepat di sebalik setiap nombor
SELECT
    q.et_time                            AS et_time,
    q.quote_updates                      AS quote_updates,
    t.trades                             AS trades,
    round(q.quote_updates / t.trades, 1) AS updates_per_trade
FROM
(
    SELECT
        formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
        count() AS quote_updates
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-06-10 12:00:00'
      AND sip_timestamp <  '2026-06-10 20:00:00'
    GROUP BY et_time
) AS q
INNER JOIN
(
    SELECT
        formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS trade_hour,
        count() AS trades
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-06-10 12:00:00'
      AND sip_timestamp <  '2026-06-10 20:00:00'
    GROUP BY trade_hour
) AS t ON q.et_time = t.trade_hour
ORDER BY et_time
Run this yourself

Jam 08:00 berada sebelum loceng pembukaan: bahagian atas buku berubah 0.8 kali bagi setiap cetakan di sana, kurang mesej berbanding cetakan. Di dalam sesi biasa, nisbah itu berubah. Dalam jam 15:00, bahagian atas buku berubah 1.6 kali bagi setiap cetakan, merentasi 233433 mesej dalam jam itu sahaja. Kebanyakan perkara yang berlaku pada tahap harga dalam pasaran terbuka ialah pesanan tiba dan keluar tanpa pernah didagangkan, dan setiap peristiwa itu menggerakkan tempat anda dalam barisan sebanyak jumlah yang tidak dinyatakan oleh mana-mana suapan agregat.

Andaian pembatalan seragam, dan di mana ia menipu anda

Langkah pertama standard mengandaikan pembatalan tersebar secara sekata melalui baris gilir. Panggil x sebagai kedalaman pecahan anda: saham di hadapan anda dibahagikan dengan jumlah yang menunggu pada harga anda. Model seragam menetapkan peluang bahawa mana-mana saham yang dibatalkan berada di hadapan anda sama dengan x, ditulis p(x) = x. Duduk di pertengahan barisan 10,000 saham, lihat 1,000 saham dibatalkan tanpa cetakan, dan model itu memajukan anda 500 tempat.

Baris gilir sebenar adalah condong. Pesanan yang telah lama menunggu cenderung milik seseorang yang berpuas hati untuk menunggu, manakala pesanan yang ditambah sebentar tadi lebih berkemungkinan menjadi sebut harga sementara yang hilang dalam beberapa saat. Pembatalan tertumpu ke arah belakang barisan, berhampiran anda dan di belakang anda. Daripada 1,000 saham yang dibatalkan itu, mungkin 200 berada di hadapan anda, dan model itu mengkreditkan anda dengan 500. Ulangi itu sepanjang hari dan baris gilir simulasi bergerak lebih pantas daripada yang sebenar. Ralat itu berlaku satu hala: lebih banyak pelaksanaan, pada saat yang lebih baik, berbanding pesanan langsung.

Bagaimana baris gilir berkurangan

Pembatalan menggerakkan anda secara tidak kelihatan. Dagangan menggerakkan anda secara kelihatan, mengikut saiz cetakan.

PertanyaanPecahan 'prints' AAPL mengikut saiz dagangan, 10 Jun 2026
SQL tepat di sebalik setiap nombor
SELECT
    multiIf(size < 100,  'under 100 shares',
            size = 100,  'exactly 100 shares',
            size <= 499, '101 to 499 shares',
            size <= 999, '500 to 999 shares',
                         '1000 shares or more')             AS trade_size_group,
    round(100 * count() / sum(count()) OVER (), 1)          AS share_of_prints_pct,
    round(100 * sum(size) / sum(sum(size)) OVER (), 1)      AS share_of_shares_pct
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
  AND sip_timestamp >= '2026-06-10 14:00:00'
  AND sip_timestamp <  '2026-06-10 20:00:00'
GROUP BY trade_size_group
ORDER BY min(size)
Run this yourself

Cetakan di bawah satu lot bulat adalah 90% daripada jumlah pada sesi ini dan 42.5% daripada saham. Blok seribu saham atau lebih adalah 0.2% daripada cetakan dan 19.9% daripada volum. Baris gilir berkurangan dalam jumlah kecil, jadi jurang antara kedudukan 2,000 dan kedudukan 3,500 adalah ratusan cetakan menunggu. Simulator yang memberikan pelaksanaan selepas dua dagangan besar telah melangkaui kebanyakan pita.

Pesanan yang tidak dapat anda lihat

Suapan kedalaman mempunyai had. Jika anda menerima sepuluh tahap harga dan pesanan anda terletak pada tahap kesebelas, pesanan anda berada di luar data: bukan saiz di hadapannya, dan bukan pesanan yang menyertai di belakangnya. Pada ketika itu, anda sedang mencipta nombor tersebut dan bukannya menganggarkannya. Situasi ini adalah biasa, kerana pesanan yang tidak mengejar pasaran akan jatuh dari bahagian dalam dengan cepat.

PertanyaanBidaan terbaik dan paras harga yang dilalui, AAPL, baldi 15 minit
SQL tepat di sebalik setiap nombor
SELECT
    formatDateTime(toStartOfFifteenMinutes(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
    round(avg(toFloat64(bid_price)), 2) AS best_bid,
    uniqExact(bid_price)                AS bid_levels_touched
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
  AND sip_timestamp >= '2026-06-10 14:00:00'
  AND sip_timestamp <  '2026-06-10 20:00:00'
  AND bid_price > 0
GROUP BY et_time
ORDER BY et_time
Run this yourself

Dalam baldi 10:00, bidaan terbaik purata $290.29 dan melawat 187 harga berbeza dalam masa lima belas minit. Setiap harga itu adalah tahap berasingan pada saham yang disebut harga dalam sen, jadi pandangan sepuluh tahap meliputi sepuluh sen buku. Pesanan yang ditinggalkan pada satu harga melalui sesi seperti ini boleh menghabiskan masa yang lama di bawah tahap paling dalam yang boleh dilihat oleh pemiliknya.

Di mana kedudukan baris gilir paling berharga

Kedudukan baris gilir paling berharga di mana penambahbaikan harga adalah mustahil. Saham yang terikat pada spread satu sen tidak memberi ruang untuk memintas barisan dengan harga yang lebih baik: semua orang bertumpuk pada tick yang sama, dan masa ketibaan menentukan selebihnya. Di mana spread selebar beberapa sen, pedagang melangkah di hadapan keseluruhan baris gilir dengan satu sen, dan keputusan harga mengatasi barisan.

PertanyaanPurata 'quoted spread' dan tempoh pada 'spread' satu sen, tengah hari 10 Jun 2026
SQL tepat di sebalik setiap nombor
SELECT
    ticker                                                AS symbol,
    round(avg(toFloat64(ask_price - bid_price)) * 100, 2) AS avg_spread_cents,
    round(100 * countIf(round(toFloat64(ask_price - bid_price) * 100) <= 1) / count(), 1) AS one_cent_pct
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'KO', 'NVDA', 'MSFT', 'BKNG')
  AND sip_timestamp >= '2026-06-10 15:00:00'
  AND sip_timestamp <  '2026-06-10 19:00:00'
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY ticker
ORDER BY avg_spread_cents
Run this yourself

Merentasi empat jam tengah hari sesi yang sama, yang paling ketat daripada enam nama, KO, purata 1.18 sen lebar dan menunjukkan spread satu sen pada 82.5% daripada kemas kini. Yang paling lebar, MSFT, purata 8.46 sen, dengan spread satu sen pada 1.1% daripada kemas kini. Model baris gilir yang ditentukur pada nama pertama tidak memberikan maklumat berguna tentang yang kedua. Pesanan yang menunggu di antara sebut harga, dilindungi dalam pesanan peg titik tengah, membentuk barisan mereka sendiri di bawah peraturan yang sama.

Empat diagnostik untuk ujian belakang anda sendiri

  1. Bandingkan kadar pelaksanaan simulasi dengan kadar pelaksanaan langsung anda pada nama yang sama sepanjang jam yang sama. Simulator yang melaksanakan 70% pesanan yang dilaksanakan 40% masa secara langsung sedang menerangkan andaian anda, bukan pasaran.
  2. Bahagikan pelaksanaan simulasi kepada dua bahagian: bahagian di mana tahap harga bertahan selepas itu, dan bahagian yang berlaku hanya apabila tahap itu selesai sepenuhnya. Bahagian yang tertumpu kepada jenis kedua bermakna simulator memberikan anda pelaksanaan tepat apabila harga didagangkan melepasi anda.
  3. Kurungkan andaian tersebut. Jalankan semula dengan setiap pembatalan diambil dari hadapan baris gilir, kemudian dengan setiap pembatalan diambil dari belakang. Kedua-dua larian itu adalah bar ralat jujur di sekitar mana-mana p(x) yang anda pilih.
  4. Ukur kekerapan harga anda berada di luar kedalaman yang dibawa oleh suapan anda. Pelaksanaan di sana adalah rekaan. Bias pandang ke hadapan dalam ujian belakang menerangkan kegagalan yang sama dari sudut lain: hasil yang bergantung pada maklumat yang tidak pernah dimiliki oleh strategi tersebut.

Bila untuk berhenti memodelkan dan membeli data pesanan

Data pasaran mengikut pesanan (MBO) membawa mesej untuk setiap pesanan individu, dari saat ia tiba hingga saat ia dilaksanakan atau dibatalkan, setiap satunya ditandakan dengan pengecamnya sendiri. Main semula suapan itu dan tempat anda dalam barisan adalah kiraan dan bukannya anggaran, sebaik sahaja anda mengandaikan kelewatan realistik untuk pesanan anda sampai ke tempat tersebut. Ia lebih mahal daripada suapan kedalaman dan lebih besar untuk disimpan.

Diagnostik 3 ialah peraturan keputusan. Jika kurungan hadapan dan belakang kedua-duanya menjadikan strategi itu menguntungkan, andaian tengah akan memadai. Jika strategi itu menjana wang di bawah satu kurungan dan rugi di bawah kurungan yang lain, model baris gilir adalah strateginya, dan membeli suapan pesanan-demi-pesanan adalah lebih murah daripada mempertahankan tekaan.

Tempat pro-rata mengubah soalan

Sesetengah pasaran niaga hadapan dan opsyen membahagikan pesanan masuk merentasi pesanan yang menunggu pada satu harga secara berkadar dengan saiz dan bukannya mengikut urutan ketibaan. Masa kurang penting di sana, dan saiz yang disebut harga menjadi tuil: menggandakan saiz anda secara kasarnya menggandakan bahagian anda bagi setiap pelaksanaan. Mod kegagalan bergerak bersamanya, ke arah menyebut harga saiz yang lebih besar daripada yang anda ingin miliki. Mengapa pesanan opsyen tidak dilaksanakan merangkumi rupa bentuknya dari sisi runcit buku opsyen.

Soalan Lazim

Apakah kedudukan baris gilir dalam dagangan?

Kedudukan baris gilir ialah pangkat anda di kalangan pesanan yang menunggu pada harga yang sama di tempat yang sama. Pada buku keutamaan harga-masa, pesanan di hadapan anda perlu didagangkan atau dibatalkan sebelum pesanan anda boleh didagangkan.

Bolehkah anda mengira kedudukan baris gilir daripada data Level 2?

Tidak tepat. Level 2 menunjukkan jumlah saiz bagi setiap tahap harga tanpa identiti pesanan, jadi apabila saiz hilang tanpa cetakan, anda tidak dapat mengetahui sama ada saham itu berada di hadapan atau di belakang anda. Anda boleh menganggarkan nombor tersebut dan mengurungkan anggaran itu. Angka tepat memerlukan data pesanan-demi-pesanan.

Mengapa kadar pelaksanaan ujian belakang biasanya terlalu tinggi?

Andaian biasa menyebarkan pembatalan secara sekata merentasi baris gilir, manakala pembatalan sebenar tertumpu ke arah belakang. Model sekata memajukan pesanan simulasi anda lebih pantas daripada pergerakan barisan sebenar, yang ditunjukkan sebagai lebih banyak pelaksanaan, dan yang lebih baik, berbanding dagangan langsung.

Apakah data MBO?

Data pasaran mengikut pesanan memberikan setiap pesanan individu mesejnya sendiri, dari ketibaan melalui pelaksanaan atau pembatalan. Ia adalah suapan di mana tempat anda dalam barisan boleh dikira dan bukannya dimodelkan, yang paling penting untuk strategi yang hidup pada spread satu tick.

Adakah kedudukan baris gilir penting di tempat pro-rata?

Kurang penting. Peruntukan pro-rata membahagikan pesanan masuk merentasi pesanan yang menunggu mengikut saiz, jadi tiba dahulu tidak banyak membantu dan saiz yang disebut harga melakukan kerja tersebut. Menyemak model peruntukan yang digunakan oleh sesuatu tempat adalah langkah sebelum sebarang pemodelan baris gilir.


Setiap panel di sini membawa SQL yang menghasilkannya. Tukar ticker, ubah tarikh, dan tanya soalan yang sama tentang nama yang anda dagangkan pada terminal Strasmore.