لفهم كيفية عمل التبادلات ، تحتاج إلى التعامل مع تطبيقات التبادل وقواعد معالجتها بواسطة وسيط.
في هذه المقالة ، سوف نقوم بتحليل أنواع الطلبات وميزات تنفيذها في البورصة والقيود التي يفرضها نموذج التداول. إذا كنت فضوليًا لما تعنيه الاختصارات DAY و GTC و FOK و IOC و GTD و GAT و MOO و MOC و LOO و LOC و MIT و OCO و OSO و PEG ، أطلب القط.
حول أوامر
من المهم لجميع المشاركين في السوق إبرام صفقة. لبدء التداول ، يجب عليك إنشاء تطبيق (أمر) لبيع أو شراء الأداة المالية المطلوبة. وفقا لذلك ، فإن مجموعة كاملة من التطبيقات تشكل العرض والطلب الحالي.
طلب صرف - تعليمات من العميل إلى الوسيط لشراء أو بيع الأدوات المالية في البورصة.
يحتوي الطلب النموذجي على المعلومات التالية:
- معرف الأداة المالية (الأصول المتداولة)
- نوع الطلب
- اتجاه المعاملة. شراء أو بيع
- السعر
- عدد
- فترة صلاحية التطبيق (اختياري)
- تعليمات إضافية (اختياري)
أنواع الطلبات
يمكن تقسيم الطلبات الأساسية إلى ثلاث مجموعات كبيرة
- السوق . يجب تنفيذ هذا الطلب فورًا بسعر السوق الحالي ، أو في حالة عدم توفر الحجم الضروري ، ثم في أقرب وقت ممكن.
- مؤجل . يسمح لك التطبيق بالتحكم في الحد الأقصى لسعر الصفقة لعملية الشراء وأدنى سعر ممكن للبيع. قد لا يتم تنفيذ هذه الأوامر. بالنسبة للأوامر المحددة ، يشار دائمًا إلى السعر بشكل أفضل.
- مع الظروف . أي تطبيق بخلاف الحد ، والذي يتطلب تنفيذه الوفاء بشروط إضافية.
تاريخ انتهاء الصلاحية
من المؤكد أنك قد رأيت بالفعل اختصارات للنموذج DAY و GTC و FOK و IOC و GTD و GAT. كل منهم يحد من مدة التطبيق.
- DAY. تنتهي الطلبات من هذا النوع في نهاية يوم التداول.
- جي تي سي (جيد حتى الإلغاء). التطبيق صالح حتى يتم إلغاؤه بوضوح. بحيث لا تبقى هذه التطبيقات في السوق إلى أجل غير مسمى ، يتم فرض قيود إضافية عليها ، عادةً من 30 إلى 90 يومًا.
- FOK (املأ أو اقتل). يجب تنفيذ التطبيق بالكامل أو إلغاؤه على الفور.
- IOC (فوري أو إلغاء). يتم تنفيذ الطلب على الفور أو إلغاؤه من قبل البورصة. على عكس FOK ، اسمح بالإغلاق الجزئي.
- GTD (جيد سمسم التاريخ / الوقت). التطبيق صالح حتى الوقت المحدد.
- GAT (حسن بعد الوقت / التاريخ). التطبيق ساري المفعول من الوقت المحدد.
ترتيب شروط التنفيذ
من خلال الجمع بين التعليمات الخاصة بالأسعار ، والصلاحية ، والقيود الإضافية ، يمكنك الحصول على شروط مختلفة لتنفيذ الطلبات.
لفهم العلاقات ، سنقوم بتصوير بنية أنواع الطلبات ؛ يتم تقديمها في بداية المقال.
فتح وإغلاق أوامر السوق
إضافة فترة صلاحية لأمر السوق ، نحصل على:
- مو (السوق المفتوحة). لا يمكن تنفيذ أمر السوق من هذا النوع إلا في وقت فتح يوم التداول. التنفيذ مضمون بالسيولة.
- LOO (الحد على فتح). مثل MOO ، لا يمكن تنفيذ LOO إلا في بداية يوم التداول. بخلاف MOO ، تتيح لك الطلبات المحددة من هذا النوع تعيين تعليمات للسعر. التنفيذ غير مضمون.
- وزارة التجارة (السوق على إغلاق). على غرار MOO ، ولكن لا يمكن إغلاق أمر السوق إلا في نهاية يوم التداول. التنفيذ مضمون بالسيولة.
- LOC (الحد من إغلاق). على غرار LOO ، ولكن لا يمكن إغلاق طلب الحد إلا في نهاية يوم التداول. التنفيذ غير مضمون.
أوامر مشروطة
عندما نريد تكوين طلباتنا لتنفيذ إستراتيجية تداول ، فإن الطلبات المشروطة تأتي إلى أوامر الإنقاذ ، والتي يتم تفعيلها فقط بعد استيفاء الشرط. وبالتالي ، فإن الغرض الرئيسي من هذه الأوامر هو تقليل مخاطر الخسائر المالية الكبيرة.
وقف النظام
طلب التوقف هو طلب شراء أو بيع كمية معينة من الأصل بسعر محدد أو ما هو أسوأ. بمجرد أن يصبح سعر الأداة مساوًا أو يتجاوز السعر المحدد لأمر إيقاف الشراء ، يتم تحويله تلقائيًا إلى أمر سوق (أمر سوق) ويتم تنفيذه بشروط عامة. وبالمثل ، بالنسبة إلى أمر إيقاف البيع ، بمجرد أن يصل السعر إلى المستوى المحدد في الطلب ويستمر في الانخفاض ، يتحول إلى أمر سوق. وبالتالي ، فإن تنفيذ أوامر التوقف النشطة مضمون.
أوامر الإيقاف تقلل الخسائر المحتملة ، وبالتالي فإن وقف الخسارة مرادف لأمر الإيقاف.
أمر الحد المحدد (أمر إيقاف الحد)
على عكس أوامر الإيقاف المعتادة ، حيث يشار إلى سعر الإيقاف فقط ، في الحد يجب أن نشير بالإضافة إلى السعر المحدد.
بمجرد أن يصبح سعر الأصل مساوياً أو أسوأ من سعر الإيقاف ، سيتم تلقائيًا إنشاء أمر حد بالسعر المحدد. تنفيذ مثل هذا الأمر غير مضمون.
أمر إيقاف السحب
على عكس أوامر الإيقاف المنتظمة ، حيث يشار إلى سعر الإيقاف بالوحدات المطلقة ، فإن الطلبات المنزلق تستخدم النسب المئوية. بعد التشغيل ، يتحول إلى نظام سوق منتظم. وبالتالي ، يرتبط سعر الإيقاف بالسعر في السوق ويزيد معه. على سبيل المثال ، قدمنا طلبًا بسعر 10 روبل وأشار سعر الإيقاف إلى 10٪ من السعر الحالي ، أي أن سعر الإيقاف المطلق سيكون 9 روبل. ثم نمت الأصول إلى 15 روبل ، وفي الوقت نفسه ، فإن سعر الإيقاف لنظامنا إلى 13.5 روبل.
يتم استخدام هذا النوع من الطلبات لتقليل الخسائر ، ولتحقيق أقصى قدر من الأرباح.
أوامر وقف أوامر الشراء
بخلاف أوامر إيقاف الانزلاق ، بعد التشغيل ، يتحول الأمر إلى حد بدلاً من حد السوق.
ترتيب الوتد
إنه نوع من أوامر الحد. يغير الطلب سعره تلقائيًا بعد حدوث تغيير في سعر العرض / الطلب. تشير إرشادات السعر إلى أسوأ إزاحة من أفضل سعر طلب / طلب حالي.
طلب OCO (واحد يلغي الآخر)
هذا هو ترتيب الزوج. يتكون عادةً من أمر إيقاف وحد. كلا الأوامر تعمل مع أداة واحدة. إذا تم تنفيذ واحد منهم ، يتم إلغاء الثاني تلقائيا.
مثال بسيط: لقد اشترينا أصلًا بقيمة 10 روبل ، وهدفنا هو الحصول على 3 روبل على الأقل من الأرباح ، ونريد الحد من الخسائر بحد أقصى 2 روبل. ثم سيكون سعر الإيقاف 8 روبل ، والسعر المحدد هو 13 روبل.
طلب OSO (واحد يرسل الآخر)
يتكون هذا الطلب من أمر رئيسي ومجموعة من الطلبات ذات الصلة. أوامر يمكن أن تعمل مع أدوات مختلفة. في حالة تنفيذ الأمر الرئيسي ، يتم إنشاء جميع الطلبات ذات الصلة تلقائيًا في السوق.
درسنا نظرية الأوامر ، والآن يمكننا أن نبدأ في الممارسة.
ممارسة
من وجهة نظر النظامية ، من المهم أن تحدد بمرونة ، ولكن بدقة ، الهيكل الأساسي لجميع أنواع الطلبات. في Erlang ، يمكن القيام بذلك باستخدام الإدخالات:
-record(exchange_order, { id :: binary(), orig_id :: binary(), ticker :: binary(), owner :: binary(), trader :: binary(), type :: non_neg_integer(), side :: non_neg_integer(), time_in_force :: non_neg_integer(), price :: binary(), trigger_price :: binary(), qty :: binary(), orig_qty :: binary(), created_ts :: non_neg_integer(), updated_ts :: non_neg_integer(), deals_history :: [#exchange_deal{}], linked_orders :: [#exchange_order{}], opts :: map() }).
تحديد الطلب
بعد انتقال الطلب إلى البورصة ، يتم تعيين معرف داخلي للنظام - حقل المعرف. لتحسين تجربة المستخدم عند تنسيق التبادل مع الأنظمة الخارجية ، من الضروري تمكين النظام الخارجي للتبادل من تعيين معرفه للترتيب الذي تم إنشاؤه - الحقل orig_id. سيمكّن ذلك من طلب كل من المعرف ومُعرّف الأصل وسيسمح برفض تعيين إضافي للطلبات في النظام الخارجي.
ترتيب الانتماء
نضع في النظام إمكانية إنشاء وسطاء. يمكن تقديم الطلبات مباشرة من مقدمي العروض ، أو من وسيط يقدم الخدمات للعملاء الذين ليس لديهم إمكانية الوصول المباشر إلى البورصة.
في حالة التطبيق المباشر ، يكون المالك والتاجر متماثلين.
ترميز التعليمات
نحن نحلل الحقول المتبقية. يتم استخدام حقلين لتشفير تعليمات السعر: السعر - سعر الحد لأوامر الحد و tirgger_price - سعر الاستجابة للأنواع المخصصة. على سبيل المثال ، بالنسبة لأوامر الإيقاف ، سيقوم هذا الحقل بترميز سعر الإيقاف.
لترميز وحدة التخزين ، استخدم الكمية و qty_orig. يقوم Qty_orig بتعيين الحجم الأولي للنظام ، والكمية - حجم الأمر أثناء تنفيذه.
من أجل الحصول على معلومات دقيقة حول عمليات الإعدام الجزئية ، تحتاج إلى مجموعة من الصفقات. من خلال مساعدتها ، بعد ملء الطلب بالكامل ، يمكن حساب ، على سبيل المثال ، متوسط سعر الطلب المكتمل.
حقل linked_orders مطلوب لتشفير معلومات حول الطلبات ذات الصلة لـ OCO و OSO.
لكي نتمكن من توسيع النظام دون تغيير سجل التبادل ، سنضيف حقل opts - قاموس ديناميكي.
حاصل الجمع
بصراحة ، اعتقدت أن الجزء الثاني من الدورة سيكون مضغوطًا. ومع ذلك ، من أجل فهم شامل ، اضطررت إلى الكشف عن الموضوع بمزيد من التفاصيل.
سوف يسلط الجزء النظري من المقال التالي الضوء على مسألة دفتر الأوامر وقواعد معالجة الطلبات. سيكشف الجانب الفني عن مخطط معالجة بيانات السوق وتخزين البيانات التاريخية.