Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

L2 verisi ile sıra konumu tahmini nasıl yapılır

Pasif emirlerin spread kazancını belirleyen sıra konumunu toplu piyasa verileri üzerinden tahmin etme yöntemleri ve MBO verisine geçişin gerekli olduğu durumlar incelenmektedir.

Sıra konumu, aynı fiyat seviyesinde bekleyen emirler arasındaki yerinizdir; fiyat-zaman öncelikli bir piyasada, pasif bir emrin spread'i alıp almayacağını veya hiç gerçekleşip gerçekleşmeyeceğini bu belirler. Toplu piyasa verileri size bu sayıyı vermez: Level 2 defteri, her fiyatta ne kadar büyüklük olduğunu gösterir ancak kime ait olduğunu göstermez. Aşağıda, çoğu yatırımcının elindeki verilerle sıra konumunun nasıl tahmin edileceği ve tahminin ne zaman yetersiz kaldığının nasıl anlaşılacağı açıklanmaktadır.

Sıra konumu neden tüm avantajı belirler

Pasif bir emir defterde bekler ve bir başkasının spread'i geçip emrinize ulaşmasını bekler. Fiyat-zaman önceliği kuralına göre, eşleşme motoru bekleyen emirleri önce fiyata, sonra varış zamanına göre sıralar. Eğer 10,000 hisse 10,00$ seviyesinde alışta bekliyorsa ve siz arkalarına 100 hisse eklerseniz, sizin sıranız gelmeden önce o 10,000 hissenin gerçekleşmesi veya iptal edilmesi gerekir. Aynı fiyattan iptal edip tekrar girerseniz, sıranın en arkasına dönersiniz.

Bu sıralama ekonomiyi belirler. Listenin ön taraflarında sık işlem yaparsınız ve spread'in yanı sıra maker-taker ücretleri ve iadeleri konusundaki likidite sağlama iadesini alırsınız. Arka taraflarda ise ancak önünüzdeki herkes işlem gördükten sonra sıra size gelir; bu da genellikle tek taraflı akışın yüklü miktarda geldiği anlarda gerçekleşir. Arka sıralardaki gerçekleşmeler, fiyat sizin seviyenizi geçmeden hemen önceki anlarda kümelenir. Aynı fiyat, aynı emir, zıt sonuç.

Level 2 verilerinin gösterdikleri ve gösteremedikleri

Level 1, her seviyedeki büyüklükle birlikte en iyi alış ve satış fiyatıdır. Market by price olarak da bilinen Level 2 ise derinlik ekler: her bir fiyat seviyesinde bekleyen toplam büyüklüğün listesini sunar. Her ikisi de toplu verilerdir ve Level 1 ile Level 2 piyasa verisi karşılaştırması bunları detaylıca kıyaslar. 10,00$ seviyesindeki alış 10,000 hisseden 8,500 hisseye düştüğünde, veri akışı 1,500 hissenin gittiğini bildirir. Bunların işlem görüp görmediğini, tek bir emir mi yoksa kırk emir mi olduğunu veya sırada nerede beklediklerini söylemez.

Gerçekleşmeler görünen kısımdır: bant (tape), her işlemi bir büyüklükle kaydeder, dolayısıyla bunları tam olarak çıkarabilirsiniz. Geriye kalan iptallerdir ve tahmin süreci burada başlar. Aşağıdaki panel, 10 Haziran 2026 Çarşamba günü, likit bir hisse senedi için normal bir seansta, konsolide defterin en üstündeki mesajları banttaki gerçekleşmelerle karşılaştırır.

SorgulaBorsa emir defteri hareketleri ve gerçekleşen işlemler, AAPL, 10 Haziran 2026
Her verinin arkasındaki tam SQL
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

08:00 saati açılış zilinden öncedir: defterin en üstü orada her gerçekleşme başına 0.8 kez değişmiştir; bu, gerçekleşmelerden daha az mesaj demektir. Normal seans içinde oran tersine döner. 15:00 saatinde defterin en üstü, sadece o saat içindeki 233433 mesaj boyunca gerçekleşme başına 1.6 kez değişmiştir. Açık bir piyasada bir fiyat seviyesinde gerçekleşen olayların çoğu, emirlerin işlem görmeden gelip gitmesidir ve bu olayların her biri, sıra içindeki yerinizi toplu veri akışlarının belirtmediği bir miktarda değiştirir.

Tekdüze iptal varsayımı ve sizi nasıl yanılttığı

Standart ilk yaklaşım, iptallerin sıra boyunca eşit dağıldığını varsayar. Kesirli derinliğinize x diyelim: önünüzdeki hisselerin, fiyatınızdaki toplam bekleyen hisseye oranı. Tekdüze model, iptal edilen herhangi bir hissenin önünüzde olma ihtimalini x olarak belirler, yani p(x) = x. 10,000 hisselik bir sırada yarı yolda olduğunuzu, 1,000 hissenin işlem görmeden iptal edildiğini varsayalım; model sizi 500 sıra ileri taşır.

Gerçek sıralar çarpıktır. Bir süredir bekleyen bir emir, beklemeye razı birine aittir; ancak kısa süre önce eklenen bir emir, saniyeler içinde kaybolan geçici bir kotasyon olma ihtimali çok daha yüksek olan bir emirdir. İptaller sıranın arka tarafında, yani size yakın ve arkanızda yoğunlaşır. O 1,000 iptal edilen hisseden belki 200'ü önünüzdeydi, ancak model size 500'lük kredi verdi. Bunu tüm gün tekrarlarsanız, simüle edilen sıra gerçeğinden daha hızlı ilerler. Hata tek yönlüdür: canlı emirlerin toplayabileceğinden daha fazla ve daha iyi anlarda gerçekleşme sağlar.

Sıra nasıl erir

İptaller sizi görünmez bir şekilde hareket ettirir. İşlemler ise gerçekleşmelerin büyüklüğüyle sizi görünür şekilde hareket ettirir.

SorgulaAAPL işlem hacmi dağılımı, 10 Haziran 2026
Her verinin arkasındaki tam SQL
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

Bu seansta standart lotun altındaki gerçekleşmeler toplam sayının 90%'i, hisse adedinin ise 42.5%'sıydı. Bin hisse ve üzeri bloklar, gerçekleşmelerin 0.2%'sini ve hacmin 19.9%'ini oluşturdu. Sıralar küçük parçalar halinde erir, bu nedenle 2,000'inci sıra ile 3,500'üncü sıra arasındaki boşluk, yüzlerce bekleyen gerçekleşme demektir. İki büyük işlemden sonra gerçekleşme sağlayan bir simülatör, bandın büyük kısmını atlamış demektir.

Göremediğiniz emir

Derinlik verileri kesintilidir. On fiyat seviyesi alıyorsanız ve emriniz on birinci seviyede bekliyorsa, emriniz verinin dışındadır: önündeki büyüklük de, arkasına katılan emirler de görünmez. O noktada tahmin yapmıyor, sayıyı uyduruyorsunuz demektir. Piyasa hareketini takip etmeyen bir emir hızla içeriden uzaklaştığı için bu durum istisnai değil, olağandır.

SorgulaEn iyi alış fiyatı ve ziyaret edilen fiyat seviyeleri, AAPL, 15 dakikalık periyotlar
Her verinin arkasındaki tam SQL
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

10:00 kovasında en iyi alış ortalama 290.29$ olmuş ve on beş dakika içinde 187 farklı fiyatı ziyaret etmiştir. Kuruşlarla kotasyon edilen bir hissede bu fiyatların her biri ayrı bir seviyedir, dolayısıyla on seviyelik bir görünüm defterin on kuruşunu kapsar. Böyle bir seansta tek bir fiyatta bırakılan bir emir, sahibinin görebildiği en derin seviyenin altında uzun süreler geçirebilir.

Sıra konumunun en değerli olduğu yerler

Sıra konumu, fiyat iyileştirmenin imkansız olduğu yerlerde en değerlidir. Bir kuruşluk spread'e sıkışmış bir hisse senedi, daha iyi bir fiyatla sıranın önüne geçmeye yer bırakmaz: herkes aynı tikte yığılır ve varış zamanı gerisini belirler. Spread'in birkaç kuruş geniş olduğu yerlerde ise bir yatırımcı bir kuruş farkla tüm sıranın önüne geçer ve fiyat kararı sıranın önüne geçer.

SorgulaOrtalama kotasyon farkı ve bir sentlik farkta geçirilen süre, 10 Haziran 2026 öğle saatleri
Her verinin arkasındaki tam SQL
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

Aynı seansın dört öğle saati boyunca, altı isimden en dar olanı KO, ortalama 1.18 kuruş genişliğindeydi ve güncellemelerinin 82.5%'ünde bir kuruşluk spread gösterdi. En geniş olan MSFT ise ortalama 8.46 kuruştu ve güncellemelerin 1.1%'sinde bir kuruşluk spread vardı. İlk isme göre kalibre edilmiş bir sıra modeli, ikincisi hakkında hiçbir yararlı bilgi vermez. Kotasyonlar arasında bekleyen emirler, midpoint peg emirleri kapsamında, aynı kurallar altında kendi sıralarını oluşturur.

Kendi geriye dönük testiniz için dört teşhis

  1. Simüle edilen gerçekleşme oranı ile aynı isimlerde, aynı saatlerdeki canlı gerçekleşme oranınızı karşılaştırın. Canlı piyasada %40 gerçekleşen emirlerin %70'ini gerçekleştiren bir simülatör, piyasayı değil, sizin varsayımınızı tanımlıyordur.
  2. Simüle edilen gerçekleşmeleri ikiye ayırın: fiyat seviyesinin sonrasında hayatta kaldığı durumlar ve sadece seviye tamamen temizlendiğinde gerçekleşenler. İkinci türe ağırlık veren bir yığın, simülatörün fiyat sizi geçip giderken size gerçekleşme sağladığı anlamına gelir.
  3. Varsayımı sınırlandırın. Her iptali sıranın önünden, sonra da her iptali sıranın arkasından alarak tekrar çalıştırın. Bu iki çalışma, seçtiğiniz herhangi bir p(x) etrafındaki dürüst hata paylarıdır.
  4. Fiyatınızın, veri akışınızın taşıdığı derinliğin ne sıklıkla dışında kaldığını ölçün. Oradaki gerçekleşmeler uydurmadır. Geriye dönük testlerde ileriye bakma yanlılığı, aynı hatayı başka bir açıdan tanımlar: stratejinin asla sahip olmadığı bilgilere dayanan bir sonuç.

Modellemeyi bırakıp emir verisi satın alma zamanı

Market-by-order (MBO) verisi, her bir emir için varış anından gerçekleşme veya iptal anına kadar her mesajı taşır ve her biri kendi tanımlayıcısıyla etiketlenmiştir. Bu veri akışını tekrar oynatırsanız, kendi emrinizin piyasaya ulaşması için gerçekçi bir gecikme varsaydığınızda, sıradaki yeriniz bir tahmin değil, bir sayım olur. Derinlik verisinden daha maliyetlidir ve depolanması çok daha büyük yer kaplar.

Teşhis 3, karar kuralıdır. Eğer ön ve arka sınırlar stratejiyi kârlı bırakıyorsa, orta bir varsayım yeterli olacaktır. Eğer strateji bir sınır altında para kazanıp diğerinde kaybediyorsa, sıra modeli stratejinin kendisidir ve emir bazlı veri satın almak, bir tahmini savunmaktan daha ucuzdur.

Pro-rata piyasalar soruyu değiştirir

Bazı vadeli işlem ve opsiyon piyasaları, gelen bir emri, varış sırasına göre değil, büyüklük oranına göre bir fiyattaki bekleyen emirler arasında paylaştırır. Zaman orada çok daha az önemlidir ve kotasyon edilen büyüklük kaldıraç haline gelir: büyüklüğünüzü ikiye katlamak, her gerçekleşmedeki payınızı kabaca ikiye katlar. Hata modu da bununla birlikte, sahip olmak istediğinizden daha fazla büyüklük kotasyon etmeye doğru kayar. Opsiyon emirleri neden gerçekleşmez, bunun bir opsiyon defterinin perakende tarafından nasıl göründüğünü ele alır.

SSS

İşlemde sıra konumu nedir?

Sıra konumu, aynı piyasada aynı fiyatta bekleyen emirler arasındaki sıralamanızdır. Fiyat-zaman öncelikli bir defterde, sizinkinin gerçekleşebilmesi için önünüzdeki emirlerin gerçekleşmesi veya iptal edilmesi gerekir.

Level 2 verilerinden sıra konumu hesaplanabilir mi?

Tam olarak hayır. Level 2, emir kimliği olmaksızın fiyat seviyesi başına toplam büyüklüğü gösterir, bu nedenle büyüklük bir gerçekleşme olmadan kaybolduğunda, bu hisselerin önünüzde mi yoksa arkanızda mı beklediğini anlayamazsınız. Sayıyı tahmin edebilir ve tahmininizi sınırlandırabilirsiniz. Kesin rakam, emir bazlı veri gerektirir.

Geriye dönük testlerdeki gerçekleşme oranları neden genellikle çok yüksektir?

Yaygın varsayım, iptalleri sıra boyunca eşit dağıtır; oysa gerçek iptaller arka tarafa doğru yoğunlaşır. Eşitlikçi bir model, simüle edilen emrinizi gerçek sıranın hareketinden daha hızlı ilerletir; bu da canlı işlemin sağladığından daha fazla ve daha iyi gerçekleşmeler olarak ortaya çıkar.

MBO verisi nedir?

Market-by-order verisi, her bir emre varışından gerçekleşmesine veya iptaline kadar kendi mesajlarını verir. Sıradaki yerinizin modellendiği değil, sayılabilir olduğu veri akışıdır; bu da en çok bir tiklik spread'de yaşayan stratejiler için önemlidir.

Pro-rata piyasalarda sıra konumu önemli midir?

Daha az. Pro-rata tahsis, gelen bir emri büyüklüğe göre bekleyen emirler arasında paylaştırır, bu nedenle ilk sırada olmak size çok az şey kazandırır ve kotasyon edilen büyüklük işi yapar. Bir piyasanın hangi tahsis modelini kullandığını kontrol etmek, herhangi bir sıra modellemesinden önce gelir.


Buradaki her panel, onu üreten SQL'i taşır. Ticker'ı değiştirin, tarihi taşıyın ve Strasmore terminalinde işlem yaptığınız isimler hakkında aynı soruyu sorun.