Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

لماذا يخسر صانعو السوق المال؟ الانتقاء العكسي

لماذا يخسر صانعو السوق المال؟ الانتقاء العكسي هو القناة الرئيسية. تعرّف إلى قياسه بمنحنيات markout، وتكاليف مخاطر المخزون وموقعك في الطابور.

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

ما الانتقاء العكسي في التداول؟

يعرض صانع السوق سعرين في الوقت نفسه: سعر bid للشراء وسعر offer للبيع، ولكل منهما حجم محدد. والفجوة بينهما هي فارق سعر bid وask، أما النشاط نفسه فحسابي. اشترِ عند bid، وبِع عند offer، وكرر ذلك عشرات الآلاف من المرات يومياً، وسيحصّل متوسط دورة الشراء والبيع مبلغاً يقترب من قيمة spread.

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

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

ما markout في صناعة السوق؟

يجيب markout عن سؤال واحد يُطرح بعد كل عملية تنفيذ: أين كان السعر بعد عدد ثابت من الثواني، محسوباً من جانب الصفقة الذي كنت عليه؟ لنفترض أن صانع سوق باع 100 سهم بسعر $50.02، بينما كان سعر المنتصف عند $50.00. تبدأ هذه العملية بائتمان قدره سنتان للسهم، أي 20 mils وفق وحدات مكتب التداول، حيث إن mil يساوي عُشر السنت. إذا تحرك سعر المنتصف إلى $50.04 بعد 60 ثانية، فإن markout عند أفق 60 ثانية يساوي سالب 20 mils. يكون الائتمان الأولي قد اختفى، ويُضاف إليه مقدار مماثل من الخسارة.

عند حساب المتوسط عبر كل عمليات التنفيذ خلال فترة زمنية ورسمه مقابل الأفق الزمني، تكون النتيجة منحنى markout. وتبني اللوحة أدناه منحنى لـ AAPL خلال فترة منتصف النهار الممتدة ثلاث ساعات يوم الخميس 14 مايو 2026. ويُوقَّع كل سجل صفقة مقارنةً بسعر المنتصف في الثانية التي سُجّل فيها: فالسجل المنفذ فوق سعر المنتصف يُعد شراءً من المتداول المنفذ، ما يضع صانع السوق في جانب البيع.

الاستعلاممقدار السبريد المتبقي: منحنى مارك آوت لـ AAPL، من ثانية واحدة إلى 5 دقائق
استعلام SQL الدقيق وراء كل رقم
WITH
  qs AS (
    SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
           avg((toFloat64(bid_price) + toFloat64(ask_price)) / 2) AS mid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-05-14 14:00:00'
      AND sip_timestamp <  '2026-05-14 17:06:00'
      AND bid_price > 0 AND ask_price > bid_price
    GROUP BY ts
  ),
  fills AS (
    SELECT t.ts AS ts, t.px AS px, t.shares AS shares, q.mid AS mid_at_fill,
           if(t.px > q.mid, 1, -1) AS taker_side
    FROM (
      SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
             toFloat64(price) AS px, toUInt64(size) AS shares
      FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= '2026-05-14 14:00:00'
        AND sip_timestamp <  '2026-05-14 17:00:00'
        AND size > 0
    ) AS t
    INNER JOIN qs AS q ON q.ts = t.ts
    WHERE t.px != q.mid AND abs(t.px / q.mid - 1) < 0.02
  )
SELECT
  concat('+', toString(e.secs), 's')                          AS horizon,
  round(1000 * avg(e.taker_side * (e.px - e.mid_at_fill)), 2) AS edge_at_fill_mils,
  round(1000 * avg(e.taker_side * (e.px - f.mid)), 2)         AS edge_after_mils
FROM (
  SELECT toUInt32(ts + secs) AS future_ts, secs, px, mid_at_fill, taker_side
  FROM (SELECT *, arrayJoin([1, 5, 15, 30, 60, 300]) AS secs FROM fills)
) AS e
INNER JOIN qs AS f ON f.ts = e.future_ts
GROUP BY e.secs
ORDER BY e.secs
Run this yourself

تمثل السلسلة الأولى الائتمان في لحظة التنفيذ، أي المسافة بين سعر التنفيذ وسعر المنتصف، بمتوسط 19.66 mils للسهم. وتمثل السلسلة الثانية قيمة عمليات التنفيذ نفسها بعد أن أُتيح لسعر المنتصف وقت للتحرك: 20.5 mils بعد ثانية واحدة، و9.81 mils بعد خمس دقائق. والمسافة بين السلسلتين عند أي أفق زمني هي markout، وهي تُقتطع من spread الذي عرضه صانع السوق.

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

أي عمليات التنفيذ تمثل تدفقاً ساماً؟

تؤدي كلمة «سام» هنا وظيفة فنية. يكون التدفق ساماً عندما يميل منحنى markout الخاص به ضد صانع السوق الذي نفذ الصفقة، عند كل أفق زمني، ضمن عينة كبيرة. تصنّف مكاتب التداول عمليات التنفيذ وفق كل وسم يمكنها رؤيته: حجم السجل، venue، نوع الأمر، ومعرّف الطرف المقابل. والحجم هو الوسم الظاهر في سجل التداول العام.

الاستعلامتنفيذات AAPL حسب حجم الصفقة: الائتمان عند التنفيذ والقيمة بعد 60 ثانية
استعلام SQL الدقيق وراء كل رقم
WITH
  qs AS (
    SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
           avg((toFloat64(bid_price) + toFloat64(ask_price)) / 2) AS mid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-05-14 14:00:00'
      AND sip_timestamp <  '2026-05-14 17:06:00'
      AND bid_price > 0 AND ask_price > bid_price
    GROUP BY ts
  ),
  fills AS (
    SELECT t.ts AS ts, t.px AS px, t.shares AS shares, q.mid AS mid_at_fill,
           if(t.px > q.mid, 1, -1) AS taker_side
    FROM (
      SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
             toFloat64(price) AS px, toUInt64(size) AS shares
      FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= '2026-05-14 14:00:00'
        AND sip_timestamp <  '2026-05-14 17:00:00'
        AND size > 0
    ) AS t
    INNER JOIN qs AS q ON q.ts = t.ts
    WHERE t.px != q.mid AND abs(t.px / q.mid - 1) < 0.02
  )
SELECT
  multiIf(s.shares < 100, 'under 100 shares',
          s.shares < 500, '100 to 499',
          s.shares < 1000, '500 to 999',
          '1,000 or more')                                    AS size_bucket,
  count()                                                     AS fills_count,
  round(1000 * avg(s.taker_side * (s.px - s.mid_at_fill)), 2) AS edge_at_fill_mils,
  round(1000 * avg(s.taker_side * (s.px - f.mid)), 2)         AS edge_after_60s_mils
FROM (SELECT *, toUInt32(ts + 60) AS future_ts FROM fills) AS s
INNER JOIN qs AS f ON f.ts = s.future_ts
GROUP BY size_bucket
ORDER BY min(s.shares)
Run this yourself

تبدأ عمليات التنفيذ التي تقل عن 100 سهم بائتمان قدره 19.47 mils للسهم، وتبلغ قيمتها 15.22 mils بعد دقيقة. أما السجلات التي تبلغ 1,000 سهم أو أكثر فتبدأ بائتمان قدره 36.26 mils، وتبلغ قيمتها 21.34 mils خلال الأفق الزمني نفسه. الأداة نفسها والفترة نفسها الممتدة ثلاث ساعات، لكن اقتصاديات مختلفة لكل سهم. وغالباً ما تتجنب الأوامر الأكبر الطابور العام بالكامل، وهو ما صُممت صفقة الكتلة لتحقيقه.

مخاطر المخزون: المركز الذي لا يمكن التحوط له في الوقت المناسب

يمثل أفق markout أيضاً ساعة توقيت. فعندما يشتري صانع السوق 5,000 سهم عند bid، يصبح حائزاً 5,000 سهم. وإلى أن يُحوَّط المركز أو يُباع، يظل معرضاً لأي تحرك تالٍ في السعر. ونادراً ما يكون التحوط فورياً: فقد يُعادل مركز سهم واحد باستخدام ETF مرتبط أو مركز في الخيارات، ولكل منهما spread خاص يجب عبوره. ومخاطر المخزون هي حجم الحركة التي تقع ضمن هذه النافذة، وتُقاس بالطريقة نفسها لأي ورقة مالية. إلى أي مدى يتحرك السعر عادةً خلال الدقيقة التالية، وخلال الساعة التالية؟

الاستعلاممدى تحرك السعر أثناء انتظار المركز: SPY وNVDA، مايو 2026
استعلام SQL الدقيق وراء كل رقم
WITH
  bars AS (
    SELECT ticker, window_start,
           toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           toFloat64(close) AS px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'NVDA')
      AND window_start >= '2026-05-01 00:00:00'
      AND window_start <  '2026-06-01 00:00:00'
      AND transactions >= 50
      AND close > 0
  ),
  starts AS (
    SELECT ticker, et_date, px, mins,
           window_start + toIntervalMinute(mins) AS future_start
    FROM (SELECT *, arrayJoin([1, 2, 5, 15, 30, 60]) AS mins FROM bars)
  )
SELECT
  concat(toString(s.mins), ' min')                                AS hold_horizon,
  round(avgIf(abs(f.px / s.px - 1) * 10000, s.ticker = 'SPY'), 1)  AS spy_drift_bps,
  round(avgIf(abs(f.px / s.px - 1) * 10000, s.ticker = 'NVDA'), 1) AS nvda_drift_bps
FROM starts AS s
INNER JOIN bars AS f
  ON f.ticker = s.ticker AND f.et_date = s.et_date AND f.window_start = s.future_start
GROUP BY s.mins
HAVING countIf(s.ticker = 'SPY') > 0 AND countIf(s.ticker = 'NVDA') > 0
ORDER BY s.mins
Run this yourself

خلال مايو 2026، بلغ متوسط الحركة المطلقة في SPY خلال دقيقة واحدة 1.9 نقطة أساس، حيث إن نقطة الأساس تساوي واحداً من مئة من الواحد في المئة. وبلغت الحركة في NVDA 5.5 خلال الدقيقة نفسها. وعند تمديد الأفق إلى ساعة، يصبح الرقمان 14.1 و40.4. ويتحمل صانع السوق الذي يستطيع تصفية مركزه خلال دقيقة الزوج الأول من الأرقام. أما صانع السوق الذي يحتفظ بالمركز ساعة فيتحمل الزوج الثاني، مع أن الائتمان المحصل عند التنفيذ متطابق في الحالتين.

لماذا يخسر صانعو السوق المال في مؤخرة الطابور؟

تطابق البورصات الأوامر القائمة عند سعر واحد وفق ترتيب وصولها: السعر أولاً، ثم الوقت. وينتظر أمر في مؤخرة طابور يضم 40,000 سهم عند bid حتى تُنفَّذ الأسهم الأربعون ألفاً التي تسبقه، كما أن تقدير موقع الأمر في الطابور مجال تحليلي مستقل.

وتكمن الصعوبة في معنى إفراغ الطابور. إذ يخلو الطابور بطريقتين. يواصل البائعون التنفيذ عند bid حتى ينفد المستوى، أو يهبط السعر عبر المستوى ويتركه خلفه. ويشارك الأمر القريب من المقدمة في المسارين. أما الأمر في المؤخرة فيُنفَّذ غالباً عبر المسار الثاني، في اللحظة التي يوشك فيها المستوى على أن يصبح سعراً قديماً. وقد يتداول صانعان للسوق الأداة نفسها بالسعر نفسه، لكن يحتفظ كل منهما بمقدار مختلف من هذا السعر. ولا يظهر موضع الأمر في الطابور ضمن spread المعروض، لأن صانعي السوق عرضا السعر نفسه. لكنه يظهر في منحنى markout.

لماذا لا يُعد توسيع عرض السعر حلاً مجانياً؟

الإجابة الواضحة على منحنى markout السيئ هي عرض spread أوسع. فالعرض الأوسع يحقق دخلاً أكبر من كل عملية تنفيذ، لكنه يصل إلى عدد أقل من عمليات التنفيذ. ويظهر شِقّا هذه المقايضة في سجلات اليوم نفسه، بعد ترتيبها وفق بُعد كل سجل عن سعر المنتصف.

الاستعلامصفقات AAPL حسب البُعد عن نقطة المنتصف: حصة من الحجم ومارك آوت بعد 60 ثانية
استعلام SQL الدقيق وراء كل رقم
WITH
  qs AS (
    SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
           avg((toFloat64(bid_price) + toFloat64(ask_price)) / 2) AS mid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-05-14 14:00:00'
      AND sip_timestamp <  '2026-05-14 17:06:00'
      AND bid_price > 0 AND ask_price > bid_price
    GROUP BY ts
  ),
  fills AS (
    SELECT t.ts AS ts, t.px AS px, t.shares AS shares, q.mid AS mid_at_fill,
           if(t.px > q.mid, 1, -1) AS taker_side
    FROM (
      SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
             toFloat64(price) AS px, toUInt64(size) AS shares
      FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= '2026-05-14 14:00:00'
        AND sip_timestamp <  '2026-05-14 17:00:00'
        AND size > 0
    ) AS t
    INNER JOIN qs AS q ON q.ts = t.ts
    WHERE t.px != q.mid AND abs(t.px / q.mid - 1) < 0.02
  )
SELECT
  multiIf(s.cents <= 0.5, '0.5 cents or less',
          s.cents <= 1.0, '0.5 to 1 cent',
          s.cents <= 2.0, '1 to 2 cents',
          'over 2 cents')                                  AS distance_from_mid,
  round(100 * sum(s.shares) / sum(sum(s.shares)) OVER (), 2) AS share_of_volume_pct,
  round(1000 * avg(s.taker_side * (s.px - f.mid)), 2)        AS edge_after_60s_mils
FROM (
  SELECT *, toUInt32(ts + 60) AS future_ts, abs(px - mid_at_fill) * 100 AS cents
  FROM fills
) AS s
INNER JOIN qs AS f ON f.ts = s.future_ts
GROUP BY distance_from_mid
ORDER BY min(s.cents)
Run this yourself

شكّلت السجلات الواقعة ضمن نصف سنت من سعر المنتصف 27.58 في المئة من الأسهم خلال الفترة، وبلغت قيمتها 0.95 mils للسهم بعد دقيقة. أما السجلات التي ابتعدت بأكثر من سنتين عن سعر المنتصف فشكّلت 33.19 في المئة من الأسهم، وبلغت قيمتها 46.86 mils. ويصل عرض السعر المنشور على مسافة أكبر من سعر المنتصف إلى حصة أصغر من حجم التداول اليومي.

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

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

هل يخسر صانعو السوق المال في الصفقات الفردية؟

بصورة متكررة. يتكون دفتر صناعة السوق من توزيع لمكاسب صغيرة وخسائر صغيرة، وتتجمع الصفقات الخاسرة في اللحظات التي تسبق تحرك السعر مباشرة. ويعتمد النشاط على المتوسط عبر ملايين عمليات التنفيذ.

ما markout في التداول؟

markout هو التغير في سعر السوق عند أفق زمني ثابت بعد عملية التنفيذ، مع توقيعه من منظور أحد الجانبين، بحيث يعني الرقم الموجب أن ذلك الجانب حقق مكسباً. وتعرض مكاتب تداول الأسهم markout بوحدة mil للسهم، بينما تعرضه مكاتب تداول الخيارات بوحدة tick لكل عقد.

ماذا يعني تدفق الأوامر السام؟

يصف تدفق الأوامر الذي يميل منحنى markout الخاص به باستمرار ضد صانع السوق الذي ينفذه، بما يعني أن السعر يواصل الابتعاد بعد كل عملية تنفيذ. ويُعد هذا الوصف خاصية إحصائية لسلسلة من الأوامر، ولا ينطوي على حكم بشأن أي متداول بعينه.

لماذا يوسّع صانعو السوق spreads بدلاً من سحب عروض أسعارهم؟

يحافظ العرض الأوسع على وجود صانع السوق في السوق بسعر يعوضه عن منحنى markout أسوأ. أما سحب العرض فلا يحقق دخلاً ويؤدي إلى التخلي عن موضع الطابور أيضاً. ويفعل مكتب التداول الأمرين، ويتوقف الاختيار على المدة المتوقعة لبقاء العرض قديماً.

كيف يُقاس الانتقاء العكسي؟

باستخدام markout. وقّع كل عملية تنفيذ وفق الجانب الذي كان عليه صانع السوق، ثم احسب متوسط تغير سعر المنتصف عند آجال ثابتة لاحقة. والفجوة بين الائتمان عند التنفيذ والقيمة عند كل أفق زمني هي تكلفة الانتقاء العكسي، بوحدات spread نفسها.

كيف بُنيت هذه الأرقام

تقرأ كل لوحة لـ AAPL سجلين عامين: سجل الصفقات وسجل عروض الأسعار. وتُطابق كل صفقة بين الساعة 14:00 والساعة 17:00 بالتوقيت العالمي المنسق في 14 مايو 2026 مع متوسط أفضل سعر وطني للشراء وأفضل سعر وطني للبيع في الثانية التي سُجلت فيها، ثم تُوقَّع. وتُعد الصفقة المسجلة فوق سعر المنتصف شراءً من المتداول المنفذ، ما يضع صانع السوق في جانب البيع. أما الصفقات المسجلة تماماً عند سعر المنتصف فلا تُنسب إلى أي جانب وتُستبعد، وكذلك أي صفقة تبعد أكثر من 2 في المئة عن سعر المنتصف. وتُستبعد سجلات الأسعار التي يساوي فيها bid offer أو يتجاوزه، لأن السوق المقفل أو المتقاطع لا يتيح سعراً صالحاً للمنتصف.

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


تتضمن كل لوحة هنا SQL الذي أنتجها، لذلك يمكن فحص حسابات markout سطراً بسطر. ولإعادة بناء المنحنى لأداة أخرى أو ليوم مختلف، اطلب ذلك باللغة الإنجليزية البسيطة على منصة Strasmore.