DepthFeed/Polymarket·جودة البيانات

WebSocket لـ CLOB في Polymarket مقابل الأرشيفات الساعية: لماذا تحدد الدقة مصير الـ backtest

الفرق بين backtest على Polymarket يمكنك التداول بناءً عليه وآخر يخدعك لا يكمن عادةً في كمية البيانات التي تملكها، بل في طريقة أخذ عيناتها.

DepthFeed··6 min

يسجّل الالتقاط المدفوع بالأحداث (event-driven) دفتر أوامر Polymarket عند كل تغيير، مباشرةً من WebSocket الخاص بـ CLOB؛ أما الأرشيف ذو الفاصل الزمني الثابت فيأخذ عينة وفق ساعة محددة (مثلاً مرة كل ساعة) ويتجاهل كل ما يحدث بين العينتين. وفي أسواق الكريبتو قصيرة الأجل التي تُسوّى خلال دقائق، لا يلتقط أخذ العينات بالفواصل سوى لقطة أو اثنتين من عمر السوق بأكمله، ولهذا فإن الدقة، لا حجم الملف، هي ما يحدد ما إذا كان الـ backtest جديراً بالثقة.

ماذا تعني "الدقة" فعلياً

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

يمكن للنهجين أن يُنتجا ملفات متقاربة في الحجم، ومع ذلك يحملان معلومات مختلفة تماماً. فعينة بفاصل زمني لسوق هادئ تهدر صفوفاً على دفتر لم يتغير؛ بينما عينة بفاصل زمني لسوق سريع تفوّت التحركات التي تهمّ.

مشكلة الأسواق قصيرة الأجل

تُسوّى أسواق الكريبتو من نوع up/down على Polymarket خلال 5 إلى 60 دقيقة. تأمّل سوق BTC مدته 5 دقائق. قد يلتقطه الأرشيف الساعي مرة واحدة أو لا يلتقطه إطلاقاً — وقد لا يكون لديك حتى دفتر واحد من عمر السوق بأكمله. أما الأرشيف الذي يأخذ عينة كل دقيقة فيمنحك نحو خمس لقطات، لا واحدة منها متزامنة مع اللحظات التي كانت استراتيجيتك ستتحرك عندها فعلاً.

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

مقارنة جنباً إلى جنب

الأرشيف الساعيعينة كل دقيقةالمدفوع بالأحداث (DepthFeed)
تغطية سوق مدته 5 دقائق0–1 لقطة~5 لقطاتكل تغيير
التقاط اتساع الـ spreadلانادراًنعم
قابلية قياس الـ slippageلاتقريبينعم
التزامن مع تحركات السعر الفوريلابشكل خشننبضة بنبضة
التسليم الحيغير منطبقغير منطبق~10 ms كوسيط (مقيس)

لماذا لا يحتفظ أحد تقريباً بالعمق المدفوع بالأحداث

تسجيل كل تغيير في الدفتر في الزمن الحقيقي مكلف: فهو يعني إبقاء اتصال WebSocket حي لكل سوق، وحفظ كل لقطة، وعدم القدرة أبداً على إعادة تعبئة (backfill) ما لم تلتقطه — إذ لا يمكن إعادة بناء تاريخ دفتر الأوامر بأثر رجعي. ولهذا لا تقدّم البورصات تاريخ دفترها الخاص، وتتوقف معظم الأرشيفات عند آخر سعر مأخوذ كعينة. وُجد DepthFeed تحديداً لتسجيل هذا العمق المدفوع بالأحداث وتقديمه.

Key takeaways

  • 01الدقة تتعلق بأسلوب أخذ العينات، لا بحجم الملف.
  • 02الأرشيفات ذات الفاصل الزمني الثابت تفوّت عمر الأسواق التي تمتد من 5 إلى 60 دقيقة.
  • 03الالتقاط المدفوع بالأحداث يسجّل كل تغيير في الدفتر، فيصبح مسار السوق الكامل قابلاً لإعادة التشغيل.
  • 04لا يمكن إعادة تعبئة تاريخ دفتر الأوامر — فهو متاح فقط إذا التقطه أحدهم حياً.

الفرق بين backtest على Polymarket يمكنك التداول بناءً عليه وآخر يخدعك لا يكمن عادةً في كمية البيانات التي تملكها، بل في طريقة أخذ عيناتها.

ابدأ مجانًا

أسئلة، مُجابة.

يبثّ WebSocket الخاص بـ CLOB في Polymarket تحديثات الدفتر الحية، لكن Polymarket لا يقدّم أرشيفاً تاريخياً لتلك الـ snapshots من دفتر الأوامر. ولإعادة تشغيل الدفتر كما كان، تحتاج إلى مزوّد التقط الـ WebSocket باستمرار وخزّنه — وهو ما يفعله DepthFeed بالضبط.