MBO ve MBP emir defteri verisi farkları nelerdir
MBO ve MBP emir defteri verileri arasındaki teknik farklar, veri akış yapıları, her bir yöntemin kullanım amaçları ve operasyonel maliyetleri detaylıca incelenmektedir.
MBO ve MBP emir defteri verisi, küçük bir etiketin ardına gizlenmiş büyük bir ayrımdır. İki farklı veri sağlayıcısı size "Level 2" adı altında iki farklı ürün satabilir: MBP (market by price), her fiyat seviyesindeki toplam büyüklüğü iletirken; MBO (market by order), her bir emri kendi ID'sine sahip bağımsız bir olay olarak gönderir. Biri defterin özetidir; diğeri ise defterin üzerine inşa edildiği kayıt defteridir ve taşınması için gereken veri trafiği katbekat fazladır.
MBP ve MBO emir defteri verileri aslında ne içerir?
MBP (market by price), toplanmış derinlik verisidir. Her güncelleme bir tarafı, bir fiyat seviyesini, orada bekleyen toplam görüntülenen büyüklüğü ve bazen de o seviyenin arkasındaki emir sayısını belirtir. MBP-10 olarak satılan bir ürün, her iki taraftaki en iyi on fiyat seviyesini verir; bu, bir işlem platformundaki kademe tablosu ve her derinlik grafiğindeki merdiven yapısıdır.
MBO (market by order) ise bir olay akışıdır. Her mesaj bir emri tanımlar: ID'si, tarafı, fiyatı, görüntülenen büyüklüğü ve o emre ne olduğu. Hiçbir şey önceden toplanmamıştır. Aynı fiyatta kırk emir bekliyorsa, kırk ayrı mesaj onları oraya yerleştirir ve o seviyenin toplamını bilmek için kırkını da bellekte tutmanız gerekir.
Level 1 ve Level 2 piyasa verisi rehberimiz, bireysel yatırımcı seviyesindeki etiketlerin bir aracı kurumda ne anlama geldiğini açıklar. MBO ve MBP, bir sağlayıcı "Level 2" dediğinde kutunun içinde ne olduğunun kesin adlarıdır ve asıl sorulması gereken şema adıdır.
Bir MBO akışının taşıdığı mesaj eylemleri
Bir MBO akışı, emir ID'lerine uygulanan eylemlerin taksonomisidir. Trafiğin büyük kısmını dört eylem oluşturur:
- Ekleme (Add): Yeni bir ID ile bir emir, belirli bir fiyattan deftere katılır.
- Değiştirme (Modify): Mevcut bir ID fiyat veya büyüklük değiştirir. Büyüklüğü artırmak veya fiyatı değiştirmek, emri o seviyedeki kuyruğun sonuna iter; büyüklüğü azaltmak ise genellikle sıradaki yerini korur.
- İptal (Cancel): Bir ID, kısmen veya tamamen defterden ayrılır.
- İşlem veya gerçekleşme (Trade or fill): Agresif bir emir, bekleyen bir veya daha fazla ID ile eşleşerek onları küçültür veya kaldırır.
MBP bu terminolojinin hiçbirini taşımaz. Bir MBP güncellemesi, bir seviye hakkındaki ifadedir: "Bu fiyat artık şu kadar büyüklüğe sahip." Büyüklüğün bir iptal sonucu mu yoksa bir işlem sonucu mu azaldığı, güncelleme mesajında aynı görünür. Aşağıdaki panel, bu sınırı mümkün olan en ince defterde, yani konsolide edilmiş en iyi fiyat seviyesinde (her taraf için bir fiyat seviyesi ve bu isimlendirmede MBP-1) gösterir.
Her verinin arkasındaki tam SQL
WITH
ordered AS
(
SELECT
row_number() OVER (ORDER BY sip_timestamp, sequence_number) AS msg_index,
bid_price,
bid_size,
lagInFrame(bid_price) OVER (ORDER BY sip_timestamp, sequence_number) AS prev_bid_price,
lagInFrame(bid_size) OVER (ORDER BY sip_timestamp, sequence_number) AS prev_bid_size
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-16 14:00:00'
AND sip_timestamp < '2026-06-16 14:30:00'
AND bid_price > 0
),
classified AS
(
SELECT multiIf(
bid_price != prev_bid_price, 'best bid price changed',
bid_size > prev_bid_size, 'size joined at the best bid',
bid_size < prev_bid_size, 'size left the best bid',
'bid untouched, ask side updated') AS message_type
FROM ordered
WHERE msg_index > 1
)
SELECT
message_type,
count() AS message_count,
round(100 * count() / sum(count()) OVER (), 1) AS share_pct
FROM classified
GROUP BY message_type
ORDER BY indexOf(['best bid price changed', 'size joined at the best bid', 'size left the best bid', 'bid untouched, ask side updated'], message_type)O yarım saatlik süre boyunca, 17.6% oranındaki mesaj en iyi alış fiyatını değiştirdi, 17.4% değişmeyen bir alış fiyatına büyüklük ekledi, 12% değişmeyen bir alış fiyatından büyüklük eksiltti ve 53% diğer taraf hareket ederken alış tarafını sabit bıraktı. Her grup, bir fiyat seviyesi hakkında net bir ifadedir. Hiçbiri bir emir ismi belirtmez ve hiçbir aritmetik işlem, kaybolan ID'yi geri getiremez.
Her şemanın yanıtlayabildiği ve yanıtlayamadığı sorular
MBP-10, "orada ne kadar büyüklük vardı" sorusunu yanıtlar: kademe tablosunun şekli, defter dengesizliği, orta fiyata yakın bekleyen likidite ve derinlik grafiğinin kendisi. Toplanmış seviyeler, bunların tümü için yeterlidir.
MBO ise "bu emre ne oldu" sorusunu yanıtlar: siz katıldığınızda önünüzde ne kadar büyüklük vardı, emirler iptal edilmeden önce ne kadar süre hayatta kalıyor ve en iyi fiyattaki pasif bir emrin fiyat uzaklaşmadan önce gerçekleşme olasılığı nedir? Bu nicelikler toplanmış formda mevcut değildir; emirleri bir seviye toplamına dönüştürmek, onları tanımlayan dizilimi yok eder.
Kuyruk konumu bunun en net örneğidir ve sadece fiyat-zaman önceliği ile oransal eşleştirme kurallarının geçerli olduğu durumlarda anlam taşır; burada kimin önce işlem yapacağına varış sırası karar verir. Bunun önemli olmasının nedeni işlem büyüklüğüdür: bir seviye tek bir büyük işlemle değil, birçok küçük işlemle dolar.
Her verinin arkasındaki tam SQL
SELECT
multiIf(size < 100, '1 to 99 shares',
size < 200, '100 to 199 shares',
size < 500, '200 to 499 shares',
size < 1000, '500 to 999 shares',
'1000 or more shares') AS trade_size_bucket,
count() AS trade_count,
round(100 * count() / sum(count()) OVER (), 1) AS share_pct,
round(avg(size)) AS avg_shares
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-16 14:00:00'
AND sip_timestamp < '2026-06-16 14:30:00'
AND size > 0
GROUP BY trade_size_bucket
ORDER BY min(size)100 hissenin altındaki işlemler (odd lot), o zaman dilimindeki işlemlerin 92.3%'ünü oluşturdu ve mevcut en büyük grup olan 1000 or more shares, toplamın 0.1%'sını oluşturdu. 4.000 hisse gösteren bir seviyeye bu büyüklükte işlemler gönderdiğinizde, kuyruğa en son katılan bir emir, işlem görmeden onlarca gerçekleşmenin gerçekleşmesini izleyebilir. MBP size 4.000'i gösterir. MBO ise size sırayı gösterir.
Hiçbir şema gizli büyüklüğü göstermez. Bir iceberg emir, küçük bir kısmını görüntüler ve bu kısım her dolduğunda yeni bir ID ile yenilenir, bu nedenle rezerv kısım hiçbir mesajda görünmez.
MBO'dan defter oluşturmak bir durum makinesidir
Bir MBP akışı size cevabı hazır verir. Bir MBO akışı ise size girdileri verir ve tam olarak doğru olmanızı bekler:
- Bir anlık görüntüden (snapshot) veya boş bir defter ile borsanın temizleme mesajından başlayın.
- Emir ID'sine göre anahtarlanmış her ekleme, değiştirme, iptal ve gerçekleşme işlemini kesin sıra ile uygulayın.
- Stratejinizin okuduğu fiyat seviyesine göre ikinci bir indeks tutun.
- Sıra numaralarını izleyin ve herhangi biri eksik olduğunda yeni bir anlık görüntüden yeniden senkronize olun.
Hata modu sessizdir. Bir iptal mesajını kaçırırsanız, hayalet bir emir seansın geri kalanında defterinizde kalır, o seviyeyi şişirir ve hiçbir yerde bir istisna oluşmaz. MBP çok daha yumuşak bozulur: her güncelleme bir seviyenin toplamını yeniden belirttiği için, hatalı bir değer birkaç mesaj içinde üzerine yazılarak düzeltilir.
MBO ayrıca sadece doğrudan borsa akışlarında, borsa başına bir defter olarak yaşar; bu da birkaçını çalıştırıp birleştirmek anlamına gelir. Konsolide bant, yapısı gereği bir özettir; bu ayrım SIP ile doğrudan borsa akışları konusunda ele alınmıştır.
Ekstra detayın bant genişliği maliyeti
Mesaj sayıları, farkı fiyatlandırmanın dürüst yoludur. Aşağıdaki panel, beş bilindik hisse için aynı yarım saatlik dilimde konsolide edilmiş en iyi fiyat mesajlarını gerçek işlemlerle karşılaştırır.
Her verinin arkasındaki tam SQL
WITH
quote_load AS
(
SELECT ticker, count() AS quote_messages
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'NVDA', 'MSFT', 'KO')
AND sip_timestamp >= '2026-06-16 14:00:00'
AND sip_timestamp < '2026-06-16 14:30:00'
GROUP BY ticker
),
trade_load AS
(
SELECT ticker, count() AS trades
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA', 'MSFT', 'KO')
AND sip_timestamp >= '2026-06-16 14:00:00'
AND sip_timestamp < '2026-06-16 14:30:00'
GROUP BY ticker
)
SELECT
q.ticker AS ticker,
round(q.quote_messages / 1000, 1) AS quote_messages_thousands,
round(t.trades / 1000, 2) AS trades_thousands,
round(q.quote_messages / t.trades, 1) AS quotes_per_trade_ratio
FROM quote_load AS q
INNER JOIN trade_load AS t ON t.ticker = q.ticker
ORDER BY quotes_per_trade_ratio DESCSPY, işlem başına en ağır kotasyon trafiğini taşıdı; işlem başına 9.6 mesaj ve otuz dakikada 510 bin mesaj. Beş isim arasındaki yayılım geniştir: panelin alt kısmında, MSFT işlem başına 0.7 kotasyon mesajı çalıştırdı; bu, her işlem için bir mesajdan bile azdır. Bu sütunun neyi saydığını unutmayın: her borsayı tek bir en iyi alış ve satış fiyatında birleştirmiş bir akışta, taraf başına bir fiyat seviyesi. On seviyeli bir derinlik ürünü bunu katlar ve emir bazlı bir akış bunu tekrar katlar; çünkü her borsadaki her seviyenin arkasındaki her emir, işlem görüp görmediğine bakılmaksızın kendi ekleme, değiştirme ve iptal mesajını üretir. Aynı aritmetik, opsiyon kotasyon akışının boyutu konusunda daha büyük ölçekte görülür.
Bir strateji hangi emir defteri akışına ihtiyaç duyar?
İşlerin çoğu MBP-10 üzerinde yürütülür. Derinlik grafikleri, dengesizlik özellikleri, fiyat bazlı likidite ölçümü, işlem maliyeti modelleri ve "nerede ne kadar büyüklük bekliyordu" sorusuna dair hemen hemen her araştırma sorusu, toplanmış seviyelerden, mesaj hacminin çok küçük bir kısmıyla yanıtlanabilir.
MBO, cevap belirli bir emre bağlı olduğunda gereklidir: kuyruk konumu, emir ömrü, iptal davranışı, en iyi fiyatta pasif gerçekleşme olasılığı. 200 hisse mi yoksa 20.000 hisse mi geride olduğu, yani kuyruğun ne kadar derininde olduğu üzerine kurulu bir strateji, toplanmış veriden bu sonuca ulaşamaz. Bunun bedelini ise lisans ücretleri, bant genişliği, depolama ve yeniden oluşturulmuş bir defteri gün boyu doğru tutacak mühendislik ile öder.
Bu paneller nasıl oluşturuldu?
- Her panelin arkasındaki akış, taraf başına bir fiyat seviyesi olan konsolide edilmiş en iyi fiyat ve işlem bandıdır. Bu bir derinlik akışı veya emir bazlı akış değildir; bu nedenle paneller MBO'nun kendisini örneklemek yerine mesaj hacmi argümanını göstermektedir.
- Zaman pencereleri, 16 Haziran 2026 tarihinde 10:00 - 10:30 ET (14:00 - 14:30 UTC) olarak sabitlenmiştir. Sabit pencereler, sayıların yeniden oluşturmalar arasında tutarlı kalmasını sağlar.
- Sınıflandırma paneli, her mesajı dizideki bir öncekiyle karşılaştırarak etiketler. Bir iptal işlemini bir gerçekleşmeden ayıramaz; bu, yazının tanımladığı kesin sınırlamadır.
SSS
MBO ve MBP piyasa verisi arasındaki fark nedir?
MBP (market by price), her fiyat seviyesindeki görüntülenen büyüklüğü toplar ve seviye başına bir güncelleme gönderir. MBO (market by order), her bir emri kendi ID'si ile birlikte, ona uygulanan ekleme, değiştirme, iptal ve gerçekleşme olaylarıyla gönderir.
Level 2 verisi MBO verisi ile aynı mıdır?
Genellikle hayır. Bireysel aracı kurumlardaki "Level 2", neredeyse her zaman toplanmış derinlik, yani beş ila yirmi fiyat seviyeli MBP anlamına gelir. Bazı sağlayıcılar aynı kademe adı altında emir bazlı bir akış pazarlayabilir, bu nedenle kabloya neyin geldiğini kademe adı değil, şema adı belirler.
Bir MBO akışı, bir MBP akışından ne kadar büyüktür?
Borsaya ve sembole göre değişmekle birlikte katbekat büyüktür. Sadece konsolide edilmiş en iyi fiyat verisi, yukarıdaki paneldeki en yoğun işlem gören isim için 9.6 mesaj seviyesinde çalışmıştır. Emir bazlı bir akış; her borsadaki her seviyenin arkasındaki tüm ekleme, değiştirme ve iptalleri ekler; buna hiç işlem görmeyen emirlerin büyük çoğunluğu da dahildir.
MBO verisinden bir MBP defteri oluşturulabilir mi?
Evet, normal iş akışı budur: her emir olayını emir ID'sine göre anahtarlanmış bir deftere uygulayın, ardından seviye toplamlarını yayınlayın. Tersi imkansızdır: emirler bir seviye toplamına dönüştürüldüğünde, bireysel ID'ler ve varış sıraları kaybolur.
Buradaki her panel, altındaki SQL koduyla birlikte sunulmuştur. Aynı mesajları farklı bir sembol veya seansta saymak için Strasmore terminalinde sorunuzu yalın bir dille sorun.