Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

MBO vs MBP Orderbuchdaten: Unterschiede und Kosten

Erfahren Sie den Unterschied zwischen MBO und MBP Daten. Wir analysieren die Vor- und Nachteile von aggregierten Preisniveaus gegenüber einzelnen Orderereignissen für Ihr Trading.

MBO- und MBP-Orderbuchdaten sind ein wesentlicher Unterschied, der sich hinter einer unscheinbaren Bezeichnung verbirgt. Zwei Anbieter können Ihnen beide etwas als „Level 2“ verkaufen: MBP (Market by Price) übermittelt die gesamte an einem Preisniveau anstehende Größe, während MBO (Market by Order) jeden einzelnen Auftrag als eigenes Ereignis mit einer eigenen ID sendet. Das eine ist eine Zusammenfassung des Orderbuchs; das andere ist das Hauptbuch, aus dem das Buch aufgebaut wird, und dessen Übertragung erfordert ein um Größenordnungen höheres Datenaufkommen.

Was MBP- und MBO-Orderbuchdaten tatsächlich enthalten

MBP, Market by Price, ist aggregierte Markttiefe. Jedes Update benennt eine Seite, ein Preisniveau, die dort anstehende gesamte angezeigte Größe und manchmal die Anzahl der dahinterstehenden Aufträge. Ein als MBP-10 verkauftes Produkt liefert Ihnen die zehn besten Preisniveaus auf jeder Seite, die Kursleiter in einer Handelsplattform und die Treppenstufen in jedem Chart zur Markttiefe.

MBO, Market by Order, ist ein Ereignis-Stream. Jede Nachricht benennt einen Auftrag: dessen ID, Seite, Preis, angezeigte Größe und was gerade damit geschehen ist. Nichts ist vorab aggregiert. Wenn vierzig Aufträge auf demselben Preisniveau liegen, werden sie durch vierzig separate Nachrichten dorthin platziert, und Sie müssen alle vierzig im Arbeitsspeicher halten, um zu wissen, wie hoch die Summe auf diesem Niveau ist.

Unser Leitfaden zu Level 1 vs. Level 2 Marktdaten erläutert, was die Bezeichnungen im Privatkundensegment bei einem Broker bedeuten. MBO und MBP sind die präzisen Bezeichnungen für den Inhalt, wenn ein Anbieter von „Level 2“ spricht; nach dem Schema-Namen zu fragen, ist daher entscheidend.

Die Nachrichtenaktionen eines MBO-Feeds

Ein MBO-Feed ist eine Taxonomie von Aktionen, die auf Order-IDs angewendet werden. Vier davon machen den Großteil des Datenverkehrs aus:

  • Add (Hinzufügen): Ein neuer Auftrag kommt mit einer neuen ID zu einem Preis ins Buch.
  • Modify (Ändern): Eine bestehende ID ändert Preis oder Größe. Eine Erhöhung der Größe oder eine Preisänderung reiht den Auftrag am neuen Niveau hinten in der Warteschlange ein; eine Verringerung der Größe behält normalerweise den Platz bei.
  • Cancel (Stornieren): Eine ID verlässt das Buch, ganz oder teilweise.
  • Trade oder Fill (Ausführung): Ein aggressiver Auftrag wird gegen einen oder mehrere passive Aufträge ausgeführt, wodurch diese verkleinert oder entfernt werden.

MBP enthält keines dieser Vokabeln. Ein MBP-Update ist eine Aussage über ein Niveau: Dieser Preis weist nun diese Größe auf. Ob die Größe durch eine Stornierung oder eine Ausführung abgenommen hat, ist für das Update unerheblich. Das folgende Panel zeigt dieses Limit am dünnstmöglichen Buch, dem konsolidierten Top-of-Book, mit einem Preisniveau pro Seite und MBP-1 in dieser Nomenklatur.

AbfrageVeränderungen im Top-of-Book (AAPL, 10:00 bis 10:30 Uhr ET, 16. Juni 2026)
Das exakte SQL hinter jeder Zahl
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)
Run this yourself

In dieser halben Stunde bewegte 17.6% der Nachrichten das beste Gebot auf einen anderen Preis, 17.4% fügte Größe bei unverändertem Gebot hinzu, 12% entfernte Größe bei unverändertem Gebot und 53% ließ das Gebot unverändert, während sich die andere Seite bewegte. Jede Gruppe ist eine Netto-Aussage über ein Preisniveau. Keine benennt einen Auftrag, und keine Arithmetik kann die fehlende ID wiederherstellen.

Was jedes Schema beantworten kann und was nicht

MBP-10 beantwortet Fragen, die als „Wie groß war die Menge dort“ formuliert sind: die Form der Kursleiter, das Orderbuch-Ungleichgewicht, die Liquidität nahe dem Mittelkurs, das Chart zur Markttiefe selbst. Aggregierte Niveaus sind für all dies ausreichend.

MBO beantwortet Fragen, die als „Was ist mit diesem Auftrag passiert“ formuliert sind: Wie viel Größe lag vor Ihnen, als Sie sich einreihten, wie lange überleben Aufträge, bevor sie storniert werden, und wie hoch ist die Wahrscheinlichkeit, dass ein passiver Auftrag am Touch ausgeführt wird, bevor sich der Preis wegbewegt. Diese Mengen existieren nicht in aggregierter Form, und das Summieren von Aufträgen zu einer Niveausumme zerstört die Sequenz, die sie definiert hat.

Die Position in der Warteschlange ist das deutlichste Beispiel, und sie hat nur Bedeutung bei Preis-Zeit-Priorität versus Pro-Rata-Matching, wo die Reihenfolge des Eingangs entscheidet, wer zuerst handelt. Was dies relevant macht, ist die Ausführungsgröße: Ein Niveau wird durch viele kleine Ausführungen gefüllt, nicht durch eine große.

AbfrageMix der Handelsgrößen im gleichen Zeitraum (AAPL, 10:00 bis 10:30 Uhr ET, 16. Juni 2026)
Das exakte SQL hinter jeder Zahl
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)
Run this yourself

Ausführungen unter 100 Aktien, ein Odd Lot, machten 92.3% der Trades in diesem Zeitfenster aus, und der größte vorhandene Bucket, 1000 or more shares, machte 0.1% aus. Wenn man diese Größe an ein Niveau sendet, das 4.000 Aktien anzeigt, kann ein Auftrag, der sich zuletzt in die Schlange eingereiht hat, Dutzende von Ausführungen abwarten, ohne selbst gehandelt zu werden. MBP zeigt Ihnen die 4.000. MBO zeigt Ihnen die Schlange.

Keines der Schemata zeigt versteckte Größen. Ein Iceberg-Auftrag zeigt eine kleine Spitze und aktualisiert sich mit einer neuen ID, jedes Mal wenn die Spitze gefüllt wird, sodass die Reserve in keiner Nachricht erscheint.

Der Neuaufbau eines Buchs aus MBO ist eine Zustandsmaschine

Ein MBP-Feed liefert Ihnen das Ergebnis. Ein MBO-Feed liefert Ihnen die Eingabedaten und erwartet, dass Sie absolut präzise arbeiten:

  1. Starten Sie mit einem Snapshot oder einem leeren Buch zuzüglich der Clear-Nachricht des Handelsplatzes.
  2. Wenden Sie jedes Add, Modify, Cancel und Fill in strikter Reihenfolge an, referenziert durch die Order-ID.
  3. Pflegen Sie einen zweiten Index nach Preisniveau, da dies das ist, was Ihre Strategie liest.
  4. Überwachen Sie die Sequenznummern und führen Sie bei fehlenden Nachrichten einen Resync von einem frischen Snapshot durch.

Der Fehlerfall ist unauffällig. Lassen Sie eine Stornierung aus, verbleibt ein Phantom-Auftrag für den Rest der Sitzung in Ihrem Buch, bläht das Niveau auf, ohne dass irgendwo eine Ausnahme ausgelöst wird. MBP degradiert deutlich sanfter: Jedes Update stellt die Summe eines Niveaus neu dar, sodass ein korrupter Wert innerhalb weniger Nachrichten überschrieben wird.

MBO existiert zudem nur bei direkten Handelsplatz-Feeds, ein Buch pro Börse, was bedeutet, dass man mehrere davon betreiben und zusammenführen muss. Das konsolidierte Band ist konstruktionsbedingt eine Zusammenfassung, eine Aufteilung, die in SIP versus direkte Börsen-Feeds behandelt wird.

Was das zusätzliche Detail an Bandbreite kostet

Nachrichtenanzahlen sind die ehrliche Art, den Unterschied zu bepreisen. Das folgende Panel zählt konsolidierte Top-of-Book-Nachrichten gegen tatsächliche Ausführungen über dieselbe halbe Stunde für fünf bekannte Namen.

AbfrageVerhältnis von Top-of-Book-Meldungen zu Trades, 10:00 bis 10:30 Uhr ET, 16. Juni 2026
Das exakte SQL hinter jeder Zahl
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 DESC
Run this yourself

SPY verursachte den höchsten Quote-Verkehr pro Ausführung, 9.6 Nachrichten für jeden Trade und 510 Tausend Nachrichten in dreißig Minuten. Die Spanne zwischen den fünf Namen ist groß: Am unteren Ende des Panels lief MSFT mit 0.7 Quote-Nachrichten pro Ausführung, weniger als eine Nachricht für jeden Trade. Denken Sie daran, was diese Spalte zählt: ein Preisniveau pro Seite, auf einem Feed, der bereits jeden Handelsplatz zu einem einzigen besten Gebot und Brief zusammengefasst hat. Ein Produkt mit zehn Ebenen Markttiefe multipliziert dies, und ein pro-Auftrag-Feed multipliziert es erneut, da jeder Auftrag hinter jedem Niveau an jedem Handelsplatz sein eigenes Add, Modify und Cancel generiert, unabhängig davon, ob er jemals ausgeführt wird. Dieselbe Arithmetik zeigt sich in größerem Maßstab bei der Größe des Options-Quote-Feeds.

Welchen Orderbuch-Feed benötigt eine Strategie?

Die meiste Arbeit läuft auf MBP-10. Charts zur Markttiefe, Ungleichgewichts-Features, Messung der Liquidität zum Preis, Kostenmodelle für die Ausführung und fast jede Forschungsfrage dazu, wie viel Größe wo anstand, lassen sich aus aggregierten Niveaus beantworten, bei einem Bruchteil des Nachrichtenvolumens.

MBO ist erforderlich, wenn die Antwort von einem spezifischen Auftrag abhängt: Position in der Warteschlange, Lebensdauer eines Auftrags, Stornierungsverhalten, Wahrscheinlichkeit einer passiven Ausführung am Touch. Eine Strategie, die davon abhängt, ob sie 200 oder 20.000 Aktien tief in der Schlange steht, kann dies nicht aus aggregierten Daten ableiten und zahlt dafür mit Lizenzgebühren, Bandbreite, Speicherplatz und dem Engineering, um ein rekonstruiertes Buch den ganzen Tag über korrekt zu halten.

Wie diese Panels erstellt wurden
  • Der Feed hinter jedem Panel ist das konsolidierte Top-of-Book, ein Preisniveau pro Seite, zuzüglich des Trade-Bandes. Es ist kein Depth-Feed und kein Per-Order-Feed; diese Panels illustrieren also das Argument des Nachrichtenvolumens, anstatt MBO selbst zu sampeln.
  • Die Zeitfenster sind auf ein festes vergangenes Datum fixiert, 10:00 bis 10:30 Uhr ET am 16. Juni 2026, gespeichert als 14:00 bis 14:30 Uhr UTC. Fixierte Fenster halten die Zahlen über Regenerationen hinweg stabil.
  • Das Klassifizierungspanel beschriftet jede Nachricht im Vergleich zur vorherigen in der Sequenz. Es kann eine Stornierung nicht von einer Ausführung trennen, genau die Einschränkung, die dieser Beitrag beschreibt.

FAQ

Was ist der Unterschied zwischen MBO- und MBP-Marktdaten?

MBP (Market by Price) aggregiert die angezeigte Größe auf jedem Preisniveau und sendet ein Update pro Niveau. MBO (Market by Order) sendet jeden einzelnen Auftrag mit seiner eigenen ID, zusammen mit den Add-, Modify-, Cancel- und Fill-Ereignissen, die ihn betreffen.

Sind Level-2-Daten dasselbe wie MBO-Daten?

Meistens nicht. „Level 2“ bei einem Privatkundenbroker bedeutet fast immer aggregierte Markttiefe, also MBP mit fünf bis zwanzig Preisniveaus. Einige Anbieter vermarkten einen Per-Order-Feed unter demselben Namen, daher entscheidet der Schema-Name, nicht der Name der Stufe, was tatsächlich ankommt.

Wie viel größer ist ein MBO-Feed als ein MBP-Feed?

Um Größenordnungen, variierend je nach Handelsplatz und Symbol. Allein das konsolidierte Top-of-Book lief mit 9.6 Nachrichten pro Ausführung für den aktivsten Namen im obigen Panel. Ein Per-Order-Feed fügt jedes Add, Modify und Cancel hinter jedem Niveau an jedem Handelsplatz hinzu, einschließlich der großen Mehrheit der Aufträge, die niemals ausgeführt werden.

Kann man ein MBP-Buch aus MBO-Daten rekonstruieren?

Ja, und das ist der normale Prozess: Wenden Sie jedes Order-Ereignis auf ein nach Order-ID sortiertes Buch an und veröffentlichen Sie dann die Niveausummen. Der umgekehrte Weg ist unmöglich: Sobald Aufträge zu einer Niveausumme addiert wurden, sind die individuellen IDs und ihre Eingangsreihenfolge verloren.


Jedes Panel hier wird mit dem exakten SQL darunter ausgeliefert. Um dieselben Nachrichten für ein anderes Symbol oder eine andere Sitzung zu zählen, stellen Sie die Frage in einfachem Englisch am Strasmore-Terminal.