الشك قبل الاحتفال: قراءة في كتاب "بناء بيئة برمجية للتداول الكمي الإنتاجي"
مقدمة لكتابي "بناء بيئة برمجية للتداول الكمي الإنتاجي"، وهو دليل عملي لنسبة الـ 90% غير البراقة من التداول المنهجي: لماذا كتبته، وماذا تتوقع، وماذا لا تتوقع.

نسبة الـ 90% غير البراقة التي تحدد ما إذا كانت فكرة التداول ستنجو في الأسواق الحقيقية
تركز معظم الكتابات حول التداول الكمي (Quantitative Trading) بشكل هوس على البحث عن الفرص والأرباح الاستثنائية (Edges). إنه عالم من نسب شارب (Sharpe Ratios) البراقة، ونماذج التعلم الآلي فائقة التحسين، ومنحنيات الأسهم السلسة. ولكن إذا حاولت يوماً أخذ استراتيجية من مفكرة Jupyter وتشغيلها برأس مال حقيقي، فستكتشف سريعاً أن العثور على الفرصة ليس سوى أول 10% من المشكلة.
أما نسبة الـ 90% المتبقية فهي غير براقة، ومحبِطة، ونادراً ما يُكتب عنها: إثبات أن اختبار المحاكاة التاريخية (Backtest) حقيقي، وربطه بوسيط مالي (Broker) دون أن تخدع نفسك، وتحديد حجم المراكز بحيث لا ينهي شهر سيئ حسابك بالكامل، وتشغيل النظام كعملية معزولة داخل حاوية (Containerised Process) يمكنها الصمود أمام انقطاع واجهات برمجة التطبيقات (APIs)، وتلف البيانات، وأخطائك البرمجية المستقبلية.
في كتاب Building a Production Quant Trading System: A practitioner's guide to the unglamorous 90% (بناء بيئة برمجية للتداول الكمي الإنتاجي: دليل الممارس إلى الـ 90% غير البراقة)، أتناول هذه الحلقة المفقودة. يتمحور الكتاب حول دراسة حالة حقيقية واحدة (بيئة برمجية متعددة الاستراتيجيات ومتصلة بالوسيط المالي أسمّيها Titan تعتمد على NautilusTrader)، لأقدّم دليلاً واقعياً خاض معارك حقيقية لبناء بنية تحتية للتداول تصمد أمام الواقع العملي للأسواق.
في هذا المقال أشرح لماذا كتبته، وما الذي يجب أن تتوقعه بين صفحاته، وبشكل حاسم، ما الذي لا يجب عليك توقعه.
لماذا يجب عليك قراءته
إذا كنت مهندس برمجيات، أو مطوراً شغوفاً بالتداول الكمي، أو متداولاً فردياً يمكنه قراءة لغة Python ومعرفة ماهية نسبة شارب، فإن هذا الكتاب مكتوب خصيصاً لك. وإليك الأسباب التي تجعله جديراً بالقراءة:
1. يتبنى فلسفة "الشك قبل الاحتفال"
الفرضية الأساسية للكتاب هي أن كل رقم تنتجه يكون منحازاً نحو التفاؤل ما لم تثبت عكس ذلك. في التداول المنهجي (Systematic Trading)، الأخطاء ليست متناظرة ولا تلغي بعضها لتصل إلى الصفر؛ ونظراً لأن الأخطاء المتفائلة هي التي تجعل الاستراتيجية تبدو جيدة، فهي التي تنجو من التدقيق وتحصل على التمويل.
إن اختبار المحاكاة الذي يبدو ممتازاً بشكل مفرط ليس مدعاة للاحتفال، بل هو مسرح جريمة يحتاج إلى تدقيق. وأوضّح لك كيف تحافظ على هذا المستوى من الشك الصحي في كل طبقة من طبقات نظامك البرمجي:
"عندما تبدو النتيجة جيدة أكثر من اللازم، فإن رد الفعل الأول الصحيح ليس الحماس، بل السؤال: 'أين التسريب؟'... كل فصل في الكتاب هو، بطريقة ما، وسيلة مختلفة لكي لا تخدع نفسك."
2. مبني على "قصص حرب" وندوب معارك واقعية
هذا ليس كتاباً أكاديمياً مليئاً بالمعادلات الأنيقة والنماذج الافتراضية؛ بل أشارك أخطاءً حقيقية ومؤلمة ارتكبتُها بالفعل في بيئة Titan، بما في ذلك:
- ثغرة تطلعية (Look-ahead bug) حولت استراتيجية تتبع اتجاه مسطحة إلى وهم بنسبة شارب بلغت +4.0.
- افتراض خاطئ حول العملة أدى إلى سوء تقدير حجم مركز حقيقي بمقدار الثلث دون قصد.
- بوابة جودة بيانات تسببت في حلقة انهيار متكررة (Crash loop) أدت إلى إيقاف التشغيل بالكامل.
- مفتاح تبديل دفاعي ظل معطلاً طوال أزمة سوق كبرى لأنه قارن الأصل البديل بلقطة مجمدة للأصل الأصلي بدلاً من قيمته الحية.
سوف تتعلم من أسباب بناء كل حاجز حماية أكثر بكثير مما قد تتعلمه من أي مخطط بنية برمجية مثالي ونظيف.
3. يسد الفجوة بين الأبحاث والعمليات التشغيلية
تتعامل معظم كتب التداول الكمي مع مرحلة النشر والتشغيل كأمر ثانوي، ويفترضون أنه إذا كانت لديك استراتيجية رياضية، فإنها ستتحول سحرياً إلى أرباح. بينما أتعامل أنا مع النشر والعمليات كأقسام هندسية أساسية، موضحاً كيف يمكن لأمر معلق (Bracket order) مرفوض من الوسيط المالي، أو نموذج تكلفة غير واقعي للعمولات، أو عملية كتابة صامتة فوق قاعدة البيانات أن تدمر استراتيجية مربحة تماماً.
4. يأتي مع بيئة برمجية كاملة ومفتوحة المصدر
بدلاً من مجرد مناقشة المفاهيم المجردة، صُمم الكتاب ليُقرأ بالتوازي مع بيئة برمجية حقيقية ومفتوحة المصدر. حزمة titan/ البرمجية والنصوص التعليمية مرخصة بموجب رخصة Apache-2.0 ومستضافة على منصة GitHub. يمكن للقراء نسخ المستودع (Clone)، وتشغيل دليل البدء السريع، وتنزيل عينات البيانات، وفحص خطوط التحقق وأدوات إدارة المخاطر الدقيقة الموصوفة في الكتاب، ليكون بمثابة مخطط هندسي إنتاجي يمكنك تشغيله وتعديله والبناء عليه.
ماذا تتوقع
تم تنظيم الكتاب كدفتر بناء زمني يتتبع دورة الحياة المستمرة للاستراتيجية: البحث ← التحقق ← النشر ← التشغيل ← التعلم. ويضم الكتاب الآن 45 فصلاً موزعة على سبعة أجزاء (إضافة إلى مجموعة من الملاحق وجولة عملية قابلة للتشغيل)، بنحو 90,000 كلمة، ويُختتم كل فصل بتمارين مع حلول مشروحة بالكامل.
Figure
The strategy lifecycle: Research, Validate, Deploy, Operate, Learn
The book is a build log around one continuous loop. Each stage feeds the next, and what you learn in production feeds straight back into research.
- 1
Research
find a candidate edge
- 2
Validate
prove it is real (or reject and retire it)
- 3
Deploy
wire it to a broker
- 4
Operate
run it unattended
- 5
Learn
capture what broke, then back to Research
A continuous loop, not a straight line: Learn feeds back into Research, and Validate can reject or retire a candidate before it ever reaches Deploy.
وإليك تفصيلاً لما يمكنك توقعه في كل جزء من الكتاب:
| الجزء | التركيز الأساسي | ما ستتعلمه |
|---|---|---|
| أولاً: الأسس والبنية البرمجية | بنية النظام | لماذا تفشل الأنظمة قبل تنفيذ أي صفقة، ثم تصميم بيئة برمجية تفاعلية (اعتماداً على NautilusTrader) تمنع فئات كاملة من الأخطاء والعيوب البرمجية بشكل هيكلي. |
| ثانياً: الأبحاث والتحقق | اختبارات محاكاة موثوقة | كشف الأكاذيب الإحصائية لاختبارات المحاكاة، وتعديل نسب شارب لتصحيح أثر الاختيارات المتعددة، والاختبارات المستمرة خارج العينة (Walk-forward)، وتحليل مخاطر الذيل والإفلاس، والسعة والازدحام، وتحويل قرار المضي/التوقف إلى دالة قرار (مصفوفة Sanctuary) مع كتالوج متجدد لأنماط الأعطال. |
| ثالثاً: هندسة البيانات | المصادر والتخزين | بناء خطوط بيانات مرنة، وتخزين سلاسل البيانات الزمنية، والتعامل الصحيح مع الجلسات والتقاويم والوقت، وحظر التشغيل الحقيقي في حال اكتشاف بيانات فاسدة أو متأخرة. |
| رابعاً: من البحث إلى الإنتاج | مطابقة الأبحاث للواقع | عقد صنف استراتيجي مُنمّط (Strategy-class contract)، وضمان قيام البيئة الحية بحساب نفس المقاييس تماماً كما في المحاكاة، ودورة حياة الأوامر ومنع تكرارها، وطبقة كاملة للتنفيذ والتكاليف (الانزلاق، والتنفيذات، ونموذج تكلفة مُنشأ)، وما يتغير عندما تكون الاستراتيجية نموذج تعلم آلي. |
| خامساً: المحفظة والمخاطر | رياضيات النجاة | حقوق ملكية كل استراتيجية وتحويل العملات، وتحديد أحجام المراكز بمعادلة كيلي المجزأة (Fractional Kelly)، ودمج الإشارات، ومدير مخاطر المحفظة، وقرص ارتباط للمخصِّص، وتعرض العوامل وبيتا، وشبكة أمان متعددة الطبقات لمنع الأيام السيئة من أن تكون قاضية. |
| سادساً: النشر والعمليات | البنية التحتية والتشغيل الحي | تشغيل النظام داخل حاويات Docker، والمراقبة وتحليل تكاليف التنفيذ الحي (Live TCA)، والتنبيهات ومفتاح الرجل الميت، وأدلة التشغيل، وإدارة الحوادث وكتابة تقارير ما بعد الحادث، ومتانة الحالة والتعافي من الكوارث، والتسوية مع الوسيط المالي، وفصل ختامي (Capstone) يمرر استراتيجية واحدة عبر كل مراحل خط الإنتاج. |
| سابعاً: تأملات ومراجعات | الندوب والدروس | نظرة صادقة على حدود نظام Titan، والمفاضلة بين المشغّل الفردي والفريق، والتحديات الهندسية المفتوحة، وقائمة قراءة منسقة بعناية. |
وقد وسّعت الإصدارات المتعاقبة الشقّ التشغيلي من الكتاب بشكل كبير. فالجزء الرابع يضم الآن فصلاً مخصصاً للتنفيذ والتكاليف، وفصلاً لدورة حياة الأوامر ومنع تكرارها، ومعالجة كاملة لما يتغير عندما تكون الاستراتيجية نموذج تعلم آلي. وأصبح الجزء السادس أكثف أجزاء الكتاب: المراقبة، وتحليل تكاليف التنفيذ الحي (Live TCA)، والتنبيهات ومفتاح الرجل الميت، وإدارة الحوادث وكتابة تقارير ما بعد الحادث، ومتانة الحالة والتعافي من الكوارث، والتسوية مع الوسيط المالي. ويجمع ذلك كله فصل ختامي، One strategy, end to end، يمرر استراتيجية توضيحية واحدة عبر كل مراحل خط الإنتاج بحيث تُقرأ التخصصات المنفصلة كسلسلة واحدة لا كسبعة أجزاء، بينما يقدم الملحق د جلسة عملية مع البيئة البرمجية المرافقة: تنسخ المستودع، وتشغّل خط التحقق على عينة بيانات، ثم تكسر الانضباط عمداً وتراقب البوابة وهي تمسكك.
أكاذيب اختبارات المحاكاة التاريخية الخمسة
من أهم فصول الجزء الثاني هو A backtest you can trust (اختبار محاكاة يمكنك الوثوق به). حيث يكشف الأساليب الخمسة التي يخدعك بها اختبار المحاكاة ليظهر الاستراتيجية بأفضل من حقيقتها، ويوضح الحلول الهندسية المتبعة في إطار Titan:
- Units (كذبة السنوية): تتناسب نسبة شارب طردياً مع الجذر التربيعي للزمن. إذا قمت بحساب عوائد ساعة معينة ولكن قمت بحساب سنويتها كعوائد يومية، فستتضخم نسبة شارب بمقدار 4.9 ضعفاً. الحل هو جعل معامل
periods_per_yearوسيطاً إجبارياً وصريحاً في كل دالة مساعدة للمقاييس. - Survivor Math (حسابات الناجين): تصفية واستبعاد الأيام المسطحة (ذات العائد الصفر) بحجة أنها "تشويش" يخفي ضعف انتقائية الاستراتيجية، مما يضخم نسبة شارب بشكل زائف. الحل هو عدم تصفية الأصفار مطلقاً قبل حساب السنوية لسلسلة العوائد.
- Peeking (كذبة التطلع المسبق): استخدام معلومات إغلاق الفترة t لتداول العائد الناتج خلال نفس الفترة t. الحل هو الالتزام الصارم بترحيل الإشارات البرمجية:
returns * position.shift(1). - Future-Normalisation (معايرة المستقبل): حساب درجات المعايرة الإحصائية (z-scores) باستخدام المتوسط والانحراف المعياري للسلسلة الكاملة، مما يسرب المستقبل إلى إشارات الماضي. الحل هو المعايرة السببية المتطورة (causal rolling/expanding) أو تجميد إحصاءات العينة التدريبية وتطبيقها خارج العينة.
- No Error Bars (غياب هوامش الخطأ): تقديم نسبة شارب كرقم فردي ثابت (مثل
1.2). يقوم الكتاب بتنفيذ أسلوب محاكاة عشوائية للكتل (Stationary block bootstrap) لإنتاج فترة ثقة تبلغ 95%؛ فإذا كان الحد الأدنى لفترة الثقة $\le 0$، تُصنف الاستراتيجية على أنهاunconfirmed(غير مؤكدة) وتُمنع من التمويل.
ما لا يجب أن تتوقعه
لتحقيق أقصى استفادة من هذا الكتاب، يجب عليك مواءمة توقعاتك مع أسلوبه العملي الصارم:
1. لا توجد استراتيجيات جاهزة لتحقيق أرباح سريعة (Alpha)
لا تقرأ هذا الكتاب بحثاً عن استراتيجية تداول مربحة وجاهزة؛ وأقولها بوضوح تام: لا توجد استراتيجيات لتحقيق عوائد استثنائية (Alpha) في هذا الكتاب.
لقد حُذفت جميع المعاملات، وقوائم الأدوات المالية، وأرقام الأداء الحقيقي بالكامل، أو استُبدلت بقيم توضيحية واضحة. الكتل البرمجية المعروضة هي أنماط برمجية هيكلية وصالحة للتشغيل، وليست وصفات لربح المال السهل. تكمن قيمة الكتاب في العملية والبنية التحتية الهندسية، وهي بالضبط ما يمكنني مشاركته بأمان.
2. لا يوجد تجميل أكاديمي للمشكلات
غالباً ما تقدم الأوراق الأكاديمية الخوارزميات والهياكل كما لو كانت كاملة وخالية من العيوب؛ لكن هذا الكتاب يفعل العكس تماماً. ففي الجزء السابع، أسرد قائمة بالندم الهيكلي في بيئة Titan الحالية. ستجد تفاصيل حول:
- The Currency Seam (درز العملات): الصعوبة التشغيلية المستمرة في التوفيق بين استراتيجيات مقومة بالدولار الأمريكي وقيمة تصفية الحساب الصافية (NLV) المقومة بعملة أخرى، والتي تتقلب بفعل أسعار الصرف، وعمولات التمويل، والرسوم.
- Exceedance Correlation (ارتباط التجاوز): كيف يستخدم نموذج المحاكاة المشترك لسيناريو الإفلاس ارتباطات غير مشروطة بين الاستراتيجيات، مما يقلل من تقدير مخاطر الذيل المشترك أثناء الأزمات المالية عندما تقترب الارتباطات من الرقم 1.
- Shadow Control Traps (فخاخ التحكم الظلي): مخاطر تشغيل ضوابط السلامة (مثل محددات الرفع المالي أو تجميد الخسائر) في "وضع الظل" لفترة طويلة دون تفعيلها الحقيقي، مما يمنح شعوراً وهمياً بالأمان بينما هي مجرد سجلات خاملة.
3. لا توجد نصائح عامة للثراء السريع
هذا ليس كتاباً يعطيك وعوداً بأن التداول سهل أو أنه يمكنك تشغيل نظام تداول من حاسوبك المحمول في أوقات فراغك. إنه يعامل التداول المنهجي كمشكلة هندسية عالية المخاطر. الملاحظات والتحذيرات مميزة الألوان: !!! warning لأي شيء يمكن أن يفسد نتائج اختبار المحاكاة، و !!! danger لأي شيء يمكن أن يدمر رأس مالك الحقيقي. إنه دليل هندسي للمطورين الذين يرغبون في معاملة رأس مالهم بالاحترام الذي يستحقه.
الخلاصة
إن Building a Production Quant Trading System هو محاولتي لملء الفراغ الكبير بين نظريات التمويل الكمي وعمليات تشغيل البرمجيات الحقيقية. لن يمنحك استراتيجية لهزيمة السوق، ولكنه سيمنحك الأدوات، وإطار الاختبار، والانضباط المعماري لضمان أنه عندما تجد فرصة تداول حقيقية، لن تكون شفرتك البرمجية هي السبب في إنهائها.
لأي مطور يتطلع إلى عبور الفجوة بين اختبار المحاكاة والبيئة الإنتاجية الحية، فإن هذا الكتاب هو دليل مكتوب بلغة الندوب التي خلفتها معارك رأس المال الحقيقي.
الجزآن الأول والثاني (الأسس، والأبحاث والتحقق) متاحان للقراءة مجاناً على الإنترنت، حتى تتمكن من تقييم المنهج قبل الشراء؛ أما الكتاب الكامل، الأجزاء من الثالث إلى السابع بالإضافة إلى الملاحق، فهو إصدار مدفوع يُباع كنسخة رقمية حية (PDF وEPUB) على منصة Leanpub وكنسخة ورقية مطبوعة عبر Amazon. وتبقى البيئة البرمجية المرافقة titan/ مفتوحة المصدر برخصة Apache-2.0.
معلومات أساسية والمستودع المرافق
- المؤلف: د. ريان أزهري
- البيئة البرمجية المرافقة: الحزمة البرمجية المفتوحة المصدر
titan/ونصوص الاختبار متاحة بموجب رخصة Apache-2.0 على منصة GitHub. - قراءة الكتاب: الجزآن الأول والثاني متاحان للقراءة مجاناً على الموقع rayanazhari.co.uk. أما الكتاب الكامل (الأجزاء من الثالث إلى السابع بالإضافة إلى الملاحق) فهو إصدار مدفوع: نسخة رقمية على منصة Leanpub، ونسخة ورقية مطبوعة عبر Amazon. محتوى الكتاب محفوظ الحقوق بالكامل، بينما تبقى البيئة البرمجية المرافقة مفتوحة المصدر برخصة Apache-2.0.
- إخلاء مسؤولية: مواد تعليمية فقط. ليست نصيحة استثمارية. التداول ينطوي على مخاطر خسارة جوهرية لرأس المال.
مقالات ذات صلة
ScenarioMIP CMIP7: ماذا يتغير وما يعنيه ذلك للتمويل والبيئة المبنية
تحليل لتصميم ScenarioMIP الجديد لـ CMIP7 (فان فورين وآخرون، 2026)، وما يعنيه ذلك للعلوم، ومعايير الإفصاح، والبنوك، والمقرضين، والعقارات.
التحيز التطلعي في اختبار المحاكاة يتنكّر في شيفرة عادية: اختبار إفساد المستقبل يفضحه
التحيز التطلعي هو الحالة الافتراضية لأي شيفرة اختبار محاكاة غير حذرة، لا حالة حدّية نادرة، وهو ينجو من المراجعة لأنه يبدو مجرد شيفرة pandas عادية. إليك اختبار السببية الذي صار الآن بوابة تمر منها كل استراتيجية: أفسِد كل سعر بعد تاريخ معين، ثم تحقق من أن لا شيء محسوب قبل ذلك التاريخ يتغير. فإذا تحرك الماضي حين تسمّم المستقبل، فالاستراتيجية تقرأ ما هو قادم.
لقد توقفت عن الدفع مقابل استضافة ووردبريس
استضافة ووردبريس المُدارة ضريبة تدفعها مالاً وأداءً وقلقاً أمنياً. إليك كيف احتفظت بمحرّر ووردبريس الذي أحبّه، وشغّلته محلياً مجاناً، ونشرت الموقع كملفات HTML ساكنة على شبكة الحافة: زاحف بلغة Node بلا اعتمادات خارجية جعلته مفتوح المصدر.