التحقق من الاختبارات الرجعية · بحث كمّي
CopyTradeAudit
محرك اختبار رجعي بُني ليكسر نتائجه هو نفسه — والنتيجة السلبية الصادقة التي خرج بها.
- Python
- FastAPI
- pytest
- SQLite
- uv
المشكلة
منتجات كثيرة تبيع الفكرة ذاتها: أسواق التنبؤ تنشر كل صفقة، وبعض المتداولين رابحون باستمرار، فاتبعهم واربح. فكرة يسهل اختبارها رجعيًا، ويسهل بالقدر نفسه اختبارها بشكل خاطئ: يكفي تسرّب معلومة مستقبلية واحدة، أو احتساب خمسين سوقًا مترابطة على أنها خمسون ملاحظة مستقلة، حتى تبدو النتيجة ممتازة وهي لا تعني شيئًا.
لمن هو
كل من يستند قراره إلى اختبار رجعي: استراتيجية على وشك التشغيل الفعلي، أو سجل أداء جهة خارجية، أو رقم يبدو أفضل من أن يُجادَل فيه.
ماذا يفعل
نواة بحثية حتمية بلغة Python — نحو 3,500 سطر يحرسها 103 اختبارات — جرى قياسها على 370 سوقًا و134,000 صفقة حقيقية و46 حدثًا مستقلًا. الحكم: لا أفضلية قابلة للقياس. الصفقات المختارة بالنسخ حققت +0.0200 للسهم فوق نطاق السعر 0.95، بينما شراء النطاق نفسه بشكل أعمى، دون أي متداول على الإطلاق، حقق +0.0211.
قرارات رئيسية
- محصّن ضد التسرّب بحكم البناء: عند كل إشارة، تُحسب كفاءة المتداول من الأسواق التي أُغلقت قبل تلك اللحظة فقط — لا مما حدث بعدها أبدًا.
- فترات ثقة بأسلوب bootstrap مُجمّعة حسب الحدث، حتى تُحتسب خمسون سوقًا مترابطة داخل حدث واحد ملاحظةً واحدة لا خمسين.
- محاكاة التنفيذ مقابل دفتر أوامر حقيقي، مع الرسوم والانزلاق السعري والتنفيذ الجزئي، بدل افتراض أن كل أمر نُفِّذ عند نقطة المنتصف.
- نُشرت النتيجة السلبية بدل النتيجة المُرضية، ووُسمت إحدى الاستراتيجيات بـ INCONCLUSIVE لأن الخلل كان في القياس لا في النموذج.
ما تعلّمته
وجدت أربعة أخطاء في منهجيتي أنا، وكل واحد منها كان قد صنع بالفعل نتيجة إيجابية زائفة تبدو مقنعة — من بينها استراتيجية بنسبة نجاح 100% على 36 صفقة، بينما أفضليتها الحقيقية على الدخول الأعمى كانت 0.8%. ترتيب المتداولين حسب نسبة الربح لا يكشف المهارة، بل يكشف من يشترون شبه اليقين بثمانية وتسعين سنتًا. الإجابة الخاطئة الواثقة أغلى من غياب الإجابة.
إلى أين يتّجه
تحويل فحوص التسرّب والترابط إلى منصة اختبار يمكن توجيهها إلى اختبار رجعي كتبه شخص آخر، لتطبيق الصرامة نفسها على استراتيجية ليست من تأليفي.
على الورق فقط — لا تداول فعلي ولا أموال حقيقية، وهذا مقصود بالتصميم.