الانتقال إلى المحتوى

مركز المساعدة

Help Center articles

كيف تتجنب الإفراط في التخصيص (Overfitting)؟

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

1.استخدم مجموعة بيانات كبيرة ومتنوعة

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

  • استخدم أكبر قدر ممكن من البيانات: تأكد من اختبار الاستراتيجية على بيانات لعدة سنوات، بما في ذلك الفترات ذات ظروف السوق المختلفة (صعودية، هبوطية، متذبذبة).
  • تضمين ظروف السوق المتنوعة: استخدم بيانات من أنظمة سوق مختلفة (تقلبات، اتجاهات، أزمات) لضمان عدم تحسين استراتيجيتك لنوع واحد محدد من البيئات فقط.
  • تجنب اختيار البيانات بعناية (Cherry-picking): استخدم مجموعات بيانات كاملة بدلاً من استبعاد فترات معينة قد تجعل استراتيجيتك تبدو أسوأ.

2.الاختبار خارج العينة (Out-of-Sample Testing)

يعد الاختبار خارج العينة تقنية حاسمة لتقييم مدى أداء استراتيجيتك على البيانات التي لم يتم تدريبها عليها.

  • تقسيم بياناتك: استخدم جزءًا من بياناتك التاريخية لتحسين الاستراتيجية (داخل العينة/in-sample) والجزء المتبقي للاختبار (خارج العينة/out-of-sample). على سبيل المثال، إذا كان لديك 10 سنوات من البيانات، استخدم أول 7 سنوات للتحسين والسنوات الثلاث المتبقية للاختبار.
  • مراقبة الأداء: إذا كانت استراتيجيتك تؤدي بشكل جيد داخل العينة ولكنها تؤدي بشكل سيئ خارج العينة، فمن المرجح أنها تعاني من الإفراط في التخصيص. الاستراتيجية التي تؤدي باستمرار في كلتا الفترتين هي أكثر قدرة على التعميم بشكل جيد.

فيExpress Generator، يمكنك ضبط الاختبار خارج العينة باستخدام هذه المعلمات:

data_start_percent = 0
data_end_percent = 100

قم بتعديل هذه القيم لتحديد النسبة المئوية للبيانات المستخدمة للتدريب والاختبار.

3.الاختبار الأمامي (Forward Testing)

بعد الاختبار الخلفي (Backtesting)، يعد الاختبار الأمامي ضروريًا لتقييم كيفية سلوك الاستراتيجية على بيانات حقيقية غير مرئية.

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

فيExpress Generator، يمكنك تمكين الاختبار الأمامي باستخدام هذه المعلمات:

use_forward_testing = true
preload_data_bars = 0

4.الحد من تعقيد الاستراتيجية

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

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

فيExpress Generator، يمكنك تحديد عدد المؤشرات باستخدام هذه المعلمات:

max_entry_slots = 3
max_exit_slots = 2

هذا يقلل من عدد قواعد الدخول والخروج، مما يقلل من فرصة الإفراط في التخصيص.

5.وضع معايير قبول صارمة

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

  • التركيز على مقاييس الأداء الأساسية: استخدم مقاييس مثلProfit Factor،Return to Drawdown،نسبة الربح/الخسارة، والركود. الاستراتيجيات التي تستوفي هذه العتبات تكون أكثر عرضة لأن تكون قوية.

مثال على إعداد المعايير:

min_count_of_trades    = 100
min_profit_factor = 1.5
min_return_to_drawdown = 2.0

تضمن هذه القيم أن الاستراتيجية لديها عدد معقول من الصفقات وتوازن جيد بين المخاطر والمكافآت.

6.محاكاة مونت كارلو

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

  • عشوائية ظروف السوق: إدخال فروق أسعار (spreads) عشوائية، وانزلاق (slippage)، وتخطي دخول الصفقات لمحاكاة ظروف العالم الحقيقي واختبار ما إذا كانت الاستراتيجية قوية ضدها.
  • محاكاة تغيرات المعلمات: إدخال تغييرات عشوائية صغيرة على معلمات الاستراتيجية (مثل فترات المؤشرات) ومعرفة ما إذا كانت الاستراتيجية لا تزال تعمل بشكل جيد. الاستراتيجية التي تغير سلوكها بشكل جذري مع تعديلات طفيفة في المعلمات هي على الأرجح تعاني من الإفراط في التخصيص (overfitted).

إعداد مثال لـ مونت كارلو:

enable_monte_carlo            = true
count_of_tests = 20
spread_max = 30
slippage_max = 20
skip_entries_percent = 2
ind_params_max_change_percent = 20

يقوم هذا الإعداد بتشغيل 20 اختباراً، ويدخل تغييرات في الفروق السعرية والانزلاق، ويعمل على عشوائية معلمات المؤشرات لاختبار مرونة الاستراتيجية.

7.استخدم إعدادات اختبار خلفي متحفظة

تأكد من أن افتراضات الاختبار الخلفي واقعية، خاصة فيما يتعلق بتنفيذ الصفقات:

  • تضمين الانزلاق وفروق الأسعار: تأكد من أن الاختبارات الخلفية تعكس ظروف التداول الفعلية من خلال احتساب الفروق السعرية (spreads) والانزلاق (slippage).
  • استخدم أوامر وقف الخسارة وجني الأربan واقعية: لا تقم بتحسين هذه المعلمات بشكل مفرط. استخدم نطاقات تعتمد على توقعات السوق المعقولة بدلاً من ضبطها بدقة لتناسب البيانات التاريخية.

مثال فيExpress Generator:

spread = 20
slippage_max = 10

هذا يأخذ في الاعتبار ظروف العالم الحقيقي حيث يتم تنفيذ الصفقات مع عيب طفيف مقارنة بالظروف المثالية.

8.التحقق المتقاطع (Cross-Validation)

التحقق المتقاطع هو تقنية مستعارة من تعلم الآلة حيث يتم استخدام مجموعات فرعية متعددة من البيانات للاختبار والتحقق.

  • تقسيم البيانات إلى أجزاء متعددة: تدوير فترات العينة (in-sample) وخارج العينة (out-of-sample) عدة مرات. يختبر كل تقسيم جزءاً مختلفاً من البيانات، مما يضمن أن الاستراتيجية لا تعاني من الإفراط في التخصيص لمجموعة واحدة من الظروف.

فيExpress Generator، يمكنك إنشاء ملفات بيانات متعددة من فترات أو أسواق مختلفة واختبار الاستراتيجية على كل منها.

9.تجنب التطفل على البيانات والإفراط في التحسين

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

  • وضع نطاقات معقولة للمعلمات: بدلاً من ضبط الاستراتيجية على مستويات دقيقة، استخدم نطاقات أوسع للمؤشرات مثل المتوسطات المتحركة أو فترات RSI.
  • تجنب تعديل الاستراتيجية بعد كل فشل: سيكون لكل استراتيجية خسائر، ولكن تعديل القواعد بعد كل أداء ضعيف من المرجح أن يؤدي إلى الإفراط في التخصيص.

10.إعادة التقييم المنتظم

الأسواق تتطور، والاستراتيجية التي عملت بشكل جيد في الماضي قد تحتاج إلى تعديلات أو حتى استبدال بمرور الوقت. أعد تقييم الاستراتيجية بشكل دوري:

  • مراقبة الأداء باستمرار: تتبع المقاييس الرئيسية مثل التراجع (drawdown)، ونسبة الربح/الخسارة، وعامل الربح، وقارنها بالأداء التاريخي.
  • تحديث البيانات بانتظام: قم بتحديث مجموعات البيانات الخاصة بك لضمان عمل استراتيجيتك مع أحدث المعلومات.

الخاتمة

لتجنب الإفراط في التخصيص (overfitting)، من المهم استخدام بيانات متنوعة، ووضع معايير قبول واقعية، واختبار متانة استراتيجيتك باستخدام تقنيات مثل محاكاة مونت كارلو والاختبار الأمامي (forward testing). حافظ على بساطة الاستراتيجيات، وركز على المتانة، وأعد تقييم الأداء باستمرار بمرور الوقت. باتباع هذه الممارسات، يمكنك تطوير استراتيجيات تداول تعمل بشكل جيد في كل من الأسواق التاريخية والأسواق الواقعية.

قيّم وراجع
مفيدغير مفيد