في المقالة السابقة عن التفاصيل والأفكار الصلبة - تفاصيل وأفكار حول نظام التداول الكمي الآلي (1. المشكلات والصعوبات) تم التطرق لبعض الصعوبات الأساسية في التداول الفعلي. في هذه المقالة، سنتحدث عن الغرض الرئيسي من التداول الفعلي.

أرى أن هناك أربعة جوانب رئيسية:

1. تنفيذ منطق الاستراتيجية المقررة

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

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

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

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

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

2. تقليل الانزلاق قدر الإمكان

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

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

3. التشغيل المستمر

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

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

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

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

باختصار، كل شيء من أجل التشغيل الآلي الكامل طويل الأمد بدون تدخل في التداول الفعلي.

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

4. إدارة المخاطر

هذه النقطة هي الأهم في التداول الفعلي.

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

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

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

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

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

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

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

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

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

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