High-Performance Backtest Engines
How to build a backtest engine that runs hundreds of times faster without changing a single PnL number — data layout, caching, adaptive resolution, and architecture, from first speedups to production internals.
- 01
Mar 13, 2026#algotradingPolars مقابل Pandas للتداول الخوارزمي: معايير أداء على بيانات حقيقية
مقارنة تفصيلية بين Polars وPandas في مهام التداول الخوارزمي: معايير أداء للفلترة، التجميع، حسابات الإشارات المتحركة، الإدخال/الإخراج، واستهلاك الذاكرة. بنية هجينة Polars + Numba لأقصى أداء في الاختبار الخلفي.
- 02
Apr 12, 2026#الاختبار العكسيVectorBT: الإطار الأسرع للاختبار العكسي باستخدام بايثون
نظرة عامة على VectorBT — مكتبة مبتكرة للتحليل الكمي تغير نهج الاختبار العكسي بفضل قوة NumPy و Numba.
- 03
Jun 26, 2026#algotradingسلم سرعة محرك الاختبار الرجعي: 298 ضعفاً على وحدة معالجة كمبيوتر محمول، بنفس PnL حتى آخر صفقة
خمسة تطبيقات لنفس مسح 80 توليفة من المعلمات، جميعها مُتحقق من أنها تُنتج نفس PnL تماماً: pandas rolling.apply يستغرق 69.9 ثانية، numpy 3.1، numba 2.0، numba المتوازي 0.23 — تسريع مقيس بمقدار 298 ضعفاً على Apple M2 Max بدون أي تغيير في العتاد، وما زال ~13 ضعفاً أسرع من خط أساس مُتّجه (vectorized) كفؤ. ماذا تشتري كل درجة، ولماذا ليست وحدة معالجة الرسوميات (GPU) هي القطعة المفقودة، وأين يكمن الاختناق الحقيقي في البحث الجماعي عن المعلمات.
- 04
Jul 2, 2026#التداول الخوارزميضريبة الإطار: عندما تكون مكتبة الاختبار الرجعي لديك أبطأ من حلقة pandas ساذجة
قِسنا أداء ثمانية محركات اختبار رجعي على عملية مسح معاملات واحدة متطابقة — 150k شمعة، و80 توليفة من تقاطعات HMA، مع تثبيت تكافؤ عدد الصفقات عند 2707. اثنان من أشهر الأطر المدفوعة بالأحداث جاءا أبطأ من حلقة pandas مكتوبة يدويا، بينما شغّل محرك متجهي/مُصرَّف العمل نفسه أسرع بنحو 13,000×. دراسة للعبء لكل شمعة الذي لم تُبنَ المكتبات الشائعة لتوزيعه على مدى الحساب.
- 05
Mar 16, 2026#algotradingذاكرة التخزين المؤقت المجمعة لـ Parquet: كيف تُسرّع الاختبارات الرجعية متعد دة الأُطُر الزمنية بمئات المرات
كيفية حساب الأُطُر الزمنية والمؤشرات مسبقاً من شموع الدقيقة، وحفظها في parquet، واستخدامها لاختبار الاستراتيجيات بشكل مكثف دون حسابات متكررة.
- 06
Jul 3, 2026#التداول الخوارزميفضاء المعاملات ذو المحورين: لماذا ينبغي أن يكون معظم المسح لديك شبه مجاني
ليست كل المعاملات متساوية في تكلفة البحث. تنقسم معاملات الاستراتيجية إلى محور مكلف (المؤشرات — يعاد حسابها على السلسلة كلها) ومحور رخيص (عتبات القرار — تمريرة O(n) على إشارات محسوبة مسبقا). ولأن المؤشرات ثابتة تجاه العتبات، تحسبها مرة واحدة وتمسح آلاف تكوينات العتبات بمعدل ~5,600 تكوين/ثانية — أي أرخص بنحو 1,600x من إعادة الحساب لكل تكوين. إعادة تسعير للعنة الأبعاد.
- 07
Mar 17, 2026#algotradingالحفر التكيفي: اختبار رجعي بدقة متغيرة من الدقائق إلى الصفقات الخام
كيف تُسرّع دقة البيانات التكيفية الاختبارات الرجعية وتوفر مساحة التخزين: الحفر من 1m إلى 1s و100ms والصفقات الخام فقط حيث تحرك السعر بشكل كبير أو ارتفع الحجم، وليس عبر السلسلة التاريخية بأكملها.
- 08
Jul 5, 2026#التداول الخوارزميبوابة الدقة: البحث من الخشن إلى الدقيق في الاختبار الرجعي يخدعك أسرع ما لم يُرتّب الوكيل الرخيص الإعدادات مثلما يفعل التقييم المكلف
البحث المتدرج / متعدد الدقة (drill-down) — مثل ASHA والتنصيف المتتالي (successive halving) و Hyperband — يفحص آلاف الإعدادات بتكلفة زهيدة ولا يرقّي إلى التقييم الكامل المكلف سوى الناجين منها. هذا تسريع حقيقي — لكنه ينهار بصمت إذا اختلف ترتيب الدقة المنخفضة عن ترتيب الدقة العالية. قسنا الارتباط بين ترتيب الطيّات: عند طيّة واحدة يمكن أن يبلغ معامل ارتباط الرتب لسبيرمان ρ قيمة 0.03 فقط (ترتيب شبه عشوائي)، ليرتفع إلى 0.43 ثم 0.67 ثم 0.78 ثم 0.91 مع تراكم الطيّات. الحل هو بوابة إلزامية واحدة — قِس ρ(الرخيص، الكامل) أولاً، وارفع تلقائياً الحد الأدنى للدقة إلى أول درجة يبلغ فيها ρ ≥ 0.5.
- 09
Jul 4, 2026#التداول الخوارزميالبحث العشوائي مقابل البحث الذكي: نقطة التقاطع هي تكلفة التقييم، لا الخوارزمية
عندما يكون الاختبار الخلفي الواحد رخيصًا، يفوز تسلسل Sobol العشوائي المخلوط الغبي بمعدل الإنتاجية الخام — بينما تدفع أدوات أخذ العينات "الذكية" (TPE وCMA-ES وASHA) ضريبة ask/tell في بايثون تُبطئها 20 مرة، فتقيّم نقا طًا أقل بكثير في نفس زمن التنفيذ الفعلي وتخسر. اجعل كل تقييم مكلفًا (أطر زمنية متعددة + طيات walk-forward) وتنقلب نقطة التقاطع. قسنا كلا النظامين، ولماذا تُعد دقة ترتيب الطيات (ρ@1 ترتفع من 0.03 إلى 0.43) الشرط المسبق لنجاح التقليم.
- 10
Mar 11, 2026#algotradingالنزول الإحداثي مقابل التحسين البايزي: أيهما يجد معاملات أفضل
لماذا البحث الشامل مستحيل مع 12+ معامل، وكيف يفوّت النزول الإحداثي التفاعلات، وكيف يجد Optuna مع عيّنة TPE في 500 تكرار ما لا يستطيع OAT إيجاده في 96. أمثلة عملية بالكود، مقارنة العيّنات، والتحسين متعدد الأهداف.
- 11
Jul 6, 2026#التداول الخوارزميفخ الدقة العددية لـ GPU: كيف يُعيد اختبار خلفي بصيغة fp32 على Apple Metal نتائج عشوائية بصمت
وحدة معالجة الرسومات Metal من Apple لا تدعم float64 إطلاقاً. عند نقل اختبار خلفي متجهي (vectorized) إليها بصورة ساذجة، فإن صيغة WMA المغرية القائمة على المجموع التراكمي (prefix-sum) تفيض في fp32 — بخطأ نسبي أقصى يبلغ 211× — ومع ذلك يستمر التنفيذ ويُعيد أرقاماً تبدو معقولة. الحل ليس مزيداً من الدقة، بل صيغة مختلفة: التفاف مباشر ذو نافذة (direct windowed convolution) آمن في fp32 حتى دقة 8×10⁻⁷ وأسرع بـ 55.9 مرة من numba أحادي الخيط. هذا المقال يشرح الفخ، والحساب الكامن وراءه، وكيف تُثبت أنك لم تقع فيه.
- 12
