Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

الفرق بين بيانات سجل الأوامر MBO و MBP في التداول

تعرف على الفرق الجوهري بين بيانات MBO التي ترسل كل أمر كحدث مستقل وبيانات MBP التي توفر عمق السوق المجمع. اكتشف متطلبات كل نظام وتكاليف التشغيل وتأثيرها على استراتيجيات التداول.

تُعد بيانات سجل الأوامر من نوع MBO مقابل MBP تمييزاً جوهرياً يختبئ خلف مسميات بسيطة. يمكن لمزودي البيانات أن يبيعوا لك منتجاً تحت مسمى "Level 2": حيث يرسل نظام MBP (سوق حسب السعر) إجمالي الحجم المتاح عند كل مستوى سعري، بينما يرسل نظام MBO (سوق حسب الأمر) كل أمر فردي كحدث مستقل بمعرّف خاص به. الأول هو ملخص للسجل، بينما الثاني هو دفتر الأستاذ الذي يُبنى عليه السجل، ويتطلب نقله حجماً أكبر من البيانات بمراحل.

ما الذي تحتويه بيانات سجل الأوامر من نوع MBP و MBO فعلياً

نظام MBP، أو السوق حسب السعر، هو عمق مجمّع. يحدد كل تحديث جانباً معيناً، ومستوى سعرياً، وإجمالي الحجم المعروض هناك، وأحياناً عدد الأوامر الكامن خلفه. المنتج الذي يُباع باسم MBP-10 يمنحك أفضل عشرة مستويات سعرية على كل جانب، وهو ما يمثل "السلم" في منصات التداول و"الدرج" في كل مخططات العمق.

نظام MBO، أو السوق حسب الأمر، هو تدفق للأحداث. تحدد كل رسالة أمراً واحداً: معرّفه، وجانبه، وسعره، وحجمه المعروض، وما حدث له للتو. لا يوجد شيء مجمّع مسبقاً. إذا كان هناك أربعون أمراً عند نفس السعر، فإن أربعين رسالة منفصلة هي التي وضعتها هناك، وعليك الاحتفاظ بالأربعين جميعاً في الذاكرة لتعرف إجمالي ذلك المستوى.

يغطي دليلنا بيانات السوق Level 1 مقابل Level 2 معاني تصنيفات فئة التجزئة لدى شركات الوساطة. MBO و MBP هما المسميان الدقيقان لما يوجد داخل الصندوق عندما يقول المزود "Level 2"، واسم المخطط (schema) هو ما يستحق السؤال عنه.

إجراءات الرسائل التي يحملها تدفق MBO

تدفق MBO هو تصنيف للإجراءات المطبقة على معرّفات الأوامر. أربعة منها تشكل معظم حركة البيانات:

  • الإضافة (Add): ينضم أمر جديد إلى السجل عند سعر معين بمعرّف جديد.
  • التعديل (Modify): يغير معرّف موجود سعره أو حجمه. زيادة الحجم أو تغيير السعر يرسل الأمر إلى نهاية قائمة الانتظار في المستوى الجديد؛ أما تقليل الحجم فعادة ما يحافظ على ترتيبه.
  • الإلغاء (Cancel): يغادر معرّف السجل، كلياً أو جزئياً.
  • التداول أو التنفيذ (Trade or fill): ينفذ أمر هجومي مقابل معرّف واحد أو أكثر من المعرّفات الكامنة، مما يؤدي إلى تقليصها أو إزالتها.

لا يحمل نظام MBP أياً من هذه المفردات. تحديث MBP هو بيان حول مستوى معين: هذا السعر يحتوي الآن على هذا القدر من الحجم. سواء غادر الحجم عبر إلغاء أو عبر تنفيذ، يبدو التحديث متطابقاً. توضح اللوحة أدناه ذلك الحد في أنحف سجل ممكن، وهو قمة السجل الموحدة، بمستوى سعري واحد لكل جانب، وهو ما يسمى MBP-1 في هذا السياق.

الاستعلامالتغيرات في أفضل سعر متاح (AAPL، من 10:00 إلى 10:30 صباحاً بتوقيت شرق الولايات المتحدة، 16 يونيو 2026)
استعلام 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)
Run this yourself

خلال ذلك النصف ساعة، قامت 17.6% من الرسائل بتحريك أفضل سعر شراء إلى سعر مختلف، وأضافت 17.4% حجماً عند سعر شراء لم يتغير، وأزالت 12% حجماً عند سعر شراء لم يتغير، وتركت 53% سعر الشراء كما هو بينما تحرك الجانب الآخر. كل مجموعة هي بيان صافٍ حول مستوى سعري. لا يحدد أي منها أمراً، ولا توجد عملية حسابية يمكنها استعادة المعرّف المفقود.

ما الذي يمكن لكل مخطط الإجابة عليه وما لا يمكنه

يجيب MBP-10 على الأسئلة التي تُصاغ بصيغة "كم كان حجم الحجم هناك": شكل السلم، اختلال السجل، السيولة الكامنة بالقرب من السعر المتوسط، ومخطط العمق نفسه. المستويات المجمعة هي كل ما تحتاجه هذه الأسئلة.

يجيب MBO على الأسئلة التي تُصاغ بصيغة "ماذا حدث لهذا الأمر": كم كان حجم الحجم الذي يسبق أمرك عندما انضممت، كم من الوقت تصمد الأوامر قبل إلغائها، واحتمالية أن يتم تداول أمر سلبي عند نقطة التلامس قبل أن يتحرك السعر بعيداً. هذه الكميات لا توجد في شكل مجمّع، وجمع الأوامر في إجمالي مستوى يدمر التسلسل الذي حددها.

يُعد ترتيب قائمة الانتظار أوضح مثال، ولا يحمل معنى إلا في ظل أولوية السعر والوقت مقابل مطابقة التناسب، حيث يحدد ترتيب الوصول من يتداول أولاً. ما يجعل هذا الأمر مهماً هو حجم التنفيذ: يتم ملء المستوى عبر العديد من التنفيذات الصغيرة، وليس عبر تنفيذ واحد كبير.

الاستعلامتوزيع أحجام الصفقات في نفس الفترة (AAPL، من 10:00 إلى 10:30 صباحاً بتوقيت شرق الولايات المتحدة، 16 يونيو 2026)
استعلام 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)
Run this yourself

شكلت التنفيذات التي تقل عن مئة سهم، وهي حصة فردية، 92.3% من التداولات في تلك النافذة، وشكلت أكبر فئة موجودة، 1000 or more shares، نسبة 0.1%. إذا أرسلت تنفيذات بهذا الحجم إلى مستوى يعرض أربعة آلاف سهم، يمكن لأمر انضم إلى قائمة الانتظار أخيراً أن ينتظر عبر عشرات التنفيذات دون أن يتم تداوله. يظهر لك MBP الأربعة آلاف. بينما يظهر لك MBO الصف.

لا يظهر أي من المخططين الحجم المخفي. يعرض أمر جبل الجليد طرفاً صغيراً ويقوم بالتحديث بمعرّف جديد في كل مرة يتم فيها ملء الطرف، لذا لا يظهر الاحتياطي أبداً في أي رسالة.

إعادة بناء سجل من MBO هي آلة حالة

يقدم لك تدفق MBP الإجابة جاهزة. بينما يقدم لك تدفق MBO المدخلات ويتوقع منك أن تكون دقيقاً تماماً:

  1. ابدأ من لقطة حالية، أو من سجل فارغ بالإضافة إلى رسالة المسح الخاصة بالمنصة.
  2. طبّق كل إضافة وتعديل وإلغاء وتنفيذ بترتيب تسلسلي صارم، باستخدام معرّف الأمر كمفتاح.
  3. حافظ على فهرس ثانٍ حسب المستوى السعري، لأن هذا ما تقرأه استراتيجيتك.
  4. راقب أرقام التسلسل، وأعد المزامنة من لقطة جديدة كلما فقدت إحداها.

نمط الفشل هنا صامت. إذا فقدت رسالة إلغاء واحدة، سيظل هناك أمر وهمي في سجلك لبقية الجلسة، مما يؤدي إلى تضخيم ذلك المستوى، دون إطلاق أي استثناء. يتدهور أداء MBP بشكل أكثر سلاسة: كل تحديث يعيد صياغة إجمالي المستوى، لذا يتم استبدال القيمة التالفة في غضون بضع رسائل.

يعيش MBO أيضاً فقط على تدفقات المنصات المباشرة، سجل واحد لكل بورصة، مما يعني تشغيل ودمج العديد منها. الشريط الموحد هو ملخص بالبناء، وهو انقسام مغطى في SIP مقابل تدفقات البورصة المباشرة.

ما تكلفة التفاصيل الإضافية في عرض النطاق الترددي

تُعد أعداد الرسائل الطريقة الصادقة لتسعير الفرق. تحسب اللوحة أدناه رسائل قمة السجل الموحدة مقابل التنفيذات الفعلية خلال نفس النصف ساعة المحددة لخمسة أسماء معروفة.

الاستعلامنسبة رسائل أفضل سعر إلى الصفقات المنفذة، من 10:00 إلى 10:30 صباحاً بتوقيت شرق الولايات المتحدة، 16 يونيو 2026
استعلام 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 DESC
Run this yourself

حملت SPY أثقل حركة اقتباس لكل تنفيذ، بواقع 9.6 رسالة لكل تداول و510 ألف رسالة في ثلاثين دقيقة. الانتشار عبر الأسماء الخمسة واسع: في أسفل اللوحة، سجلت MSFT عدد 0.7 رسالة اقتباس لكل تنفيذ، وهو أقل من رسالة واحدة لكل تداول. تذكر ما يحسبه هذا العمود: مستوى سعري واحد لكل جانب، على تدفق قام بالفعل بدمج كل منصة في أفضل سعر شراء وعرض واحد. منتج عمق بعشرة مستويات يضاعف ذلك، وتدفق لكل أمر يضاعفه مرة أخرى، حيث أن كل أمر خلف كل مستوى في كل منصة يولد إضافته الخاصة، وتعديلاته الخاصة، وإلغاءاته الخاصة، سواء تم تداوله أم لا. تظهر نفس الحسابات على نطاق أوسع في حجم تدفق اقتباسات الخيارات.

أي تدفق لسجل الأوامر تحتاجه الاستراتيجية؟

يعمل معظم العمل على MBP-10. مخططات العمق، وميزات الاختلال، وقياس السيولة عند السعر، ونماذج تكلفة التنفيذ، وتقريباً كل سؤال بحثي حول حجم الحجم الكامن وأين، يمكن الإجابة عليها من المستويات المجمعة، بجزء بسيط من حجم الرسائل.

يصبح MBO مطلباً عندما تعتمد الإجابة على أمر محدد: ترتيب قائمة الانتظار، عمر الأمر، سلوك الإلغاء، احتمالية التنفيذ السلبي عند نقطة التلامس. الاستراتيجية التي تعتمد في نجاحها أو فشلها على ما إذا كانت بعمق مئتي سهم أو عشرين ألف سهم في الصف لا يمكنها الوصول إلى ذلك من البيانات المجمعة، وهي تدفع ثمن ذلك في رسوم الترخيص، وعرض النطاق الترددي، والتخزين، والهندسة اللازمة للحفاظ على سجل مُعاد بناؤه بشكل صحيح طوال اليوم.

كيف تم بناء هذه اللوحات
  • التدفق خلف كل لوحة هو قمة السجل الموحدة، مستوى سعري واحد لكل جانب، بالإضافة إلى شريط التداول. إنه ليس تدفق عمق وليس تدفقاً لكل أمر، لذا توضح هذه اللوحات حجة حجم الرسائل بدلاً من أخذ عينات من MBO نفسه.
  • النوافذ مثبتة على تاريخ ماضٍ محدد، من الساعة العاشرة إلى العاشرة والنصف صباحاً بتوقيت شرق الولايات المتحدة في السادس عشر من يونيو 2026، والمخزنة بتوقيت 14:00 إلى 14:30 بالتوقيت العالمي المنسق. تحافظ النوافذ المثبتة على استقرار الأرقام عبر عمليات إعادة التوليد.
  • تصنف لوحة التصنيف كل رسالة مقابل الرسالة السابقة في التسلسل. لا يمكنها فصل الإلغاء عن التنفيذ، وهو القيد الدقيق الذي يصفه هذا المنشور.

الأسئلة الشائعة

ما الفرق بين بيانات سوق MBO و MBP؟

نظام MBP، أو السوق حسب السعر، يجمّع الحجم المعروض عند كل مستوى سعري ويرسل تحديثاً واحداً لكل مستوى. نظام MBO، أو السوق حسب الأمر، يرسل كل أمر فردي بمعرّفه الخاص، إلى جانب أحداث الإضافة والتعديل والإلغاء والتنفيذ التي تحدث له.

هل بيانات Level 2 هي نفس بيانات MBO؟

غالباً لا. "Level 2" لدى وسيط التجزئة تعني دائماً تقريباً العمق المجمّع، أي MBP مع خمسة إلى عشرين مستوى سعرياً. يسوق عدد قليل من المزودين تدفقاً لكل أمر تحت نفس اسم الفئة، لذا فإن اسم المخطط، وليس اسم الفئة، هو ما يحدد ما يصل عبر الشبكة.

ما مدى ضخامة تدفق MBO مقارنة بتدفق MBP؟

بمراحل، وتختلف حسب المنصة والرمز. قمة السجل الموحدة وحدها تعمل بمعدل 9.6 رسالة لكل تنفيذ لأكثر الأسماء ازدحاماً في اللوحة أعلاه. يضيف التدفق لكل أمر كل إضافة وتعديل وإلغاء خلف كل مستوى في كل منصة، بما في ذلك الغالبية العظمى من الأوامر التي لا يتم تداولها أبداً.

هل يمكنك إعادة بناء سجل MBP من بيانات MBO؟

نعم، وهذا هو المسار الطبيعي: طبّق كل حدث أمر على سجل مفهرس بمعرّف الأمر، ثم انشر إجماليات المستوى. العكس مستحيل: بمجرد جمع الأوامر في إجمالي مستوى، تختفي المعرّفات الفردية وترتيب وصولها.


يتم شحن كل لوحة هنا مع كود SQL الدقيق تحتها. لحساب نفس الرسائل على رمز أو جلسة مختلفة، اطرح السؤال باللغة الإنجليزية البسيطة على محطة Strasmore.