598 / 691WFA

Walk-forward Analysis

التحليل بالتقدم الزمني المتتابع

يختار Walk-forward Analysis القواعد من الماضي المتاح ويختبرها في المقطع التالي. وتتكرر العملية عبر الزمن وفق بروتوكول محدد مسبقًا. يُقيّم إجراء الاختيار كله، لا فائز عُثر عليه بأثر رجعي؛ وحتى الفصل الصحيح بين المقاطع لا يضمن عائدًا مستقبليًا.

Walk-forward Analysis هو تقييم زمني لإجراء يختار القواعد أو يضبطها باستخدام بيانات سابقة ثم يطبقها على فترات اختبار لاحقة. تتحرك أدوار الاختيار والاختبار عبر الزمن، ويجب ألا يعرف القرار الحالي النتيجة التالية.

يدفع Walk-forward Analysis المحاكاة التاريخية إلى الأمام زمنيًا: يختار قاعدة أو يضبطها اعتمادًا على البيانات المتاحة حتى ذلك الحين، ثم يقيّم تطبيقها في المقطع التالي. يصف QuantConnect التحسين الدوري على نافذة من أحدث البيانات الماضية. وتمييزنا التحريري هو أننا نقيّم إجراءً محددًا مسبقًا لتحديث المعلمات، لا مجموعة واحدة ثابتة منها فقط. وتشمل القاعدة أيضًا توقيت الاختيار التالي وهدفه ومجموعة المرشحين. التوافق الأفضل مع البيانات الحديثة لا يثبت بمفرده نتيجة مستقبلية أفضل. [QuantConnect — Walk Forward Optimization]

يحذر QuantConnect من أن الفترة المستخدمة للبحث عن أفضل المعلمات تصبح جزءًا من بيانات التطوير. وتطبيق الفائز المختار عليها بأثر رجعي ليس تقييمًا نزيهًا لقرار اتُخذ آنذاك. لذلك ينهي بروتوكولنا الاختيار قبل بداية مقطع الاختبار التالي. يجب ألا تؤثر بيانات هذا المقطع في الفائز الحالي. بعد انتهائه وإتاحة معلوماته فعلًا، يمكن أن تدخل وفق الإجراء المحدد مسبقًا في اختيار لاحق؛ لكن هذا لا يغير قرارات الاختبار المسجلة سابقًا. [QuantConnect — Optimization Parameters]

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

يستبعد المعامل gap في TimeSeriesSplit عينات من نهاية مجموعة التدريب قبل الاختبار. ومطلبنا المنهجي هو اشتقاق الفاصل اللازم من وقت إتاحة المدخلات واكتمال النتائج المستهدفة. إذا استخدمت نتيجة ملاحظة تدريب أسعارًا من فترة الاختبار، فإن ترتيب الصفوف وحده لا يزيل التسرب. لذلك لا ينبغي اختيار طول الفجوة لمجرد الحصول على منحنى جميل. وحتى الفجوة المناسبة لا تثبت استقلال الفترات المتجاورة ولا تزيل جميع أشكال انحياز الاختيار. [scikit-learn — TimeSeriesSplit]

تحذر وثائق scikit-learn من أن التطبيع أو تعويض القيم المفقودة أو اختيار السمات قد ينقل معلومات الاختبار إلى النموذج. ينبغي تعلم معلمات هذه التحويلات على جزء التدريب وحده ثم تطبيقها على جزء الاختبار. ويكرر فحصنا هذا الفصل عند كل تحريك للنافذة. حساب متوسط المجموعة بأكملها مسبقًا لا يُصلح بتقسيم الجدول الجاهز لاحقًا. ويجب أيضًا حفظ نسخة البيانات وتوقيت إتاحتها الفعلي. [scikit-learn — Common Pitfalls: Data Leakage]

يميز QuantConnect نموذجًا يحدد سعر التنفيذ وكميته ويمكن أن يتضمن فرق السعر وSlippage. ومطلبنا لربط مقاطع الاختبار هو التعامل المتسق مع رأس المال والمراكز المفتوحة وتكاليف تغيير القاعدة. لا تُضاف أرباح التدريب إلى نتيجة الاختبار اللاحق، ولا يجوز احتساب فترات الاختبار المتداخلة مرات متعددة دون توضيح. إذا رُحّل مركز مفتوح، فيجب وصف الانتقال بين الإعدادات. أما نموذجنا أدناه فينهي كل فترة دون مركز مفتوح. [QuantConnect — Trade Fills: Key Concepts]

يصف بيلي وزملاؤه تزايد خطر الاكتشافات الزائفة مع البحث المتكرر على البيانات نفسها. واستنتاجنا بالنسبة إلى Walk-forward Analysis هو أننا إذا غيرنا أطوال النوافذ أو الهدف أو المرشحين وفق سلسلة الاختبار الناتجة وأعدنا العملية كلها، فإن السلسلة تؤثر بالفعل في التطوير. لا يكفي تسميتها مستقلة. ينبغي أن يذكر التقرير جميع البروتوكولات المجربة ويميز أي تحقق إضافي لم يُستخدم بعد. التقدم الزمني وحده ليس تقديرًا لاحتمال فرط التكيّف ولا ضمانًا إحصائيًا تلقائيًا. [Bailey et al. — The Probability of Backtest Overfitting]

تؤكد NFA أن النتائج الافتراضية لا تعكس التداول الفعلي ولا الأثر الكامل للسيولة والانزلاق السعري والسلوك عند خسارة حقيقية. لذلك يحفظ تقريرنا عن Walk-forward Analysis حدود النوافذ والمرشحين ودرجات الاختيار والإعدادات المختارة ونتائج المقاطع اللاحقة بما فيها التكاليف. يحتاج المجموع إلى سياق المخاطر وعدد الملاحظات والمقارنة في ظروف متطابقة. لا يثبت مثال صغير سلبي عدم جدوى الطريقة عمومًا، كما لا يثبت مجموع إيجابي ميزة تداول مستقبلية. [NFA — Use of Promotional Material Containing Hypothetical Performance Results]

مثالمثال · WFA

الاختيار من الماضي والتقييم في الفترة التالية فقط

يستخدم نموذجنا المتخيل ست فترات متساوية الطول مرقمة من ⁦1⁩ إلى ⁦6⁩ ونسختين محددتين مسبقًا A وB. نتائجهما الصافية عند الحجم الثابت نفسه هي A ⁦[4, -1, 2, -3, 5, -2] USD⁩ وB ⁦[1, 2, 1, 1, -2, 4] USD⁩. لا تتاح كل نتيجة إلا بعد نهاية فترتها المعنية، وهي تشمل جميع تكاليف النموذج وتنتهي دون مركز مفتوح. لا توجد تكاليف انتقال إضافية أو ديون أو تدفقات نقدية. يجمع الإجراء المحدد مسبقًا دائمًا آخر ثلاث فترات مكتملة، ويختار المجموع الأعلى ويطبق الفائز في الفترة التالية فقط؛ وعند التعادل سيختار A. نوافذ الاختيار هي ⁦[1, 2, 3]⁩ و⁦[2, 3, 4]⁩ و⁦[3, 4, 5]⁩، والاختبارات اللاحقة ⁦[4, 5, 6]⁩. مجاميع الاختيار لـA هي ⁦[5, -2, 4] USD⁩ ولـB هي ⁦[4, 4, 0] USD⁩، فتُختار بالتتابع A ثم B ثم A. لا يدخل في نتيجة الاختبار المجمعة إلا ⁦[-3, -2, -2] USD⁩، بمجموع ⁦-7 USD⁩. النقد الابتدائي للاختبار قبل الفترة ⁦4⁩ هو ⁦1000 USD⁩ والنقد النهائي ⁦993 USD⁩؛ ولا يتغير الحجم بحسب النقد. لا تضاف نتائج التدريب إلى الحساب، ويُحتسب كل مقطع اختبار مرة واحدة فقط. يوضح المخطط تحريك نوافذ الاختيار والاختبارات التالية، لا تاريخ سوق فعليًا ولا احتمال نجاح مستقبلي.

للحصول على صورة أوضح، اقرأ هذا المدخل مع Backtesting, Overfitting, Look-ahead Bias, Trading Plan, Trading Journal. تشير إلى هذا المدخل أيضًا Backtesting, Overfitting, Look-ahead Bias, Survivorship Bias.

01هل يمكن أن تدخل فترة اختبار أقدم في التدريب لاحقًا؟

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

02هل يزيل Walk-forward Analysis فرط التكيّف؟

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

DOC · 001QuantConnect — Walk Forward Optimizationتوثيق ↗DOC · 002QuantConnect — Optimization Parametersتوثيق ↗DOC · 003scikit-learn — TimeSeriesSplitتوثيق ↗DOC · 004scikit-learn — Common Pitfalls: Data Leakageتوثيق ↗DOC · 005QuantConnect — Trade Fills: Key Conceptsتوثيق ↗DOC · 006Bailey et al. — The Probability of Backtest Overfittingمصدر أولي ↗DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance Resultsتوثيق ↗
المصادر أولًا · ليست نصيحة استثمارية