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

قدّم لي مسحُ شبكة معاملات، ذات مرة، فائزاً بنسبة شارب تقل بقليل عن 0.9. تصدّر نحو مئتي خلية معاملات، وصعد منحنى رأس ماله في الاتجاه الصحيح، وكان لديّ ملف إعدادات يحمل اسمه قبل أن أُنهي فنجان قهوتي. بدا الأمر كأنه نتيجة. لم يكن كذلك. وحين أجريت أخيراً الحساب الذي كانت عملية البحث تُجريه بهدوء خلف ظهري طوال الوقت، تبيّن أن أفضل نتيجة صادقة مُتوقَّعة لتلك الشبكة الميتة، بمحض الحظ ودون أي فرصة حقيقية في أي مكان منها، جاءت عند نحو 0.88. لم يكن فائزي المزهو سوى سقف التشويش نفسه، بطبقة رقيقة من الطلاء.
هذا هو نمط الفشل الذي وُجدت نسبة شارب المُعدَّلة (Deflated Sharpe) لتُمسك به تحديداً، وهي أكثر الأفكار قابلية للاستشهاد بها وأشدها إهمالاً في التطبيق، في مجال اختبار الاستراتيجيات بأكمله. لذا فهذا المقال هو النسخة العملية لممارس فعلي: ماذا يعني هذا الرقم، وجدول مرجعي واحد يمكنك أن تقيسه على مسحك أنت الليلة، والقاعدة التي حوّلت الـ0.9 لديّ من اكتشاف إلى حذف. والجملة الواحدة التي عليك أن تخرج بها هي هذه: N هو الحوض، لا المنصة.
أقصى قيمة بين تجارب كثيرة ترتفع من تلقاء نفسها
ابدأ بشبكة تكون كل خلية فيها عديمة القيمة فعلاً، بنسبة شارب حقيقية تساوي صفراً في جميعها. لكنك لن تحصل على عمود من الأصفار، لأن كل خلية تُقيَّم على عينة محدودة ومشوَّشة. فتهبط إحداها إلى سالب 0.4، وترتفع أخرى إلى موجب 0.5، وتتصدّر واحدة منها الجميع بمحض تباين العيّنة. أبلغ عن تلك الواحدة تحديداً، وتكون قد صنعت رقماً موجباً من شبكة لا تحوي شيئاً على الإطلاق.
والمقلق في الأمر أن حجم ذلك الرقم المصنوع قابل للتنبؤ به، ويكبر بمقدار جهدك في البحث. فأقصى قيمة بين N تجربة مشوَّشة تنجرف صعوداً كلما ارتفع N، وذلك حتى حين يكون متوسط كل تجربة صفراً تماماً. فأفضل خلية في أي مسح هي، بحكم تعريف كلمة "الأفضل" حرفياً، الخلية التي اختيرت لأنها الأوفر حظاً. لذا فإن نسبة شارب المُعلَنة التي توشك أن تطلقها للتداول منحازة نحو الأعلى بمقدار يتناسب مع عدد الأشياء التي جربتها، وقلّ من يطرح ذلك الانحياز مجدداً.
Chart
The noise ceiling: what luck alone produces
The expected best Sharpe of a completely dead grid (no edge anywhere) rises with the number of cells you try, N. A wider cross-trial spread lifts it further. Illustrative and sanitised.
هذا الخط الصاعد هو ما يجب أن يترسخ في ذهنك. أسمّيه سقف التشويش (Noise Ceiling): نسبة شارب التي ينبغي أن تتوقعها من فائز شبكة ميتة تماماً، مكوَّنة من N خلية. ولا يعتمد إلا على كميّتين اثنتين. الأولى هي N، أي عدد الخلايا التي جرّبتها، وهو رقم يقلّل الجميع من تقديره. والثانية مدى تشتت نسب شارب بين خلايا الشبكة، أي التشتت بين التجارب (Cross-Trial Dispersion)، وهو ما ينسى الجميع قياسه من الأساس. أدخِل هاتين الكميتين، فتحصل على ارتفاع العارضة التي يتوجب على فائزك أن يتخطاها قبل أن يقول أي شيء ذا معنى.
ونسبة شارب المُعدَّلة، بحسب Bailey وLopez de Prado، هي الآلية الرسمية التي تنجز هذا بالضبط. فهي تأخذ نسبة شارب المرصودة لديك، وتطرح منها سقف التشويش المحسوب عند N والتشتت الخاصين بك، وتُدمج فيها مدى ثِقَل ذيل توزيع عوائدك فعلياً (لأن العوائد المائلة ذات الذيل الثقيل تجعل مُقدِّر نسبة شارب أكثر تشويشاً مما يوحي به الرقم النقطي وحده)، ثم تُعيد احتمالاً واحداً: احتمال أن تكون نسبة شارب الحقيقية أكبر من صفر بعد احتساب البحث الذي أجريته. وأعتمد عتبة قبول عند 0.95. والاشتقاق الكامل، بما في ذلك سبب كلفة الذيل الثقيل عليك، موجود في الفصل المجاني؛ أما هنا فأريد أن أقدّم لك الأداة العملية التي تستخدمها دون أي جبر.
الجدول المرجعي الذي تستطيع استخدامه الليلة
لست بحاجة إلى تشغيل مكتبة برمجية لأي أحد لتتحقق من سلامة مسحك. تحتاج فقط أن تعرف، تقريباً، أين يقع سقف التشويش لشبكة بحجم شبكتك، ثم تضع فائزك إلى جانبه لتقارن. وهذا هو ذلك السقف لمجموعة من أحجام الشبكات، محسوباً عند تشتت اعتيادي بين التجارب لنسبة شارب يبلغ نحو 0.25. الأرقام توضيحية ومُنقّحة، لكن الشكل العام مطابق تماماً للصيغة المغلقة (Closed Form).
| عدد الخلايا التي جرّبتها (N) | نسبة شارب عند سقف التشويش (شبكة ميتة، حظ خالص) |
|---|---|
| 10 | ≈ 0.39 |
| 25 | ≈ 0.50 |
| 50 | ≈ 0.57 |
| 100 | ≈ 0.63 |
| 250 | ≈ 0.71 |
| 1000 | ≈ 0.81 |
Chart
Noise ceiling by grid size
For a dead grid of N cells at an ordinary cross-trial spread of 0.25, the Sharpe you should expect from the winner by luck alone. Print it next to your winner. Illustrative and sanitised.
اقرأ الصف الذي يكون فيه N مساوياً لـ100. امسح شبكة اعتيادية تماماً من مئة خلية لاستراتيجية بلا أي فرصة إطلاقاً، وستُسجّل أفضل خلية متوقَّعة نسبة شارب قدرها نحو 0.63. وهذا ليس حدثاً نادراً في الذيل، ولا واقعة تقع مرة واحدة بين كل مئة مسح، بل هو الناتج المتوسط لشبكة فارغة تماماً. فإن أنتج مسحك المكوّن من مئة خلية فائزاً عند 0.65، فأنت لم تكتشف عملياً أي شيء، ولن تُنقذك فترة ثقة مبنية على إعادة المعاينة (Bootstrap) لتلك السلسلة الواحدة وحدها، لأنها تسأل: "هل هذا المنحنى بعينه ذو دلالة إحصائية؟" ولا تعرف أبداً أن ذلك المنحنى كان الناجي من مسابقة جمال خضتها عبر تسع وتسعين غيره.
ثمة أمران يُحدِّدان حجم هذا الجدول، ويستحق كلاهما أن يبقى حاضراً في ذهنك. الأول أن السقف يرتفع مع N، لكن ببطء، على نحو أقرب إلى اللوغاريتم، وهذا بالضبط سبب كون المحور الأفقي في الرسم البياني لوغاريتمياً: فالانتقال من عشر خلايا إلى ألف خلية لا يرفع السقف إلا من نحو 0.39 إلى 0.81. والثاني أن السقف يتناسب بشكل شبه خطي مع التشتت بين التجارب. ضاعِف تشتت نسب شارب عبر شبكتك، وستضاعف تقريباً ارتفاع السقف. أما قصة الحرب الخاصة بي مع الـ0.9، فكان تشتتها واسعاً، نحو 0.35، على نحو مئتي خلية، وهذه التوليفة بالذات هي ما دفع السقف قريباً من 0.9. استخدم 0.25 مضاعِفاً ذهنياً افتراضياً، وارفعه إن كانت نسب شارب في شبكتك شديدة التشتت.
والعادة التي تكسبها من هذا كله سطر واحد في كل تقرير مسح: اطبع السقف إلى جانب الفائز. فعبارة "أفضل خلية 0.9، سقف التشويش 0.88" تروي القصة كاملة في لمحة واحدة. القارئ الذي لا يرى إلا الـ0.9 يظن أن لديك استراتيجية. أما من يرى الرقمين معاً فيعلم أن ما لديك رمية عملة أُخرجت بإتقان.
N هو الحوض، لا المنصة
والآن يأتي الجزء الذي يحدد ما إذا كان التمرين كله صادقاً، وهو الجزء الذي أخطأت فيه لسنوات. فكل مدخل في ذلك الجدول آلي البتّ إلا واحداً، وذلك الواحد هو N. والحكم كله يكمن في عدد التجارب، وهو رقم يكاد يكون دائماً أكبر بكثير من الرقم الذي تميل غريزتك إلى كتابته.
إليك الفخ في أنقى صوره. أُغربل مجموعة من مئات الأدوات المالية، وأحتفظ بالحفنة التي تبدو جيدة، ثم أُبلغ عن N بوصفه تلك الحفنة. خطأ. فضغط الانتقاء طُبِّق على كل اسم في المجموعة الكاملة، لا على الناجين وحدهم. N هو الحوض بأكمله. الناجون هم المنصة؛ والحوض هو كل من شارك في السباق. وإن أبلغتَ عن المنصة فقط، فأنت قد قلّصت السقف بهدوء إلى جزء يسير من ارتفاعه الحقيقي، وهذه بالضبط الحيلة التي تسمح لنتيجة مُفرِطة في التخصيص (Overfitting) باجتياز اختبار كان ينبغي أن ترسب فيه.
وترتدي الخطيئة نفسها أثواباً أهدأ. فشبكة الست خلايا التي "مسحتها للتو فقط" كانت في الحقيقة الشبكة السادسة؛ والشبكات الخمس التي تخليت عنها قبلها لا تزال محسوبة، لأن عينيّ قيّمتها ونبذتها لكونها أسوأ. ووقف الخسارة الذي "عدّلته يدوياً بضع مرات حتى بدا صحيحاً" ليس تجربة واحدة، بل هو كل بديل نظرت إليه. وأكبر إغفال على الإطلاق هو البحث عن الخصائص (Feature Search): غربل ثلاثين متغيراً تنبؤياً مرشحاً، واحتفظ بالخمسة التي نجحت، فكل واحد من الثلاثين ينتمي إلى N، ويُضرب عادة في عدد الخلايا التي مسحتها لكل خاصية. فاختيار الخصائص ما هو إلا مسح معاملات يرتدي معطف مختبر، وهو الطريقة الأكثر شيوعاً على الإطلاق التي يُقلَّل بها تقدير N بمقدار رتبة عددية كاملة.
والقاعدة التي أفرضها على نفسي الآن، وهي التي قتلت الـ0.9، جملة واحدة: N هو حجم حوض المرشحين الذي طُبِّق عليه الانتقاء بأكمله، لا عدد الناجين الذين تفخر بهم. وأنظف طريقة لتبقى صادقاً مع نفسك أن تكتب الشبكة وعدد التجارب قبل أن تُشغّلها، وتُثبّتها (Commit)، ثم تدع عملية التدقيق تقرأ N من ذلك البيان المُثبَّت (Manifest). فعدد التجارب مُدخَل في اختبار الدلالة الإحصائية، واختلاقه بعد أن ترى الفائز فعلاً هو نفس مخالفة التلاعب بالقيمة الاحتمالية (p-hacking)، وإن تنكّر في زي الترتيب والتنظيم.
الناجون جمّلوه، والحوض الكامل قتله
لنعد إلى فائزي. حين فشل الـ0.9 أول الأمر في اختبار حدسي سريع، فعلت الأمر الكسول: عدّلته مقابل الناجين فقط. أخذت الحشد الصغير من الخلايا التي نجت، وقِست تشتت نسب شارب بينها، واستخدمت عدد الناجين بوصفه N. وكانت النتيجة تكاد تكون مقبولة. فالناجون، بحكم طبيعة اختيارهم، تجمّعوا عند قيم مرتفعة ومتقاربة، فجاء تشتتهم المقيس صغيراً، ربما 0.15، وكان عددهم حفنة لا أكثر، فخرج السقف الذي حسبته عند نحو 0.5. وتخطّى الـ0.9 لديّ ذلك السقف براحة. وكدت أُطلقه للتداول.
ثم فعلتها كما ينبغي، مقابل الحوض الكامل الذي بحث فيه الغربال (Screener) فعلياً. وكان التشتت الحقيقي بين التجارب عبر الخلايا كلها واسعاً، نحو 0.35، وكان N الحقيقي هو المئتي خلية تقريباً التي طال الانتقاء جميعها، لا الناجين فقط. فقفز السقف إلى نحو 0.88. وتقلّصت الفجوة بين فائزي والحظ الخالص إلى مجرد خطأ تقريب، وتهاوى الاحتمال المُعدَّل إلى الحضيض، وأُعلنت الاستراتيجية، عن حق، على ما كانت عليه دائماً: أفضل خلية في شبكة ميتة. وكان خطآن متراكمان قد أخفيا ذلك. فتشتت الناجين يقلل من تقدير التشتت الحقيقي، لأن الناجين هم بالضبط الخلايا التي اتفقت مع بعضها بعضاً. وعدد الناجين يقلل من تقدير N، لأنه يُسقِط كل من خسر. وكلا الانحيازين يدفعان في الاتجاه نفسه، نحو التفاؤل، وهو بالذات الاتجاه الذي يميل إليه كل خطأ في اختبار المحاكاة أصلاً.
هضبة، لا قمة حادة
ثمة قريب بنيوي أرخص لنسبة شارب المُعدَّلة، أُجريه أولاً، يُمسك بالداء نفسه من زاوية مختلفة. خذ خليتك الفائزة وانظر إلى جاراتها المباشرتين في الشبكة. فالفرصة الحقيقية ملساء: حرّك فترة الاسترجاع (Lookback) من 19 إلى 20، أو العتبة درجة واحدة، وستتحرك نسبة شارب بالكاد. الفائز يجلس على هضبة. أما الأثر الناتج عن فرط الملاءمة فهو حافة سكين: الخلية الفائزة تسجّل 1.5 وجاراتها تسجّل 0.2. وهذه قمة حادة، محاولة محظوظة وحيدة تحيط بها منحدرات من كل جانب، وهي البصمة الكلاسيكية لملاءمة تشويش بدل اكتشاف إشارة حقيقية.
وهذه القاعدة الإرشادية تستحق أن تُعلَّق وحدها فوق المكتب: فائز أي مسح يجب أن يكون هضبة، لا قمة. يمكن لخليتين أن تسجّلا نسبة شارب المُعلَنة نفسها بالضبط، وتستحقا حكمين متضادين تماماً. فالخلية التي تتفق معها جاراتها متينة؛ أما الخلية الواقفة وحدها على قمة منعزلة فهي حادثة توشك أن تموّلها. ونسبة شارب المُعدَّلة هي الصيغة الكمية لهذا الهاجس نفسه: أقصى قيمة بين N محاولة، مُحوَّلة إلى احتمال. وفحص الهضبة هو صيغتها البنيوية، والفحصان يتكاملان لا يتكرران، لأن هضبة واسعة من جارات مترابطة هي بالضبط الحالة التي يبالغ فيها العدد الخام للتجارب في تقدير حجم العقوبة أكثر من أي حالة أخرى. حين يتفقان، يمكنك المضي قدماً. وحين يختلفان، صدّق المتشائم منهما.
الرقم الوحيد الذي يستحق الاحتفاظ به
إن أخذت خطوة واحدة من كل هذا، فخذ عادة طباعة سقف التشويش إلى جانب كل فائز مسح، وحسابه مقابل الحوض الكامل الذي بحثت فيه، لا المنصة التي احتفظت بها. فهذا السطر الواحد يحوّل نسبة شارب المُعلَنة من ادّعاء تريد أن تصدّقه إلى ادّعاء يمكنك أن تختبره فعلياً، في أقل من دقيقة، قبل أي عمليات تحقق مكلفة. والاستراتيجيات التي تموت هنا، تحت السقف، تستحق ذلك، وتموت رخيصةً.
أما الطريقة الكاملة، والصيغة المغلقة لحساب السقف، وسبب حصول العوائد ثقيلة الذيل على درجة أدنى، وكيف تتحول نسبة شارب المُعدَّلة إلى أحد المحاور الحاسمة في قرار أوسع بين الإطلاق للتداول أو التخلي عن الاستراتيجية، فكلها في الفصل المجاني تفوّق على أداة التحسين الخاصة بك، وهو مجاني القراءة، وجزء من النصف المجاني من كتاب Building a Production Quant Trading System؛ والكتاب الكامل، نسخة رقمية حيّة على Leanpub ونسخة ورقية مطبوعة على Amazon، يمضي إلى النصف المدفوع في التحجيم وبناء المحفظة وتشغيل النظام فعلياً. وإن كانت هذه الملاحظات الميدانية مفيدة، فالنشرة البريدية هي حيث تصل كل ملاحظة جديدة أولاً؛ إنها أنظف طريقة لمتابعة السلسلة أولاً بأول.
احمل هذه الجملة معك: فائز شبكة بحث لم يُحتسب فيها عدد ما جرّبته ليس دليلاً، بل هو فائز يانصيب نسيت أنك كنت تُشغّله. N هو الحوض، لا المنصة.
هذا مقال هندسي، وليس نصيحة استثمارية، ولا يحتوي على أي استراتيجية قابلة للتداول. جميع الأرقام توضيحية ومُنقّحة.
Chart
The noise ceiling: what luck alone produces
The expected best Sharpe of a completely dead grid (no edge anywhere) rises with the number of cells you try, N. A wider cross-trial spread lifts it further. Illustrative and sanitised.
Chart
Noise ceiling by grid size
For a dead grid of N cells at an ordinary cross-trial spread of 0.25, the Sharpe you should expect from the winner by luck alone. Print it next to your winner. Illustrative and sanitised.
قراءات إضافية
- اختبارك التاريخي ليس دليلاً: لماذا تموت أنظمة التداول الكمي قبل أن تتداول
منحنى الأسهم الجميل هو النتيجة الافتراضية لأي اختبار محاكاة تاريخية، وليس إنجازاً. إليك لماذا تنحاز كل أنماط الفشل في التداول الكمي نحو التفاؤل، والعادة الوحيدة التي تصمد أمام السوق الحقيقي: الشك قبل الاحتفال.
- الشك قبل الاحتفال: قراءة في كتاب "بناء بيئة برمجية للتداول الكمي الإنتاجي"
مقدمة لكتابي "بناء بيئة برمجية للتداول الكمي الإنتاجي"، وهو دليل عملي لنسبة الـ 90% غير البراقة من التداول المنهجي: لماذا كتبته، وماذا تتوقع، وماذا لا تتوقع.
مقالات ذات صلة
سهم واحد يُرسم مرة واحدة: العمارة التي تُبقي البحث خارج الإنتاج
أخطر شيفرة في أي مستودع تداول هي دفتر الملاحظات الاستكشافي الذي لا يجب أن يقترب أبداً من رأس المال الفعلي. قاعدة بنيوية واحدة، هي أن تسري التبعيات في اتجاه واحد فقط، تُبقيه خارج الإنتاج وتحوّل الاقتران الخفي إلى رقم يمكنك أن تراه بأمر واحد من grep.
اشترِ المحرك، وابنِ فرصتك: الخاصية الوحيدة التي تحسم اختيار محرك التداول الكمي
اختيار محرك للتداول الكمي ليس مقارنة سمات بين NautilusTrader وbacktrader وحلقة أحداث تُكتب منزلياً. الأمر يُحسم بخاصية واحدة، ومعيار تقييم يمكن تطبيقه على أي محرك: هل يُشغّل اختبار المحاكاة لديك الشيفرة نفسها التي يعمل بها نظامك الفعلي؟
لا تستخدم رقماً عائماً للمال أبداً: الخلل الصامت الذي يُسيء تحجيم صفقاتك الفعلية
استخدام رقم الفاصلة العائمة لتمثيل المال خطأ برمجي كلاسيكي، لكنه في نظام تداول لا يكتفي بتقريب بنس تقريباً خاطئاً، بل يُحرّف حجم مركز فعلي بصمت تام. يشرح هذا المقال لماذا يحدث ذلك، ولماذا لا يكفي نوع Money وحده حلاً كما قد تتخيل.