كيف لا تخسر كل الأموال في بضع دقائق أو إدارة المخاطر في التداول الخوارزمي




المقدمة


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

" Algotrader نائم - التجارة مستمرة! " - يحب بعض التجار أن يقولوا. لكن الواقع ليس بهذه البساطة. من أين تبدأ تداول الخوارزميات برأيك؟ من الاتصال بالتبادل أو كتابة خوارزمية؟ بالنسبة للمشاركين المحترفين ، يبدأ التداول بتطوير إدارة المخاطر .

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

لا يستطيع التاجر معرفة المبلغ الذي سيكسبه ، ولكن يجب أن يعرف بالضبط مقدار ما يمكنه خسارته. في الواقع ، أي تداول يأتي للسيطرة على المخاطر ، والربح مكافأة لمراقبتهم.

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

1. الحلول المعمارية


قبل الانتقال إلى تصنيف المخاطر ، سأتحدث قليلاً عن الحلول القياسية في الجزء التجاري من التداول الخوارزمي.

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

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

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


رسم بياني 1. المخطط المعماري لخادم التداول.

2. التصنيف العام للمخاطر


  • 2.1. مخاطر البنية التحتية
  • 2.2. مشاكل الاتصال مع البورصة / الوسيط
  • 2.3. مشاكل في منطق استراتيجيات التداول

2.1. مخاطر البنية التحتية


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

المخاطر الرئيسية:

  • خسارة كاملة / جزئية لأداء الخادم ؛
  • إعادة تشغيل الطوارئ لنظام التشغيل ؛
  • فشل الخادم الفعلي.

تعتمد جودة حل هذه المشاكل ، كقاعدة ، على ميزانيتك ومتطلبات خوارزميات التداول الخاصة بك.

2.1.1. خيارات الحل


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

2.1.2.


  • / . TIER III uptime 99,98% . .
  • . , . .
  • احتياطي الطاقة هو 40-50٪ على الأقل (CPU ، RAM ، SSD) مقارنة بوضع التداول المعتاد. كقاعدة ، في الحركات القوية في السوق ، يزداد الحمل في تدفقات البيانات ويبدأ الخوارزميات في تنفيذ المعاملات بنشاط. في هذه اللحظة الحاسمة ، يجب ألا يكون هناك أي مكابح على خوادمك.

2.2. مشكلات الاتصال


في البورصات والوسطاء ، تحدث أعطال فنية من وقت لآخر. على سبيل المثال ، تعطل تشغيل منصة التداول الخاصة بـ Sberbank أو تم "العمل به" في بورصة موسكو ، وأغلقت البورصة لتناول طعام الغداء ، وعلقت بورصة موسكو التداول بسبب الفشل ، إلخ.

المخاطر الرئيسية:

  • فواصل الاتصال
  • تأخيرات عالية
  • بيانات خاطئة؛
  • فقدان جزئي للبيانات.


2.2.1. فواصل الاتصال


يمكن الحصول على معلومات قطع الاتصال بعدة طرق:

  • موصل الأحداث API - متصلة ، قطع الاتصال .
  • استخدام خوارزميات التحقق من الاتصال مثل Heartbeat ، والتي عادة ما تكون موجودة في واجهة برمجة التطبيقات.
  • بشكل غير مباشر. من نقص البيانات في تدفقات البيانات.

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

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

2.2.2. مشاكل البيانات


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

التغييرات الواردة:

  • تبادل النظارات / كتاب النظام
  • صفقات
  • التطبيقات
  • البنود
  • توازن

البيانات الصادرة:

  • طلبات التسجيل

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

عادة ما يتم حل مشاكل البيانات من خلال تطبيق خوارزميات التتبع مثل WatchDog . يجب أن تمر جميع الخيوط من خلال هذه الوحدات. مسار

WatchDogs :

  • تواتر تحديثات البيانات في الدفق ؛
  • تأخيرات الطابع الزمني في البيانات والوقت الحالي ؛
  • عند توفر البيانات يحدد وجود التواصل مع البورصة.

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

من أجل الحساب الصحيح للتأخيرات ، يجب تطبيق نظام مستقل للتزامن الدقيق لوقت النظام. على سبيل المثال ، مع خوادم NTP .

2.2.3. خيارات الحل


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

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

ترتيب استعادة العمل:

  • إعادة الاتصال
  • تحميل البيانات المفقودة ؛
  • إخطار خوارزميات استرداد الاتصالات ؛
  • نقل البيانات المفقودة إلى الخوارزميات ؛
  • تبديل التدفقات في الوقت الحقيقي ؛
  • يجب أن يقوم منطق التداول للخوارزميات بتطبيع مواقعهم وإعادة وضع الأوامر.

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

2.3. مشاكل في منطق استراتيجيات التداول


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

2.3.1. تصنيف المشاكل


  1. أخطاء في التطبيقات:
    • السعر / الحجم السلبي
    • غير إتجاه؛
    • نوع خاطئ ، إلخ.
  2. أخطاء API:
    • لا يتم ملء جميع الحقول في المعاملة ؛
    • استخدام نسخة قديمة من API ؛
    • ..
  3. :
    • ;
    • ;
    • ;
    • « »;
    • .
  4. :
    • ;
    • ;
    • .
  5. :
    • ;
    • .
  6. :
    • ;
    • ;
    • ;
    • .
  7. :
    • ;
    • ;
    • عدد كبير من التطبيقات التي لا تؤدي إلى المعاملات.
  8. عدم وجود معالجة استثنائية في كود برنامج استراتيجيات التداول

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

2.3.2. خيارات الحل


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

3. مراقبة التطبيقات وحدود استراتيجيات التداول


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

يمكن تقسيم الشيكات إلى نوعين:
3.1. التحقق الأساسي من التطبيقات
3.2. تحليل ومراقبة الحد

3.1. التحقق الأساسي من التطبيق


يجب التحقق من جميع الطلبات الصادرة من أجل:

  • أخطاء فادحة
  • صحة وكفاية البيانات لواجهة برمجة التطبيقات ؛
  • الامتثال لمواصفات الصكوك المتداولة ؛
  • الامتثال للوائح المزايدة ، وما إلى ذلك.

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

3.2. مراقبة الحد


للتحكم في الحدود ، يتم فحص ما يلي:
3.2.1. تغيير في التوازن والموقف قبل تقديم الطلب
3.2.2. التغير في الرصيد الحالي والموقف
3.2.3. سعر التطبيق وحجمه
3.2.4. سلوك التطبيق

3.2.1. تحليل التغيرات في التوازن والموقف قبل تقديم الطلب


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

3.2.2. تحليل التغيرات في الميزان والموقف الحالي


يتم تشكيل الحدود على التغييرات في حجم التداول والمركز على الأدوات للفترات الزمنية: 15 ثانية ، 30 ثانية ، 1 دقيقة ، 5 دقائق ، 15 دقيقة ، ساعة واحدة ، يوم واحد. ستتيح لك المراقبة المستمرة للتغييرات عبر الفترات الزمنية رؤية الانحراف في السلوك ووقف التداول ، حتى اللحظة التي يصبح فيها الانحراف حرجًا.

يحدث أن مشاكل الخوارزمية لا تظهر على الفور. يمكنه البدء في "الاندماج" ببطء ودون كسر الحدود لفترة قصيرة من الزمن. يمكنك الاستيقاظ في الصباح والعثور على انخفاض كبير بسبب خوارزمية واحدة "غير مكسورة". هل نحتاجها؟ نحن لا نحتاجها.

3.2.3. تحليل السعر والحجم


قبل إرسال الطلب للتسجيل ، يتم التحقق من الحد الأقصى لتجاوز الحد الأقصى والحد الأدنى لحجم الطلب. لسوء الحظ ، لم يقم أحد بإلغاء الأخطاء الحسابية في الصيغ والحسابات.

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

إذا تجاوزت التغييرات الحدود المحددة ، فسيتم رفض الطلبات قبل إرسالها إلى البورصة.

3.2.4. تحليل سلوك التطبيق


فحص هنا:

  • عدد الطلبات التي لا تؤدي إلى المعاملات ؛
  • عدد التطبيقات النشطة ؛
  • تردد التطبيق للفترات 1 ثانية ، 3 ثوانٍ ، 5 ثوانٍ ، 15 ثانية ، 30 ثانية ، دقيقة واحدة.

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

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

تتم هذه الفحوصات على عدة مستويات:

1. على مستوى الموصل.تعمل حماية الموصل على "إبطاء" التطبيقات عندما يقترب تردد التعرض من الحد الأقصى. هذا ضروري حتى لا تفقد الوصول إلى التبادل. هذه الإجراءات شديدة ، لذا من المهم حساب الحمل على الموصل بشكل صحيح مسبقًا.

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

4. دمج إدارة المخاطر في الحل المعماري


يمكن تقسيم تكامل إدارة المخاطر إلى قسمين رئيسيين (انظر الشكل 2):

  • يشمل PRE-TRADE التحكم الأساسي في الأوامر ، والتحكم في السعر وحجم الطلب ، والتحكم في التغييرات في الرصيد والمركز قبل تقديم الطلب ، كما يتم تحليل سلوك الأوامر هنا.
  • تشمل POST-TRADE عمليات التحقق من انقطاع الاتصال وصحة بيانات السوق ، والرصد المستمر للتغيرات في الموازنة والمراكز الحالية ، كما يتم تحليل سلوك الأوامر هنا.



تين. 2. مخطط تكامل إدارة المخاطر في الحل المعماري لخادم التداول.

5. التسجيل والإبلاغ


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

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

استنتاج


عادة ، يبدأون في "ربط" إدارة المخاطر بخوارزميات التداول في المنعطف الأخير ، عندما تحدث بالفعل حالتان ، ويأتي الفهم بأنه لا يمكن الاستغناء عنها.

تمامًا كما تتم كتابة تدابير السلامة بالدم ، تتم كتابة إدارة المخاطر في التداول الخوارزمي في نداءات الهامش والحسابات المدمجة.

ومع ذلك ، إذا قمت ببناء نظام تداول بشكل صحيح وقمت بإعداد إدارة المخاطر ، يمكنك النوم بهدوء وتأكد من أن " Algotrader نائم - التجارة قيد التشغيل! " تداول جيد

للجميع!

All Articles