Friday 23 March 2018

نظام التداول المفتوح المصدر c


منصة التداول الأكثر مهنية مع رمز المصدر المفتوح التجاري.
منصة التداول M4 هو تطبيق التداول المهني، ويضم في الوقت الحقيقي شاشات الاقتباس، الرسوم البيانية، وتتبع محفظة، لصناعة السيارات في التداول، البرمجة، المستشارين الخبراء، ومسح الأوراق المالية، والتنبيهات، وغيرها من الميزات المتقدمة.
شراء مقابل البناء.
هل تدفع مقابل الاشتراك في منصة لا تملكها؟ هل أنت قلق هناك مشاكل برامج حاسمة لا يمكنك حل لأنك لم يكن لديك شفرة المصدر؟
هل أنت قلق بشأن المخاطر المرتبطة، والوقت، والمال اللازم لبناء منصة التداول من الصفر؟
M4 هو تطبيق التسمية البيضاء التي تأتي مع مكتبات البرمجة و C # أمثلة لتعديل المظهر والوظيفة.
ما يجب أن تعرفه:
1. شراء الجاهزة، منصة التداول بنيت خصيصا مكلفة.
2. بناء منصة التداول من الصفر يمكن أن تكون أكثر تكلفة.
3. تأجير منصة التداول يخلق تكاليف نقل عالية، وغالبا ما لا مفر منه، ناهيك عن، لا تنتهي المدفوعات الملوك.
4. فمن الحد وخطيرة إلى أن يتم رفض الوصول إلى منصة التداول الخاصة بك شفرة المصدر.
5. ومع ذلك، باستخدام الحرة، مفتوحة المصدر التعليمات البرمجية هو أكثر خطورة (انظر وثيقتنا).
السمسرة، وربما كنت تدفع لمنصة التي لا تملكها. أو، هل أنت قلق منافسيك يتم الإفراج عن إصدارات جديدة من منصة بسرعة كبيرة لا يمكنك مواكبة؟
التجار، وربما كنت تشعر بالإحباط مع عدم وجود المرونة والدعم مع القائمة الخاصة بك، خارج الجاهزة برنامج التداول. هل ميزاتها المحدودة غير كافية لنمط التداول الخاص بك؟ هل يعيقونك؟
منصة التداول M4.
واجهة المستخدم الأمامية متوفرة في C #، والتي توفر إعداد مألوف للمبرمجين ذوي الخبرة. ومع ذلك، مكتوبة وحدة المعالجة المركزية مكثفة الخلفية، ومع ذلك، في C ++ للحصول على أفضل أداء ممكن. يتضمن الرمز الخلفي ميزات التخطيط والتحليل الفني ولغة البرمجة النصية.
كل شيء عن M4 هو للتخصيص تماما. جميع النوافذ والقوائم وأشرطة الأدوات والرسوم البيانية، والميزات يمكن تعديلها، وتعزيزها، أو إزالتها بكل سهولة. نظرا لأنك تزودك بأمثلة شفرة المصدر ووثائق مطوري البرامج، يمكنك إجراء التعديلات الخاصة بك، أو يمكنك توظيف مطوري البرامج لترميزها لمواصفاتك.
يتميز M4 بمخططات زمنية متعددة، ونوافذ منفصلة للمخططات (لدعم شاشات متعددة)، وقدرات التداول التلقائي، ومعرف دورة الاتجاه، وميزات الذكاء الاصطناعي، والتعرف على الأنماط، وأكثر من ذلك.
تكوينات متعددة.
M4 يمكن نشرها تحت تكوينات مختلفة مصممة خصيصا لمختلف التطبيقات بما في ذلك تجارة المهنية، تطوير استراتيجية كوانت، إدارة الأموال، والتعليم.
المهنية الطبعة التداول.
مصممة للتجار المحترفين، وهذا الإصدار يتميز القدرة على تداول فئات الأصول متعددة من خلال مختلف شركات الوساطة أو من خلال الوصول المباشر إلى السوق. يمكن للتجار إعادة اختبار واختبار الأمام استراتيجيات التداول متعددة في وقت واحد، استراتيجيات التداول يمكن أن يكون الأمثل باستخدام الخوارزميات الجينية، بالإضافة إلى التجار يمكن أن تخلق عالية التردد استراتيجيات التداول التلقائي وأكثر من ذلك بكثير.
كوانت استراتيجية تطوير الطبعة.
هذا الإصدار من M4 يتيح للمطورين استراتيجية كوانت خلق استراتيجيات التداول المتقدمة باستخدام لغة البرمجة R، C ++، ترادسكريبت، أو أي لغة مثل C # أو ف. يحتوي هذا الإصدار أيضا مكتبة وظيفة كمية ومتقدمة ميزات الاختبار الخلفي بما في ذلك القدرة على اختبار الظهر قواعد البيانات هت بيتابيت متعددة عبر خادم رمد.
الطبعة إدارة الصندوق.
M4 إدارة الصندوق الطبعة يتميز كل نفس الوظائف من الطبعة التجارية المهنية بالإضافة إلى القدرة على التجارة لعدة عملاء على أساس واحد على واحد أو عبر واحد نسخة إلى العديد من التداول. كما يتميز هذا الإصدار كرم مصممة لمديري الصناديق، محرك التقارير التي تولد العميل الربح والخسارة التقارير، بالإضافة إلى القدرة على الاتصال بأي أبي الوساطة أو الصرف.
الطبعة التعليم.
يتيح M4 إدوكاتيون إديتيون للمعلمين تعليم الطلاب عبر الإنترنت استراتيجيات التداول الخاصة بهم ومنهجياتهم عبر تطبيق مخصص، وبالتالي تقليل التبعية والتكلفة المرتبطة بتغذية البيانات التجارية والبرامج القياسية الجاهزة مثل نينجاترادر ​​و ترادستاتيون وغيرها.
الإصدار التعليمي يتميز حماية استراتيجية التداول عن طريق التشفير المزدوج وتوليد إشارة من جانب الملقم بحيث نظم الملكية لا يمكن أبدا أن تصدع أو المقرصنة. كما يتميز هذا الإصدار على الويبينار المدمج في يعيش مع غرفة الدردشة المدمج في أن يتطلب من الطلاب "رفع يدهم" عن طريق النقر على زر لطرح الأسئلة، بالإضافة إلى العديد من الميزات الأخرى المحددة للتعليم التجاري.
كما هو الحال مع جميع إصدارات M4، يمكن أن يكون هذا الإصدار الأبيض المسمى وتخصيصها. كما نقوم بتوفير حلول متكاملة متكاملة حسب الطلب من البداية إلى النهاية. يتوفر هذا الإصدار في تنسيقات سطح المكتب والويب والجوال.
التجزئة الوساطة الطبعة.
تم تصميم M4 التجزئة الوساطة الطبعة للوساطة التجزئة الكبيرة والصغيرة، وتقدم الأسهم والعقود الآجلة، والعملات الأجنبية، والخيارات وأنواع أخرى من الأصول.
كوساطة بيع بالتجزئة، ربما كنت تدفع رسوم باهظة لمنصة التداول التي لا تملك من الناحية الفنية. أو ربما كنت قد أنفقت عشرات، إن لم يكن مئات الآلاف من الدولارات لبناء منصة الخاصة بك التي هي مجرد لا ترقى إلى مستوى التوقعات الخاصة بك، ولكن يكلف ثروة لمواصلة تطوير وصيانة.
انت لست وحدك. الوساطة في جميع أنحاء العالم قد تم البحث عن أفضل حل منصة التداول.
M4 التجزئة الوساطة الطبعة هو الحل الأمثل لأي الوساطة التجزئة. تتوفر العديد من الإصدارات لأجهزة الكمبيوتر المكتبية (ويندوز وماك)، والويب، وتطبيقات الجوال (أبل والروبوت) مع شفرة المصدر الكامل، مما يعني أي رسوم سنوية!
M4 الفوركس MT4 والتجارة. جسر الطبعة.
و M4 - فوركس MT4 بريدج إديتيون يسمح M4 للاتصال مع ملقمات MT4 بحيث سمسرة الفوركس القائمة مع تراخيص MT4 يمكن نشر التطبيقات المخصصة على سطح المكتب، عبر شبكة الإنترنت وعلى الأجهزة النقالة مثل اي فون، آي باد، والروبوت.
الطبعة MT4 جسر يتميز بسرعة فائقة تنفيذ 10ms التجارة مع ملقمات MT4 باستخدام لدينا الملكية محول MT4 مكتبة مكتوبة في مستوى منخفض C ++ رمز.
يمكن للمتداولين عرض تاريخهم التجاري ومواقعهم وأوامرهم المفتوحة من شاشة قابلة للتخصيص. كما هو الحال مع جميع الإصدارات من M4، الطبعة MT4 جسر يمكن أن تكون بيضاء وصفت وقابلة للتخصيص بشكل كامل. شفرة المصدر الكامل متاح في C #، C ++ وجافا سكريبت الذي يدعم توجيه النظام الديناميكي، ونقلت في الوقت الحقيقي والبيانات التاريخية. أفضل للجميع، الطبعة MT4 جسر ليست نسخة أو نسخة من منصة أخرى، مما يسمح شركتك لتبرز من خلال تقديم فريدة من نوعها، منصة الملكية.
أي وساطة - أي خلاصة البيانات.
يمكن تكوين M4 للعمل مع أي الوساطة أو تغذية البيانات. يمكن تكوين M4 للاتصال مباشرة إلى تبادل، أو إلى إسيغنال، وسطاء التفاعلية، تد أميريتراد، فكسم، غين كابيتال، هوت سبوت، أواندا، أو إلى أي أبي أخرى.
أداء عالي.
جميع العمليات كثيفة وحدة المعالجة المركزية في M4 غير متزامن، مع الاستفادة الكاملة من المعالجات متعددة النواة. تحميل البيانات، والتدريب على الشبكة العصبية، ومعالجة المستشار الخبراء، وغيرها من الميزات الاستفادة الكاملة من تصميم البرمجة غير متزامن.
ونحن أيضا تجعل من السهل لإضافة ميزات غير متزامنة مخصصة من خلال فئة قالب أسينكبروسيس لدينا.
يجب أن تفضل معظم الشركات الشراء إلى المبنى: إذا كنت تبني منتجك الخاص، فهناك خطر غير مقبول. ماذا لو كانت النتيجة النهائية هي الفشل؟ M4 يحفظ آلاف الساعات في وقت التطوير. هذا يترجم إلى وقت أسرع إلى السوق، وانخفاض التكاليف، وعائد الاستثمار أعلى. M4 يقدم الدعم الكامل. سيتلقى مطورو برامجك الدعم الفني والإعداد والتدريب وتحديثات شفرة المصدر والمشورة المفيدة طوال مدة اشتراك شفرة المصدر. ولعل الأهم من ذلك، يمكنك كسب إيرادات كبيرة مع M4 من خلال التسجيل في برنامج القيمة المضافة موزع لدينا.
ابدأ مع M4>
ستوكشارتس الرسم البياني المحرك.
سألنا أكثر من 1200 تاجر الذي رسم الميزات والمؤشرات الفنية التي أرادوا في ستوكشارتكس. كان هناك الكثير من طلبات ميزة قيمة، واضاف نحن كل منهم.
ستوكشارتكس يتميز في الوقت الحقيقي، القراد حسب القراد التخطيط مع ارتفاع منخفض إغلاق أشرطة، المفتوحة عالية عالية إغلاق أشرطة، 2d و 3d الرسوم البيانية شمعدان، رينكو، كاجي، ثلاثة خط استراحة، نقطة و الشكل، شمعة حجم ، إكي-فولوم، مظللة إكي-فولوم، هيكين أشي الشمعدانات، دارفاس صناديق وأسعار أخرى الأساليب.
يمكنك رسم بيانات السوق في الوقت الحقيقي. إدراج رموز شراء أو بيع أو الخروج؛ إدراج نص، وخطوط الاتجاه، والصور المخصصة، ومؤشرات متعددة، ومؤشرات تراكب (جداول حصة)؛ عرض المخططات مع شبه لوغ أو الخطية التحجيم. طباعة المخططات؛ حفظ المخططات كصور. حفظ / تحميل المخططات كما الملفات الثنائية وأكثر من ذلك.
ستوكشارتكس هي مكتبة الرسوم البيانية C ++ الأصلية، وتستخدم من قبل أكثر من 3،000،000 التجار.
مؤشرات التحليل الفني.
ميزات M4 أكثر من 80 المؤشرات الفنية الشعبية التي يمكن تخصيصها مع المعلمات المعرفة من قبل المستخدم. وقد تم التحقق من صحة المؤشرات الفنية من قبل المؤلفين كلما أمكن ذلك، حتى تتمكن من التأكد من أن الحسابات صحيحة. هذا هو السبب لدينا مكتبة مؤشر التقنية وقد فاز العديد من الجوائز من قبل مجلة العقود الآجلة والمخزون والسلع مجلة. عرض قائمة كاملة من المؤشرات هنا.
التعرف على نمط الرسم البياني.
M4 يتميز محرك يحركها قالب، ديناميكية تماما التعرف على نمط التعرف على القنوات، قيعان مزدوجة، قمم مزدوجة، أعلام، رئيس والكتفين، بنسلات، الاتجاه، مثلثات، القيعان الثلاثي، الثلاثي قمم، أسافين، وأنماط أخرى. إنشاء أنماط مخصصة باستخدام الأداة المساعدة مصمم نمط الموردة.
المستشارين الخبراء.
تطوير المستشارين الخبراء الخاصة بك أو الاختيار من واحدة من العديد من المستشارين الخبراء محددة مسبقا المدرجة في قاعدة بيانات نظام التداول.
ميزات أخرى.
1. مزدوجة مخزنة اقتباس الشاشة مع لايف ثومبنايل القراد المخططات.
2. مدير محفظة وشاشة دخول النظام (لينكابل إلى أي الوساطة)
3. رسم الشاشة مع التحليل الفني.
4. أدفانسد الرسم البياني نمط التعرف المدمج في شاشة التخطيط.
5. المؤشرات الفنية للشبكة العصبية.
6 - الخبراء الاستشاريون وتقارير توافق الآراء.
7. العودة اختبار عبر ترادسكريبت.
8. التنبيهات في الوقت الحقيقي عبر ترادسكريبت.
9. الأسهم المسح الضوئي عبر ترادسكريبت.
10. استيراد / تصدير إلى / من إكسيل، بما في ذلك قيم المؤشر.
11. فئة محول واجهة برمجة تطبيقات خلاصة البيانات إلى الأمام مباشرة مع دعم التطوير.
12. الخلفية مدير التطبيق لتوليد مفاتيح الترخيص، وإرسال الرسائل الفورية، وتوليد P & L التقارير، وأكثر من ذلك بكثير!
الإنجازات.
شفرة المصدر إلى التعليمات البرمجية المصدر منصة التداول بالكامل لمكونات أخرى، بما في ذلك الرسوم البيانية، المؤشرات الفنية وأكثر من ذلك. لدينا خادم البيانات سوبيرويبسوكيت لدينا محرك تبادل ميكسشانج مسؤول عن مفاتيح الابتدائية الإبلاغ عن الحسابات التراسل الفوري واجهة الجوال التخطيط وأكثر من هذا بكثير!
دردشة، أخبار، وسائل الإعلام والرسوم البيانية تقاسم الميزات.
دعم المطور.
نحن نقدم الإعداد المطور والتدريب عبر تقاسم سطح المكتب، حتى تتمكن من تشغيل منصة M4 مباشرة بعد شراء الترخيص الخاص بك. يتم توفير الدعم الفني وتحديثات شفرة المصدر لمدة سنة واحدة ويمكن تجديدها. اتصل بنا لتبدأ اليوم.
كوبيرايت & كوبي؛ 2002-2017 بواسطة مودولوس غلوبال، Inc.، جميع الحقوق محفوظة.

نظام التداول المفتوح المصدر c ++
توجه إلى صفحة التحميل لدينا للحصول على أحدث إصدار رسمي، أو تحقق من أحدث نسخة تطوير من مستودع لدينا جيت. كوانتليب متاح أيضا بلغات أخرى.
كابل بيانات.
وتوجد الوثائق بأشكال عديدة من عدد من المصادر. يمكنك أيضا قراءة تعليمات التثبيت لدينا للحصول على كوانتليب العمل على جهاز الكمبيوتر الخاص بك.
إذا كنت بحاجة إلى طرح سؤال، الاشتراك في قائمتنا البريدية ونشرها هناك. قبل القيام بذلك، على الرغم من ذلك، قد ترغب في إلقاء نظرة على الأسئلة الشائعة والتحقق مما إذا كان قد أجاب بالفعل.
وجدت علة؟
فتح قضية على جيثب. إذا كان لديك التصحيح، فتح طلب سحب بدلا من ذلك.
تريد المساهمة؟
مجرد شوكة لدينا مستودع على جيثب وبدء الترميز (تعليمات هنا). يرجى إلقاء نظرة على مقدمة المطور والمبادئ التوجيهية.
هنا هو الترخيص كوانتليب، وقائمة المساهمين، وتاريخ الإصدار. صفحة المشروع على سورسيفورج متاحة على هذا الرابط.
ويهدف مشروع كوانتليب إلى توفير إطار شامل للبرمجيات للتمويل الكمي. كوانتليب هي مكتبة حرة / مفتوحة المصدر للنمذجة، وإدارة التداول، وإدارة المخاطر في الحياة الحقيقية.
كوانتليب مكتوب بلغة C ++ مع نموذج كائن نظيف، ثم يتم تصديره إلى لغات مختلفة مثل C #، الهدف الجمل، جافا، بيرل، بايثون، غنو R، روبي، ومخطط. تتوفر نسخة آد تمكين أيضا. ويسهل مشروع المستودع نشر مكتبات الكائن لانهاء منصات المستخدم ويستخدم لتوليد كوانتليبكسل، و إكسيل أدين ل كوانتليب، و كوانتليبادين، كوانتليب الإضافات لمنصات أخرى مثل ليبروفيس احسب. يتم النظر في الارتباطات إلى لغات أخرى، والانتقال إلى غنوميريك، ماتلاب / أوكتاف، S-بلوس / R، ماثيماتيكا، كوم / كوربا / سواب معمارية، فبمل،. راجع صفحة الإضافات للحصول على التفاصيل.
وقد تم تقديره من قبل المحللين والمطورين الكميين، وهو مخصص للأكاديميين والممارسين على حد سواء، مما يعزز في نهاية المطاف تفاعلا أقوى بينهما. تقدم كوانتليب أدوات مفيدة للتنفيذ العملي والنمذجة المتقدمة، مع ميزات مثل اتفاقيات السوق ونماذج منحنى العائد والحلاقين وبي دي إس ومونتي كارلو (انخفاض التناقض المدرجة)، والخيارات الغريبة، فار، وهلم جرا.
التمويل هو مجال يمكن فيه لمشاريع مفتوحة المصدر مكتوبة بشكل جيد أن تحدث فرقا هائلا:
تحتاج أي مؤسسة مالية إلى تنفيذ متين وفعال وفعالة من حيث الوقت لأدوات التسعير المتطورة وأدوات التحوط. ومع ذلك، للوصول إلى هناك، واحد يضطر حاليا لإعادة اختراع العجلة في كل مرة. حتى النماذج القياسية القديمة، مثل بلاك سكولز، لا تزال تفتقر إلى التنفيذ العام القوي. كما عواقب العديد من كوانتس جيدة تضييع وقتهم كتابة C ++ الطبقات التي تم بالفعل كتابة آلاف المرات. من خلال تصميم وبناء هذه الأدوات في العراء، سوف كوانتليب على حد سواء تشجيع استعراض الأقران من الأدوات أنفسهم، وإظهار كيف ينبغي أن يتم ذلك للبرامج العلمية والتجارية. ناقش حديث دان جيزلتر في أول مؤتمر مفتوح المصدر / العلوم المفتوحة كيف التقاليد العلمية لاستعراض الأقران تتناسب بشكل جيد مع فلسفة حركة المصدر المفتوح. والمعايير المفتوحة هي الطريقة العادلة الوحيدة لتطور العلم والتكنولوجيا.
ويمكن استغلال المكتبة في مختلف المؤسسات البحثية والتنظيمية، والمصارف، وشركات البرمجيات، وما إلى ذلك. كونه مشروعا مجانيا / مفتوح المصدر، فإن كوانتس المساهمة في المكتبة لن تحتاج إلى البدء من الصفر في كل مرة.
يمكن للطلاب إتقان المكتبة التي يتم استخدامها في الواقع في العالم الحقيقي والمساهمة في ذلك بطريقة ذات مغزى. ومن شأن ذلك أن يضعهم في وضع متميز في سوق العمل. وسيكون للباحثين إطار عمل في متناول اليد، مما يقلل إلى حد كبير من حجم العمل المنخفض المستوى اللازم لبناء النماذج، حتى تكون قادرة على التركيز على مشاكل أكثر تعقيدا ومثيرة للاهتمام. ويمكن للشركات المالية أن تستغل كوانتليب كقاعدة أساسية و / أو مرجعية، مع القدرة على الانخراط في إيجاد حلول أكثر ابتكارا من شأنها أن تجعلها أكثر قدرة على المنافسة في السوق. وقد يكون لدى المؤسسات التنظيمية أداة للممارسات القياسية للتسعير وإدارة المخاطر.
ترخيص كوانتليب هو ترخيص بسد المعدل المناسب للاستخدام في كل من البرمجيات الحرة والتطبيقات الملكية، وفرض أي قيود على الإطلاق على استخدام المكتبة.
وقد التزمت بعض الشركات بموارد كبيرة لتطوير هذه المكتبة؛ ولا سيما ستاتبرو، وهي شركة رائدة في مجال إدارة المخاطر الدولية، حيث ولد مشروع كوانتليب.

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

1 الجزء الأول - الخلفية.
تقليديا، يتم التداول عن طريق التشغيل اليدوي، الأمر الذي يتطلب من المتداول فتح أو إغلاق الموقف باليد، أو على الأقل استدعاء وسيط للقيام بذلك. ذكر بنجامين جراهام مرة واحدة أن العديد من المستثمرين كبيرة مع سجلات الاستثمار المعلقة دائما تكرار أن أكبر عدو المستثمر هو نفسه. وقال وارن بافيت أيضا أن المستثمر الناجح هو واحد لديه مزاجه الصحيح وعلم النفس الصحيح. كما نعلم جميعا، التداول اليدوي ليس فقط عرضة للتغيرات النفسية والعاطفية للتجار، ولكن أيضا غير فعالة جدا من حيث سرعة التداول والراحة.
بسبب التقدم في تكنولوجيا الحوسبة، والآن تقريبا جميع الأصول المالية يمكن تداولها إلكترونيا. نظام التداول الآلي يستفيد من أجهزة الكمبيوتر لتطوير واختبار الاستراتيجيات وتجارة الأصول المالية تلقائيا. ويمكن أن يساعد التجار المبتدئين لتجنب التداول العاطفي وأيضا مساعدة التجار من ذوي الخبرة لجعل التداول أكثر كفاءة ومنهجية. وقد تم استخدامه على نطاق واسع في الصناعة المالية وتصبح لا غنى عنها لكثير من المستثمرين. من ناحية أخرى، يجعل التداول التلقائي السوق أكثر سيولة ويقلل من تكلفة التداول وفقا لذلك.
في السنوات الأخيرة، منصة التداول عبر الإنترنت أيضا يصبح نقطة ساخنة من الابتكار الهندسة المالية. العديد من شركات التكنولوجيا المالية، مثل كوانتوبيان، كوانتكونكت، موتيف إنفستينغ، قد جمعت مبالغ كبيرة من وول ستريت. كما توفر صناديق التحوط مثل وورلدكانت بيئة محاكاة ومحاكاة عبر الإنترنت للتجار الفرديين. بعض من هذه المنصات مصممة بشكل جميل وسهل الاستعمال جدا. ولكن عندما تقوم باكتست استراتيجياتك، فإنها تعمل في الواقع على الخوادم، وبالتالي شفافة تماما للشركة. لتجنب خطر تعريض الاستراتيجيات، فمن أكثر أمانا لإجراء البحوث في الجهاز المحلي والتجارة من خلال وسطاء موثوقة أو دما. وبالإضافة إلى ذلك، في المنصات على الإنترنت، يتم نقل البيانات في الإنترنت مع بروتوكول هتب، والتي قد تكون موافق لتجارة التردد المنخفض ولكن ليست فعالة أو مجدية للتداول عالية التردد.
يدعى سينتوسا بعد منتجع الجزيرة الأكثر شعبية في سنغافورة. اللغات التي كنت أكتب سينتوسا تشمل C ++، بيثون، R، الذهاب وجافا سكريبت. يتم استضافة المشروع في Quant365، حيث يمكنك تحميل التعليمات البرمجية المصدر ومتابعة كافة التحديثات.
هناك ثلاثة مشاريع فرعية في سينتوسا:
سينتوسا نظام التداول هو مولتيثريد، رسالة مدفوعة، عالية التحجيم، عالية التردد نظام التداول الآلي. الكمون يمكن أن تكون منخفضة تصل إلى 100 ميلي ثانية، تعتمد على المسافة بينك وخوادم مكان التداول. حاليا، مكان التداول هو يب، لذلك مطلوب حساب يب. مع تصميم وحدات، فإنه يمكن تمديدها بسهولة لدعم أماكن تجارية أخرى. يمكن كتابة وحدة خوارزمية مع أي لغة دعم إما نانومسغ أو بروتوكول ويبسوكيت. لقد نفذت لغة ملزمة لبيثون، R لغرض التوضيح. فمن السهل جدا لإضافة دعم اللغة الأخرى مثل جافا، ماتلاب، هاسكل، الذهاب، C # الخ وحدة بيانات السوق يشترك في بيانات التجارة واقتباس (طاق)، لذلك في بعض الأدب أو الكتاب، يجب تصنيف نظام التداول سينتوسا كما الفنية نظام التداول الآلي، على النقيض من نظام التداول الآلي الأساسي، حيث يستخدم النظام أساسا أساسيات كما إشارة التداول. لا أعتقد أن هذا التصنيف يجعل من المنطقي جدا لأن الإشارة هي مجرد نتيجة لوحدة خوارزمية وأي شيء يمكن أن يكون إشارة: مؤشر فني، نسبة أساسية، ومؤشر الاقتصاد الكلي، أخبار وسائل الاعلام الاجتماعية، والاتجاهات جوجل الخ.
منصة البحث سينتوسا هو في الأساس بيئة الحوسبة التفاعلية على أساس جوبيتر. وسوف تظهر كيفية استخدام R وبيثون للقيام البحوث تقلب في المنصة في وقت لاحق.
وبالإضافة إلى ذلك، أنا أيضا وضعت منصة على شبكة الإنترنت ل سينتوسا مع جانغو وتورنادو، والتي يمكنك من خلالها مراقبة سينتوسا وإرسال أوامر باستخدام واجهة ويب.
لقد استخدمت سينتوسا لإجراء البحوث والتداول لنفسي. على الرغم من أنه يمكن استخدامها للتداول الحقيقي، وهنا أنا أنسخ جميع مسؤوليات أي خسارة في أي تجارة من خلال سينتوسا. ولكن إذا كان قد ساعد لك كسب المال، وأنا لا أمانع أن يعامل فنجان من القهوة. سينتوسا هو مشروع مستمر وسيتم إضافة المزيد من الميزات في المستقبل. وسأناقش أيضا الاتجاه المستقبلي لكل مشروع فرعي.
2 الجزء الثاني - نظام تجارة سنتوسا.
2.1 نظرة عامة على التصميم.
عند تصميم نظام التداول سينتوسا، تركيزي هو على كونفيغورابيليتي لها، نمطية وقابلية. في المجلد.
/.sentosa، هناك ملف التكوين يمل شكل اسمه sentosa. yml، والتي يمكنك استخدامها لتخصيص النظام. والشرط الوحيد هو أنك تحتاج إلى تعيين حساب يب الخاص بك في القسم العالمي للورق أو التداول الحقيقي.
ويتكون نظام التداول سينتوسا أساسا من خمس وحدات: وحدة بيانات السوق، وحدة أومز، وحدة خوارزمية، وحدة قياسية ومحاكاة وحدة. يتم فصل هذه الوحدات عمدا والاتصالات كلها من خلال نظام الرسائل. نظام التداول أيضا أربعة أوضاع تشغيل: سجل، والتجارة، والمحاكاة وميرليون، والتي تمثل مجموعة مختلفة من الوحدات الخمس.
الشكل 1 هو الرسم البياني سير العمل البرنامج من نظام التداول سينتوسا.
سير عمل نظام تجارة سينتوسا.
2.1.1 وضع التشغيل.
سينتوسا يمكن أن تعمل على أربعة أنماط والتي هي على النحو التالي:
لا تتاجر، فقط لتسجيل جميع المعلومات عن السوق في ملف محاكاة للاستخدام في المستقبل.
إطلاق جميع وحدات سينتوسا والتجارة.
إعادة السيناريو التاريخي. هذا هو باكتست خوارزمية الخاص بك في بيئة المحاكاة.
وضع ميرليون هو نفس وضع التجارة إلا أنه لا تولد ملف المحاكاة. لا يمكنك إعادة تشغيل لك جلسة التداول الحالية كما لم يكن لديك أي ملف المحاكاة ولدت.
يمكن تكوين وضع التشغيل في المقطع العالمي في sentosa. yml.
2.1.2 نظام تعدد التراسل والتراسل.
سينتوسا هو تطبيق مولتيثريد تنفيذها مع C ++ 14 المواضيع. يتم إنشاء كافة المواضيع في كومة الذاكرة المؤقتة ويتم تخزين المؤشرات في متجه. في البداية أنا وضعت سينتوسا في منصة ويندوز وتستخدم زمق كما بروتوكول المراسلة الداخلية. ولكن عندما كنت أحاول أن ينقل إلى لينكس، زمق لم تعمل بشكل جيد مع المواضيع في لينكس. زمق خلق أكثر من عشرة المواضيع تلقائيا وانه خبط مع المواضيع يب بطريقة أو بأخرى. أنا قدمت زمق تقرير الشوائب وحتى الآن لم يتم حلها حتى الآن.
يتم إنشاء نانومسغ كبديل أفضل ل زمق من قبل نفس المؤلف. فمن أبسط للاستخدام وليس لديها مثل هذه المسألة في بيئة مولتيثريد. أنا استبدال كل رمز زمق مع نانومسغ واختار نانومسغ كما بلدي بروتوكول الرسائل الداخلية.
2-1-3 الوحدات النمطية.
مع نانومسغ كما بروتوكول الرسائل الداخلية، وأنا فصل النظام إلى خمس وحدات أساسية: وحدة بيانات السوق، وحدة نظام إدارة النظام، وحدة خوارزمية، وحدة قياسية وحدة محاكاة. هذه الوحدات تتعايش في عملية واحدة ولكن في مواضيع مختلفة. انهم التواصل مع نظام الرسائل ويمكن إيقاف تشغيل وعلى وفقا لأساليب تشغيل أربعة المذكورة أعلاه. تصميم وحدات يجعل نظام تحجيم وأسهل للتنمية في المستقبل.
تمثل الوحدات الثلاث الأولى ثلاثة مكونات أساسية لنظام التداول الأوتوماتيكي. في الأقسام التالية، وسوف أصف هذه الوحدات الثلاث واحدا تلو الآخر.
2.2 وحدة بيانات السوق.
2.2.1 إدخال بيانات السوق.
وحدة بيانات السوق هي واحدة من أهم مكونات نظام التداول. وبصفة عامة، تشمل بيانات السوق معلومات مستوى القراد عن الأسعار وحجم العطاء، وسأل، والحرف الانتهاء. يوفر بائعي البيانات المختلفة في بعض الأحيان معلومات إضافية مثل الوسم واسم الصرف. هناك مستويان من بيانات السوق وفقا للمعلومات التي يقدمها.
توفر بيانات السوق من المستوى الأول أبسط المعلومات، والتي تشمل سعر العرض / الطلب وحجمه، وآخر سعر تداول وحجم. من وجهة نظر كتاب النظام، وهذه المعلومات هي من الجزء العلوي من الكتاب، لذلك المستوى 1 بيانات السوق المعروف أيضا باسم أعلى من الكتاب البيانات.
المستوى 2 بيانات السوق، وتسمى أيضا كتاب النظام أو عمق السوق، وتوفير معلومات إضافية من كتاب النظام الجزئي أو كله. كتاب الطلب اثنين من طوابير طويلة من العطاء وطلب أوامر على التوالي. طوابير إلغاء بعضها البعض في الجزء العلوي وتنمو عندما يأتي ترتيب الحد الجديد في. ويسمى طول قائمة الانتظار عمق كتاب النظام. كتاب النظام يتغير بسرعة كبيرة للأسهم السائلة حتى يمكن أن تكون المعلومات ضخمة إلى حد كبير.
يستخدم معظم التجار الأفراد بيانات السوق من المستوى الأول. وتعتبر بيانات السوق من المستوى الثاني حاسمة بالنسبة للمتداولين النهاريين، ولا سيما تجار الكمون المنخفض التردد المنخفض. هناك العديد من البحوث الأكاديمية على مستوى السوق 2 البيانات في السنوات الأخيرة.
يب لديه طريقته الخاصة لتقديم بيانات السوق. يتحدث فضفاضة، يب يوفر كل من المستوى 1 والمستوى 2 بيانات السوق. ريكمكتداتا هو طلب بيانات السوق المستوى 1. ريكمكتديبث هو طلب بيانات السوق المستوى 2. بالإضافة إلى البيانات الخام، يب كما يوفر البيانات شريط في الوقت الحقيقي عن طريق وظيفة ريكرالتيمبارس. بيانات شريط الوقت الحقيقي، مثل البيانات شريط التاريخية، كما توفر أسعار مفتوحة وعالية، وثيقة، منخفضة (أوهكل)، وحجم متوسط ​​السعر المرجح (فواب) والمعلومات عدد التجارة.
يرجى ملاحظة أن البكالوريا الدولية لا توفر بيانات مستوى علامة صحيح. يتم توحيد بيانات السوق في الواقع كل 300 ميلي ثانية أو نحو ذلك، وأرسلت إلى العميل عند الطلب. كما أننا لا تفعل التداول الكمون منخفضة للغاية ولا النظر في ديناميات مستوى القراد، يجب أن يكون مزيج من بيانات المستوى 1 و 5 ثوان البيانات شريط الوقت الحقيقي بما فيه الكفاية.
2.2.2 المواضيع.
في نظام التداول سينتوسا، وحدة بيانات السوق ينطوي على المواضيع التالية:
2.2.2.1 Thread_MKDataTick.
يقوم Thread_MKDataTick بالاتصال ب يب لطلب نوعين من البيانات:
يب القراد في الوقت الحقيقي بيانات السوق في الوقت الحقيقي (من خلال ريمكتداتا) يب 5 ثوان في الوقت الحقيقي بيانات شريط التجارة (بواسطة ريلكالتيمبارس)
على البيانات التي تم إرسالها مرة أخرى من يب، يتم إرسال البيانات إلى موضوع Thread_UpdateSboard لتحديث اللوحة، وهيكل البيانات العالمي تنفيذها باعتبارها سينغلتون في scoreboard. h / كبب.
2.2.2.2 Thread_MKDepth.
الحصول على مستوى 2 بيانات السوق عن طريق الاتصال يب أبي ريمكديبث (). توز حاليا تحد المستخدمين إلى حد أقصى من 3 طلبات عمق السوق متميزة. ينطبق هذا القيد نفسه على عملاء أبي، ومع ذلك قد يقوم عملاء أبي بعمل طلبات متعددة في عمق السوق لنفس الأمان. وبسبب هذا القيد، لا يمكن استخدام العديد من الخوارزميات التي تنطوي على ديناميات كتاب النظام.
2.2.2.3 Thread_UpdateSboard.
هذا الموضوع هو لتحديث اللوحة على رسالة بيانات السوق.
عندما سينتوسا نظام التداول قيد التشغيل في وضع المحاكاة، يمكن أن تكون بيانات السوق من ملف محاكاة، ويعرف أيضا باسم ملف الإعادة.
2.3 وحدة خوارزمية.
يوفر نظام التداول سينتوسا إطارا للتجار لكتابة استراتيجياتهم. ويسمى هذا الإطار وحدة خوارزمية. هذه الوحدة النمطية يتصل مع وحدة أومز من خلال نظام الرسائل. ليس الكثير من التجار خبراء البرمجة، ولكن من أجل تنفيذ استراتيجياتهم، وهم يعرفون كيفية استخدام لغات البرمجة لكتابة خوارزميات التداول. اللغات الأكثر استخداما من قبل التجار تشمل R، ماتلاب، بيثون و فبا (إكسيل). نظام التداول سينتوسا هو نظام رسالة مدفوعة ومصممة مع دعم لغات متعددة في الاعتبار. طالما أن لغة واحدة تدعم نانومسغ أو ويبسوكيت، يمكن استخدامه لكتابة خوارزمية التداول.
حاليا سينوتسا يدعم وحدة خوارزمية مكتوبة في ثلاث لغات، بما في ذلك C ++، بيثون و R. هذه اللغات الثلاث تمثل ثلاث طرق كيف تعمل وحدة خوارزمية في سينتوسا.
التجار الذين يستخدمون C ++ معظمهم لديهم مهارات برمجة قوية ومتطلبات أعلى مع أداء نظام التداول وسرعته. في نظام التداول سينتوسا، بنيت وحدة خوارزمية في مكتبة ثابتة ثم تستخدم لتوليد ثنائي التنفيذ النهائي.
جميع الخوارزميات في نظام التداول سينتوسا ترث من فئة أساسية مجردة ألغونجين. يستخدم نمط المصنع لإنشاء كائنات خوارزمية:
في سينتوسا ملف التكوين sentosa. yml، هناك قسم استراتيجية لتحديد لك اسم الاستراتيجية والتجارة الكون. اتخذ ما يلي كمثال:
وهذا يعني أن هناك استراتيجية تسمى ta_indicator_raffles ويشمل الكون التجاري 10 أسهم / إتفس (سينا، أثم ... فكسي).
اسم الاستراتيجية ta_indicator_raffles لغرض التوضيح بحيث يمكنك أن ترى هذه هي استراتيجية باستخدام التحليل الفني. في التداول الحقيقي، وعادة ما تعطي التجار استراتيجياتهم أسماء غير ذات صلة تماما.
مؤشرات التحليل الفني (تا) تحظى بشعبية كبيرة مع التجار الأفراد. وعادة ما تستخدم في تجارة التردد المنخفض. هناك العديد من قواعد الإبهام لمؤشرات تا، والتي تنطبق فقط في بيئة التداول منخفضة التردد. بالنسبة لتداول التردد العالي، قد تحتاج إلى إجراء بعض التعديلات. خذ مؤشر القوة النسبية (رسي)، وهو مؤشر شعبي للغاية وضعه J. ويلس وايلدر الابن، كمثال على ذلك:
يتم تعريف مؤشر القوة النسبية على أنه.
\ [رسي = 100 - 100 / (1 + رس) \] حيث \ [رس = متوسط ​​الربح / متوسط ​​الخسارة \]
وفقا ل وايلدر، يعتبر مؤشر القوة النسبية ذروة شراء عندما فوق 70 و ذروة البيع عند أقل من 30. إذا كان استخدام بيانات شريط 15 ثانية، لتداول الأسهم ليس كثيرا جدا، رسي يمكن أن تصبح مرتفعة جدا أو منخفضة لأن هناك فترات عديدة دون تغيير الأسعار. هناك حلين. الأول هو استخدام المزيد من الفترات الزمنية بحيث متوسط ​​كسب أو متوسط ​​الخسارة لا يساوي 0. حل آخر هو تعيين مؤشر القوة النسبية يساوي 50 إذا كانت التغييرات السعر قليلة جدا. وبعبارة أخرى، فإن الزخم ليس واضحا عندما لا يكون هناك معلومات تغيير الأسعار، لذلك نحن فقط تعطيه قيمة 50. وفيما يلي تنفيذ C ++ للفكرة الثانية - إذا كان عدد من التغييرات السعر أقل من 10، مجموعة فقط مؤشر القوة النسبية إلى 50.
بعض مؤشرات تا تعمل بشكل جيد في تجارة التردد المنخفض لا تعمل على الإطلاق في تجارة عالية التردد. أحد أسباب ذلك هو أن بيانات السوق، مثل طاقة، ليست كافية في الترددات العالية، خاصة بالنسبة للأصول ذات السيولة المنخفضة. وهناك سبب آخر هو أن ضوضاء السوق كبيرة، أحيانا مهيمنة، في تجارة عالية التردد. سوف الكثير من العوامل غير متوقعة تجعل الاتجاه السعر الحقيقي غير واضح. في هذه الحالة، هناك حاجة إلى المزيد من البحوث و باكتستينغ لمعرفة ما هي القيمة الحقيقية للأصل التجاري هو وبعد متى سوف تختفي الضوضاء.
هناك مكتبة تا يسمى تا-ليب مكتوبة في C ++، وتتوفر أيضا بلغات أخرى مثل بيثون، غو. سينتوسا يتضمن نسخة تطوير تا-ليب الإصدار 0.6.0dev. يمكنك أيضا تحميل تا-ليب الإصدار 0.4 من تا-ليب، وهو أكثر استقرارا ولكن مع مؤشرات تا أقل.
2.3.2 بيثون.
التجار الذين يستخدمون بايثون ليس لديهم متطلبات عالية جدا على سرعة التنفيذ وأداء النظام. أنا وضعت حزمة بيثون دعا بيسنتوسا الذي يستخدم بروتوكول نانومزغ للاتصال وحدة بيانات السوق وبروتوكول ويبسوكيت للاتصال أومز. الرمز التجريبي هو كما يلي:
يوضح هذا الرمز خوارزمية بسيطة:
تعيين نطاق السعر مع الحد الأدنى يساوي 220 والحد الأعلى يساوي 250. إذا كان سعر طلب سبي هو أقل من 220، في محاولة لشراء 50 سهم. إذا تم تعبئة أمر الشراء، قم بتخفيض الحد الأدنى 20، وانتظر شراء 50 سهم حتى يصل سعر الطلب إلى أقل من 200. ولكن إذا كان سعر العرض أكبر من قيمة الحد الأعلى، أرسل أمر بيع من 100 سهم سبي. إذا تمت تعبئتها، قم بزيادة الحد الأعلى بمقدار 20 وانتظر البيع حتى يصل سعر العطاء إلى ما وراء القيمة العليا الجديدة للحدود 270. ويمكن استخدام هذه الخوارزمية لتقسيم طلب كبير للتجار المؤسسيين.
ليس فقط هو بيسنتوسا واجهة رسالة من سينتوسا، فإنه يتضمن نظام التداول سينتوسا وقت التشغيل. يمكنني استخدام push. python للتفاف نظام التداول سينتوسا إلى مكتبة ديناميكية وسيتم تشغيله كخفي عند إنشاء كائن ميرليون. وبعبارة أخرى، بيسنتوسا هو كامل نظام التداول المميز الكامل.
على النقيض من بيسنتوسا، أنا أيضا وضعت رسنتوسا مع اللغة R، وهو للتدليل على طريقة أخرى لاستخدام سينتوسا. رسينتوسا للتجار باستخدام لغة R، الذين لديهم عادة خلفية إحصاءات قوية. رسينتوسا استخدام بروتوكول نانومزغ على التواصل مع كل من أومز وحدة بيانات السوق. الرمز التجريبي هو كما يلي:
الخوارزمية هي تقريبا نفس النسخة الثعبان إلا أنها لا تبيع الجاسوس بغض النظر عن سعر العرض هو.
2.4 نظام إدارة النظام.
أومز (أنظمة إدارة النظام) هو نظام البرمجيات لتسهيل وإدارة تنفيذ النظام، عادة من خلال بروتوكول فيكس. في سنتوسا، وحدة أومز يحصل على أوامر من وحدة خوارزمية وإرسالها إلى يب. يب يحصل على أمر من سينتوسا أومز وينفذ ذلك باستخدام تكنولوجيا التوجيه الذكية. يب أبي يدعم نوعين أساسيين من أوامر: أمر الحد وأمر السوق.
الحد من النظام له حد السعر الذي يضمن سعر التنفيذ لا يمكن أن يكون أسوأ من ذلك. لكل سهم، يحافظ الصرف على كتاب أمر الحد بما في ذلك جميع أسعار العطاء / الطلب، وحجم المعلومات والطابع الزمني. يرجى ملاحظة أن سعر التجارة يمكن مواتية من الحد سعر النظام. على سبيل المثال، إذا أرسلت أمر حد لبيع مخزون غوغل مقابل دولار واحد للسهم الواحد، فسيملأ النظام سعر العرض أعلى الكتاب، والذي سيكون أعلى من دولار واحد.
نظام السوق نفسه ليس لديه معلومات عن الأسعار. عندما يتم إرسال أمر السوق إلى تبادل، فإن النظام مطابقة المحرك العثور على أفضل الأسعار المتاحة حاليا لتنفيذ ذلك. وعادة ما يتم ملء أمر السوق فورا عن طريق مطابقة أمر حد آخر في أعلى ترتيب الطلب. لا يمكنك مطابقة طلبي السوق لأنه لا توجد معلومات عن الأسعار في أوامر السوق.
2.4.1 بروتوكول أومز للتصميم والرسائل.
أومز يقبل نوعين من البروتوكولات: نانومسغ و ويبسوكيت.
الموضوع سوف يقوم الموضوع RED_API_NN بمراقبة ومعالجة أية رسالة نانومزغ الواردة في المنفذ المحدد ك NN_MON_PORT في sentosa. yml.
الموضوع سوف يقوم RED_API_WS بمراقبة ومعالجة أية رسالة ويبسوكيت واردة في المنفذ المحدد ك WS_MON_PORT في sentosa. yml.
أومز يعالج بروتوكولات مختلفة ولكن مع نفس المنطق. يمكنني استخدام C ++ وظيفة الزائد للتعامل مع الفرق. تعريف الواجهة هو في api_core. cpp وتنفيذ في api_nn. cpp ل نانومسغ و api_ws. cpp ل ويبسوكيت على التوالي.
سينتوسا هو تطبيق مولتيثريد حيث هناك أربعة المواضيع في وحدة أومز:
في سينتوسا، للنظر في الأداء، سيقوم النظام مسبقا بتخصيص مجموعة ثابتة من الطلبات بطول 283 لكل أداة. وبعبارة أخرى، أداة واحدة يمكن أن ترسل على الأكثر 283 أوامر مع معرف النظام مختلفة (لا يتم احتساب استبدال النظام في كما معرف النظام هو نفسه). يجب أن يكون هذا العدد كافيا للتجار الأفراد. يستخدم سينتوسا أومز نانومزغ كبروتوكول الاتصالات ويتلقى نص نانومزغ كما التعليمات.
فتحت سينتوسا أومز مقبس NN_PAIR عند نقطة النهاية التالية:
يمكنك تخصيص المنفذ عن طريق تغيير ALGO_TO_OMS_PORT في sentosa. yml.
مواصفات البروتوكول هو أيضا للتخصيص من خلال sentosa. yml. خذ الإعداد الافتراضي "sentosa. yml" كمثال:
لإغلاق كل ما تبذلونه من الموقف الحالي مع نظام السوق عندما يتم استلام نص نانومزغ بدءا من "ه".
لإغلاق موقف الصك في أقرب وقت ممكن. تنسيق نانومزغ هو f | سيمبول. على سبيل المثال، "f | عب" يعني إغلاق موقف عب الحالي الخاص بك مع ترتيب السوق.
لإلغاء جميع الأوامر المعلقة الحالية من أداة واحدة. الشكل نانومزغ g | سيموبل.
لإرسال أمر حد.
الشكل هو l | سيمبول | الكمية | السعر | ألدموف | أويد، حيث:
الكمية هي عدد صحيح موقعة. علامة إيجابية تعني شراء والوسائل السلبية بيع.
السعر هو سعر الحد.
يعد ألمودوف النطاق السعري الذي يظل فيه الطلب صالحا. في سينتوسا أومز، إذا كان سعر السوق يتحرك بعيدا جدا عن سعر الحد، سيتم إلغاء النظام من قبل أومز. يمكن التعبير عن المنطق باستخدام الرمز الزائف التالي:
أويد هو معرف الطلب.
لإرسال أمر السوق. التنسيق هو m | سيمبول | كوانتيتي | أويد.
للتحقق من حالة الطلب حسب معرف الطلب. تنسيق الرسالة هو i | أويد. على سبيل المثال، يعني "i | 1634223" طلبا إلى أومز لإرجاع حالة الطلب بمعرف يساوي 1634223. سوف يرسل أومز أحد حالة الطلب التالي إلى العميل بتنسيق "i | أويد | أوردرستاتوس". في حالة عدم وجود الأمر على الإطلاق، سوف أومز ترسل مرة أخرى -1. إذا أرسلت أومز "i | 1634223 | 4" مرة أخرى، فهذا يعني أن الطلب مع معرف يساوي 1634223 لديه حالة من تقديم.
يتم تعريف حالة الطلب على النحو التالي:
يمكنك الرجوع إلى وثيقة يب للحصول على تفاصيل حالة الطلب:
2-5 التوجيه المستقبلي.
نظام التجارة سينتوسا يمكن تمديدها في عدة طرق:
من مولتيثريد إلى معالجة متعددة.
من آلة واحدة إلى الكتلة.
من يب إلى أماكن تجارية أخرى، أو الوصول المباشر إلى السوق (دما) إن أمكن.
المزيد من اللغات الدعم.
المزيد من وحدات الدعم - وحدة إدارة المخاطر، وحدة إدارة محفظة.
3 الجزء الثالث - منصة أبحاث سنتوسا.
3.1 مقدمة.
البحث منصة البحث هو منصة الحوسبة التفاعلية على شبكة الإنترنت على أساس جوبيتر مع بايثون و R الدعم. يمكنك إعداده في الجهاز المحلي وإجراء البحوث مع البيانات الخاصة بك. وفيما يلي لقطة:
سينتوسا منصة البحوث.
في الأقسام التالية، سوف نناقش اختيار البيانات المالية، وجمع وإدارة. ثم سأعرض مهمتين بحثيتين باستخدام R وبيثون على التوالي. الأول هو غارتش الأسرة التقلب دراسة مقارنة مع بيانات التردد المنخفض والثاني هو حساب التذبذب صحيح مع بيانات عالية التردد.
3.2 اختيار البيانات وجمعها وإدارتها.
في المقام الأول، يبدأ التداول الناجح مع بيانات ذات نوعية جيدة. مع بيانات ذات نوعية جيدة، وخاصة البيانات الكمية، يمكن للتاجر القيام البحوث ذات مغزى. وفيما يتعلق بتداول الأسهم، تشمل بعض أنواع البيانات الشائعة الاستخدام بيانات التجارة، وبيانات الأسعار، والبيانات الأساسية، وبيانات الاقتصاد الكلي، وبيانات عوامل الخطر، وبيانات الأخبار، وبيانات وسائط التواصل الاجتماعي، وبيانات الخيارات. بيانات التجارة اليومية أوهلك وبعض البيانات الاقتصادية الكلية متوفرة عادة مجانا. والبعض الآخر غير مجاني في الغالب، وبعضها مكلف نظرا لتجار المعلومات التي يمكن الحصول عليها منها.
بالنسبة لخدمات البيانات المدفوعة، تحتاج إلى اختيار الدفع للبيانات المعالجة أو البيانات الخام، أو كليهما. البيانات المعالجة (على سبيل المثال بي / ي نسبة) هي أكثر ملاءمة وجاهزة لاستخدامها مباشرة. أما بالنسبة للبيانات الخام (مثل القراد والبيانات الاقتباس)، تحتاج إلى كتابة برنامج لتنظيفها، وحساب مؤشر أو عوامل الخطر مع خوارزمية الخاصة بك. وقد يحتاج البعض إلى حساب مكثف للغاية. ولكن الشيء الجيد للبيانات الخام هو مرونته وإمكانياته لتزويد المتداول بمزيد من المعلومات.
يمكن تخزين البيانات في نظام الملفات بتنسيق نص عادي. العديد من البيانات سلسلة الوقت ليست سوى بعض ملفات كسف، والتي يمكن استخدامها بسهولة جدا من قبل العديد من اللغات. لسلسلة البيانات الكبيرة، قاعدة بيانات مثل مسكل، ميسكل و مونغودب يمكن استخدامها. يتم تخزين البيانات في الجداول أو المستندات ويتم إنشاء فهارس لسرعة الاستعلام أسرع. للحصول على أداء أعلى معالجة البيانات سلسلة الوقت، يمكنك اختيار قاعدة بيانات تجارية مثل كب +، علامة واحدة أو إكستريمب.
هناك العديد من بائعي البيانات التجارية هناك مثل تومسون رويترز، بلومبرغ، ولكن معظمها باهظة للأفراد. في هذا المشروع، باستخدام الخلية مثل تخزين البيانات و يب كمصدر للبيانات، وضعت أداة تاريخية لجمع البيانات تسمى هيستداتا التي سوف تصفها على النحو التالي.
3.2.1 أداة جمع البيانات التاريخية - هيستداتا.
في هذا المشروع، يمكنني استخدام أربعة جداول لتخزين أربعة بيانات سلسلة زمنية:
هيكل الجدول هو نفسه لكل جدول. على سبيل المثال، ما يلي هو بنية الجدول bar1d:
فيما يلي ثلاثة صفوف في الجدول 15s:
الصف الأول يعني خلال 2018-ديسمبر-06 09:30:00 إلى 2018-ديسمبر-06 09:30:15، هناك 8 تداولات وقعت لبيتا مع واب يساوي 30.21، حجم التداول يساوي 25K، سعر مفتوح يساوي 30.27، أعلى سعر يساوي 30.27، أدنى سعر يساوي 30.16 وسعر إغلاق يساوي 30.25.
بالنسبة للأسهم، طلبات البيانات التاريخية التي تستخدم حجم شريط "30 ثانية" أو أقل يمكن أن تعود فقط ستة أشهر. ولدى المكتب الدولي أيضا قيود في معدل الطلب، وهو ما لا يتطلب أكثر من 60 طلبا للبيانات التاريخية في أي فترة 10 دقائق. وبالنظر إلى هذا القيد، أعتقد أن يب كان ينبغي أن تستخدم خوارزمية التحكم في حركة المرور مثل دلو رمزية في جانب الملقم. في جانب العميل، لتجنب التسبب في انتهاكات سرعة، جامع البيانات لدينا ينام لمدة 1 دقيقة بعد إرسال 6 طلبات. هذا هو للتخصيص في ملف التكوين sentosa. yml. ما يلي هو ما استخدمته في ملف التكوين الخاص بي:
إذا كانت هيستداتاسليبت تساوي 30000، يجب أن تكون هيستداتارنوم يساوي 3، وهو ما يعني النوم 30 ثانية لكل 3 طلبات. هيستداتاباكمن يعني كم من أشهر من الآن إلى الوراء تريد جمع البيانات. في المثال أعلاه، إذا كان اليوم هو 2018-ديسمبر 31، فهذا يعني أننا نريد لجمع البيانات في الفترة 2018-جول-01 إلى 2018-ديسمبر 31.
على النحو التالي، وسوف تظهر كيفية استخدام سينتوسا منصة البحوث للقيام البحوث الكمية على التقلبات. وتتعلق الحالة 1 بنماذج بارامترية للتقلبات باستخدام بيانات التردد المنخفض. الحالة 2 حول نماذج غير بارامترية باستخدام بيانات عالية التردد مع ضجيج المجهرية السوق.
3.3 الحالة 1: التنبؤ بالتنبؤ دراسة مقارنة (R)
التقلب مهم جدا بحيث يتم استخدامه على نطاق واسع في التداول والتسعير وإدارة المخاطر. نشر كريستيان براونليس، روب إنغل وبريان كيلي ورقة تسمى دليل عملي للتنبؤ بالتنبؤ من خلال الهدوء والعاصفة التي تستنتج أن تصنيفات النموذج غير حساسة للتنبؤ الأفق.
للتحقق من استنتاج هذه الورقة، أخطط لاستخدام مكتبة كواندل للحصول على بيانات مؤشر S & أمب؛ P 500 من 1950-جان-03 إلى 2018-مار-18 واستخدام برنامج R لمقارنة 5 نماذج غارتش: غارتش، نغارتش، تغارتش، أبارش، إيغارتش.
في النماذج الخمسة، فشل نموذج غارتش في تفسير عدم التماثل في توزيع الأخطاء وتأثير الرافعة المالية. إغارتش و تغارتش قادران على التعامل مع تأثير الرافعة المالية عندما يكون للعائد انحراف سلبي. نجارش و أبارش قادرون على التعامل مع تأثير الرافعة المالية لكل من الانحراف السلبي والإيجابي.
الرمز مكتوب بلغة R كما يلي:
وتحدد الشفرة أعلاه وظيفة خسارة شبه محتملة تقترحها الورقة الأصلية، يمكننا من خلالها مقارنة قابلية التنبؤ بالنموذج. ثم يحصل على بيانات من كواندل، ويحدد مواصفات النموذج، ويناسب النماذج ويتنبأ مع كل نموذج، وأخيرا رسم رسم بياني مع قيمة احتمال شبه (قل). طول العينة خارج هو 50 يوما. آفاق التوقعات التي اخترتها هي 1، 10، 20، 30، 40، 50 يوما. وسوف أقارن إمكانية التنبؤ بنماذج الخمسة في آفاق التنبؤ هذه.
على افتراض أن توزيع العودة أمر طبيعي، تشغيل التعليمات البرمجية أعلاه وأجد عندما أفق التنبؤ يساوي أو أقل من 30:
عندما أفق التوقعات أكبر من 30، لا يلاحظ أي نمط الترتيب.
والنتيجة هي في الشكل 3.
نماذج الأسرة غارتش مع التوزيع العادي.
كما نعلم، توزيع العائد على السهم هو أكثر انسجاما مع توزيع الطلاب t من المعتاد. الآن على افتراض توزيع العودة هو توزيع الطلاب t، في التعليمات البرمجية، ونحن بحاجة إلى تغيير مواصفات نموذج من القاعدة إلى ستد:
قم بتشغيل الشفرة أعلاه وأجد عندما يساوي أفق التنبؤ أو يقل عن 30:
عندما أفق التوقعات أكبر من 30، لا يلاحظ أي نمط الترتيب.
ويمكن رؤية النتيجة من الشكل 4:
نماذج الأسرة غارتش مع توزيع الطلاب.
وتتحقق النتيجة من أن ترتيب النموذج لا يتغير مع تغير أفق التوقعات طالما أن الأفق ليس كبيرا جدا. ويمكن تفسيره بخصائص كل نموذج. على سبيل المثال، فإن كل من تارش و إغارتش يعتبران تأثير النفوذ الإيجابي للانحراف، بحيث يكون لديهم تقريبا نفس قيمة دالة الخسارة. يمكن أن يفسر نغارتش و أبارش الانحراف الإيجابي والسالب، وهذا هو السبب في أن له قيمة دالة خسارة أعلى من تارش و إغارتش.
النتيجة أيضا التحقق من معرفة تجريبية أخرى، بالمقارنة مع غيرها من نماذج غارتش الأسرة، ونموذج غارتش جيدة بما فيه الكفاية. عندما نستخدم توزيع الطلاب كتوزيع النموذج، يحتل نموذج غارتش المرتبة رقم 1. عند استخدام التوزيع العادي، يحتل غارش المرتبة رقم 2. وهذا مثال آخر على أن أبسط نموذج هو النموذج الأقوى.
3.4 الحالة 2: التقلب مع البيانات عالية التردد (بيثون)
3.4.1 النظرية والمفهوم.
افترض أن سعر السهم يتبع حركة براونية هندسية: \ [S_t = S_0 \ كدوت إكس (\ سيغما W_t + (\ مو - \ فراك) \ كدوت t) \]
ثم عودة الأسهم \ (R_i = لوغ (S_) - لوغ (S_) \) هو توزيع طبيعي. في وحدة واحدة من الزمن \ (0 = t_0 & لوت؛ t_1 & لوت؛ t_2. & لوت؛ t_i = 1 \)، يكون مجموع مربع التربيع \ (R_i \) (ويعرف أيضا بالاختلاف التربيعي ل \ (R_i \))
لذا فإن تعريف التقلب في الشكل الرياضي هو: \ [\ بيجين \ سيغما = \ سرت ^ \ إنفتي [لوغ (S_ / S_>)] ^ 2> \ لابيل \ إند \]
ويسمى هذا التقلب \ (\ سيغما \) التقلب الحقيقي. \ (\ سيغما ^ 2 \) يسمى التباين الحقيقي.
3-4-2 آثار المجهرية السوقية.
البيانات عالية التردد لها بعض الخصائص الفريدة التي لا تظهر في الترددات المنخفضة. هناك العديد من الظاهرة المعروفة مثل التداول غير المتزامن، محاولة-طلب ترتد والقواعد الدنيا القراد، والتي تسمى آثار المجهرية السوق في الآداب المالية.
يتم إنشاء الشكل من BITA` يضاعف عودة سلسلة الوقت مع فترات أخذ العينات المختلفة: 1 دقيقة، 1 ساعة و 1 يوم. في الوحدات الفرعية للتوزيع، الخط المتقطع الأحمر هو التوزيع العادي المطابق. عندما طول الفاصل هو 1 يوم، والتوزيع هو منحرف الصحيح، منحني جرس ليبتوترتيك. ومع ذلك، مع زيادة وتيرة أخذ العينات، ينخفض ​​الانحراف ويزيد التفرطح. عندما طول الفاصل هو 1 دقيقة، يصبح الانحراف سلبي وتصلب تصل إلى 45.5.
آثار المجهرية السوق على تسجيل العودة.
وهذا يعني أن خاصية إحصائية البيانات قد تغيرت عندما يزداد تردد أخذ العينات. في البيانات عالية التردد، والسعر الملاحظ ليس السعر الجوهري للسهم أي أكثر من ذلك، ولكن سعر التجارة مشوهة بشكل كبير من آثار المجهرية السوق. لنفترض أن لوغاريتم سعر السهم الجوهري / الحقيقي هو عملية عشوائية (P_t \) وسعر الصفقة الملحوظ هو \ (Q_t \).
أستخدم \ (P_t \) لتمثيل عملية عشوائية غير معروفة ومساوية لوغاريتم سعر جوهري حقيقي أو حقيقي، و \ (Q_t \) هي عملية عشوائية أخرى تساوي لوغاريتم سعر تداول السهم.
حيث \ (\ epsilon_ \) هو i. i.d. عملية الضجيج مع \ [\ بيجين E [\ epsilon_] & أمب؛ = 0 \\ فار [\ epsilon_] & أمب؛ = E [\ epsilon_ ^ 2] = c \\ \ إند \]
تباين الضوضاء \ (c \) ثابت في هذا النموذج. انها ليست طبيعية بالضرورة، ولكن يجب أن تكون متماثلة وضعيفة ثابتة. أيضا، \ (\ epsilon_ \) مستقلة مع \ (P_t \) و \ (Q_t \).
3-4-3 التقلبات المحققة والوكلاء المتقلبون.
على الرغم من أن لدينا صيغة الرياضيات لتقلب حقيقي، ونحن لا يمكن أبدا الحصول على قيمته دقيقة. أولا، هو معادلة حساب التفاضل والتكامل المستمر، ولكن في العالم الحقيقي، والثمن هو دائما منفصلة. ثانيا، آثار المجهرية السوق، كما هو موضح في القسم السابق، أيضا تشويه السعر، مما يجعل سعر التجارة ليس بالضبط نفس سعر الجوهرية الأسهم كما هو محدد في نموذجنا. ومن أجل جعل بيانات العودة قريبة من التوزيع الطبيعي، وهو افتراض أساسي في العديد من النماذج المالية، يتعين على المرء أن يختبر سعر التجارة على فترات فاصلة بما فيه الكفاية لتجنب آثار المجهرية السوقية، وهذا بدوره سيجعل السعر أكثر انفصالا.
So we have to introduce another concept called realized volatility . It is essentially a discrete version of true volatility defined at equation \(\eqref \) . If we split the time unit \(T\) equally into \(N\) smaller time intervals \(t\) with equal length, we have the sampling frequency \(N\) :
and realized volatility is defined as:
and the realized variance is accordingly defined as:
Please be noted here \(Q\) is observed price, not true price \(S\) .
Realized volatility (aka integrated volatility ) is a bias estimator of true volatility due to market microstructure effects. I will prove this theoretically and empirically later. Correspondingly, the square of realized volatility is called realized variance , or integrated variance , or sometimes realized quadratic variation .
Please be noted, in some literatures, realized volatility and realized variance sometimes are used interchangeably. In addition, there are two other volatilities often seen in literatures. (1.) Implied volatility is just a numeric calculated from the option price according to Black-Scholes formula, assuming all the assumptions of Black-Scholes model are correct. (2.) Historical volatility normally means the past daily volatility calculated with historical data according to parametric conditional volatility models like GARCH, EWMA, or stochastic volatility models.
Because true volatility is not known, one can use volatility proxies when specifying and evaluating volatility models. We can consider proxy as a mapping of original variable in another space through a proxy function. In statistics, proxy is used for a variable not of prime interest itself, but is closely connected to an object of interest. One uses proxy to replace latent variables of interest, so the absolute correlation of proxy variable and original variable should be close to 1. Please be noted that one can use estimator, either biased or unbiased, as a proxy, but it is probably wrong to use a proxy as an estimator.
3.4.4 Market Microstructure Effects and Volatility Proxies.
Realized variance is often used as a volatility proxy when high frequency data are available. But surprisingly, due to market microstructure effects, we may get worse result when we have higher frequency data.
For the noise process, we have \[ E[\epsilon_ ]E[\epsilon_ ] = 0 \] because \(\epsilon_ \) and \(\epsilon_ \) are independent. And then.
The expectation is: \[\begin \begin E[\hat\sigma^2] &= E[\sum\limits_ ^N [ R_ > + ( \epsilon_ > - \epsilon_ >)] ^2 ] \\ &= E[\sum\limits_ ^N [ R_ > ^2 + 2R_ >( \epsilon_ > - \epsilon_ >) +( \epsilon_ > - \epsilon_ >)^2] ] \\ &= E[\sigma^2] + 2Nc \label \end \end \] The variance is: \[\begin \begin Var[\hat\sigma^2] &= 4 N E[\epsilon ^4] + O_p(1) \label \end \end \] This proves realized variance is a biased estimator of true volatility . The higher the sampling frequency is, the bigger N is, and the bigger the bias is. When N goes to infinity, the bias and realized variance go to infinity too. Zhang proposed that, when \(N\) is large enough, \(\sigma\) will become negligible, we can get the value of c, the variance of noise process with this formula: \[\begin c = \frac \label \end \]
Once we get the value of \(c\) , we can use the same equation to get \(E[\sigma^2]\) .
But how to decide if N is large enough? I am proposing another method. Resample the raw data with two steps \(N_1\) and \(N_2\) , and get two expectation of realized variance \(\hat E_1[\hat\sigma^2]\) and \(\hat E_2[\hat\sigma^2]\) . We have: \[ \hat E_1[\hat\sigma^2] = E[\sigma^2] + 2N_1c \\ \] \[ \hat E_2[\hat\sigma^2] = E[\sigma^2] + 2N_2c \]
3.4.5 Other Volatility Proxies.
Price range is a good volatility proxy which is free from the market microstructure effects. One definition is as simple as \(PR = Q_h - Q_l\) , where \(Q_h\) is the highest trade price in one time unit, \(Q_l\) is the lowest price accordingly.
The expectation of price range is: \[ \begin E[PR] &= E[Q_h - Q_l] \\ &= E[P_h - P_l + ( \epsilon_ - \epsilon_l)]\\ &= E[P_h - P_l] \end \]
We can see it is related to spread of true price in one time unit, but has nothing to do with \(\epsilon_t\) .
Another method to construct price range using high frequency data is to sum all subinterval price spreads in one time unit. To avoid confusion, if necessary, I will use price range(H-L) for the first definition and price range(sum of H-L) for the second one. By default, price range means the first definition.
In addition, people sometimes also use absolute return as volatility proxy. It is very similar to price range, but because the log return only consider the last close price and current close prices, it will miss information between the two time points, so it has a downward bias.
3.4.6 Realized Variance and Other Volatility Proxies.
Realized variance is a biased estimator, also a proxy, of real variance. First, let’s compare it with another well known volatility proxy price range. The raw data is 15 seconds OHLC bar data of BITA from IB. I choose 5 minutes as the time unit, so according to equation \(\eqref \) , with sampling interval number \(N\) equal to 20, we can get the value of realized variance. It is noteworthy that, for price range, I use the highest price in 5 minutes minus the lowest price, not sum of high minus low in 20 15-seconds-OHLC bars.
I randomly choose one day and compare these two variance proxies. The result is figure .
Realized Variance VS. Price Range(H-L) in one day.
The upper graph is the absolute value comparison. Because the value of realized variance is so small that it becomes a straight line closely above x axis. After multiplying a scale-up factor 180.6 to every number in realized variance series, I get the lower graph. It looks much better than the upper one. It is easy to see the two time series have the same trend. There is only very minor difference between them.
Figure verifies that price range is a good proxy for stock variance and volatility. The proxy function in this case is just a multiplication to a constant 180.6.
Now, let’s add two more proxies absolute return and price range(sum of H-L) . As described in previous section, absolute return is calculated as log return of the time unit. price range(sum of H-L) is calculated by adding all high low difference in 15-seconds-OHLC bars in one time unit. In my program and graphs, I use rvar for realized variance , prange for price range (H-L) , srange for price range(sum of H-L) and absr for absolute return .
Then I choose 13 time units from 2 minutes to 1 day:
Still using 15-seconds-OHLC bar data of BITA , I calculate volatility proxy for every time unit above. After getting the results, I check the statistics characteristics to verify the model \(\eqref \) .
From and , we can get the variation coefficient \(k\) :
Suppose N is large enough, if the time unit increases by m times ( \(m>1\) ), according to volatility time square root rule , we have:
This means, if the sampling interval is fixed and N is large enough, variation coefficient \(k\) of realized variance will decrease exponentially \(O(m^ )\) as length of time unit increases.
To verify this conclusion, I check the relation of variation coefficient and time units and get figure \(\ref \) :
Market Microstructure Effects on Volatility Proxies.
We can see market microstructure effects has a big impact on realized variance . When length of time unit decreases, the variation coefficient increases dramatically. Robin and Marcel proved that smaller variance corresponds to better volatility proxy. We can see the realized variance becomes stable and close to the other proxies when the time unit increases to 1.5 Hours.
For the other three proxies, there is no obvious change of variation coefficient, which means they do not suffer from market microstructure effects. Also it is well known that measurements that are log-normally distributed exhibit stationary variation coefficient , which is \(exp(\sigma^2 -1)\) , figure \(\ref \) also implies true variance is log-normally distributed.
A good proxy should have a close correlation with the original and other good proxies too. Figure displays the correlation coefficient changes with the time units. We can see the correlation of realized variance and price range increases dramatically as length of time unit increases. This means realized variance becomes a better proxy when the unit time is large enough, say 1.5 hours.
Bias and Consistency of Volatility Proxies.
3.4.7 Daily Realized Variance and Noise Process.
In previous section, we fix the length of time interval \(t\) , increase the time unit \(T\) and find that market microstructure effects has an exponential impact on realized variance . In this section, I am going to fix the time unit \(T\) as 1 day and change the length of time interval \(t\) . I will show how market microstructure noise process affects daily realized volatility when changing sampling time interval and investigate two ways to get the variance of noise process.
Still using BITA 15 seconds OHLC bar data and equation \(\eqref \) but choosing three different time intervals 15 seconds, 10 minutes and 2 hours, I get three daily realized variance time series and display them in figure .
Daily Realized Variance at Different Sampling Intervals.
In figure , rvar_1 means sampling interval is 15 seconds, rvar_40 means 10 minutes, and rvar_480 means 2 hours. We can see the trend is almost the same, but red dots(rvar_480) are distributed closer to x axis, blue dots(rvar_1) are the farthest, and green dots(rvar_40) are in between. This means when sampling interval increases, or when sampling frequency \(N\) decrease, expectation of daily realized variance decreases accordingly. This is an expected result according to equation .
Now let’s try more different sampling intervals. I choose 7 intervals as follows:
Correspondingly, the time intervals are 15 seconds, 1 minutes, 2 minutes, 5 minutes, 10 minutes, 20 minutes and 40 minutes.
Expectation of Daily Realized Variance at Different Sampling Intervals.
The x axis represents the sampling intervals and y axis represents expectation of daily realized variance, which is asymptotically equal to sample mean. We can see as sampling interval increases, which corresponds to a smaller N, the expectation of daily realized variance decreases. This is in line with equation .
When the interval is 15 seconds, N is equal to 1560 because the trading hour is 6 hours and a half. This is the highest frequency data I can get. Assume N is large enough (1.) to ignore \(E[\sigma^2]\) in and (2.) to get population expectation \(E[\sigma^2]\) , using the method proposed by Zhang , we can get that the noise process variance \(c\) equals to 7.5347758757e-07.
Alternatively, I tried to use equation too. Assuming the first two intervals \(N_1\) (1560) and \(N_2\) (390) are large enough for population expectation \(E[\sigma^2]\) , using equation , I get the noise process variance \(c\) equal to 1.30248047255e-07.
The reason why the two results are different is 15 seconds time interval is too long.
In another words, the data frequency \(N\) is not high enough to ignore \(E[\sigma^2]\) . According to the formula:
when true variance is not negligible, if one uses , one will overestimate the denominator and then overestimate the noise process variance \(c\) .
Fortunately, equation doesn’t require N is large enough to ignore \(E[\sigma ^2]\) . Assuming equation is correct applied here, \(c\) equals to 1.30248047255e-07 when \(N = 1560\) , in turn we can get expectation of true variance : \[ \begin E[\sigma ^2] &= E[\hat \sigma ^2] - 2Nc \\ &= 0.0023508500732184 - 2* 1560 * 1.30248047255e-07 \\ &= 0.00194447616578 \end \]
Both equations and require higher frequency data. But the latter only affected by accuracy of expectation calculation. With the same frequency data, equation is better because it doesn’t require \(N\) is large enough to ignore \(E[\sigma ^2]\) .
3.4.8 Three Schemes for Realized Variance Calculation.
In previous section, although we always use equation \(\eqref \) to calculate daily realized variance, we have actually used two schemes.
Scheme 1 calculates squared return for every adjacent pair of prices sequentially in one unit of time \(T\) , and then sum all squared returns. Figure illustrates how the calculation goes on. I call it classical scheme as it is exactly from equation \(\eqref \) . In previous section, I verified classical scheme is most seriously affected by market microstructure effects because high frequency data are contaminated by the noise process. When sampling frequency is high, it demonstrates a strong upward bias, making the result totally useless. In realized variance time series calculated from this scheme, you can see many spikes, which corresponds to high variation coefficient.
Classical Scheme to Calculate Realized Variance.
Scheme 2 splits one time unit into multiple grids. Grid is a new sample interval in between \(t\) and \(T\) . Scheme 2 uses only one point of data in one grid, ignoring all other data, so I call it sparse sampling scheme . In my program to generate figure and figure , I use the first price to represent price of the new sampling time interval, and calculate rvar_40 and rvar_80 . Figure illustrates how the calculation goes on.
Sparse Sampling Scheme to Calculate Realized Variance.
According to theoretical and empirical analysis in previous section, we see that sparse sampling scheme has a better performance than classical scheme . This is very surprising as it uses much less data. In figure , if one cell represents a 15-seconds-OHLC bar, we have 1560 cells for one day. If the new sampling time interval is 1 minute, according to sparse sampling , we need to throw away 1170 = 1560/4*3 price data. But when we use the remaining 390 price data to calculate, we get a even better result. This sounds counterintuitive but can be perfectly explained by model \(\eqref \) . Please be noted there are two intervals in sparse sampling , the original interval is 15 seconds, and the new interval after sparse sampling becomes 1 minutes. To avoid confusion, I will use word grid for the latter in the future, which is how Zhang names it in the original paper.
Can we take advantage of all data and throw away only the noise part in trade price?
Here scheme 3 comes into play. It is a natural expansion of scheme 2. It uses all data but also robust to market microstructure effects. As displayed in figure , we apply the same calculation of return, like sparse sampling , for not only the first cell in that grid, but all the other data. In figure , there are four cells in one grid. So we will get four results, the final result will be the average of them. This method is proposed by Lan Zhang(2003). I call it averaging scheme because it is improved by averaging based on sparse sampling scheme .
Averaging Scheme to Calculate Realized Variance.
In theory, averaging scheme should be better than the other two. I am going to verify this as below.
Averaging Scheme vs Classical Scheme.
Still using BITA 15-seconds-OHLC data, I get a comparison of classical scheme and averaging scheme in figure :
Classical Scheme VS Averaging Scheme.
The purple dots are realized variance result from classical scheme and the green ones from averaging scheme with grid length equal to 1 hour(240*15 seconds). We can see the green dots are distributed at the bottom, closer to x axis, which corresponds to the overestimation issue of classical scheme . This proved averaging scheme is better than classical scheme .
Averaging Scheme vs Sparse Sampling Scheme.
Now let’s compare sparse sampling scheme and averaging scheme . I choose 8 grid lengths as follows.
Using two schemes to calculate daily realized variance, and then the expectation \(E[\hat \sigma^2]\) under each grid.
Display it as figure below:
Sparse Sampling Scheme VS Averaging Scheme.
We can see averaging scheme has a lower \(E[\hat \sigma^2]\) than sparse sampling scheme . This means the former suffers less from market microstructure noise, so it is better. Please be noted if grid length becomes the same as sampling time interval, sparse sampling scheme and averaging scheme are degraded to classical scheme . This is why when grid length equals to 15 seconds, the purple dot and green dot becomes the same.
We have seen averaging scheme is the best of the three schemes. We also see the grid length affects the results of averaging scheme . Let me increase grid from 15 seconds to 40 minutes and draw the realized variance time series at figure .
Averaging Scheme and Different Grid Length.
We can see the best result is the one with grid length equal to 40 minutes. We can display \(E[\hat \sigma^2]\) with grid length in figure .
Expectation of Realized Variance with Averaging Scheme and Different Grid Length.
We can see the expectation curve is a smooth convex hull. It decreases exponentially as grid Length increases. But after 20 minutes, \(E[\hat \sigma^2]\) doesn’t decrease any more. This is because if grid length is too long, we cannot use all the data any more, averaging scheme becomes more like sparse sampling scheme . For instance, when grid length is the same as time unit \(T\) , which is 1 day in our case, averaging scheme is degraded to sparse sampling scheme .
To verify this, I choose 13 grid lengths ‘30seconds’, ‘1min’, ‘2min’, ‘5min’, ‘10min’, ‘20min’, ‘40min’, ‘1H’, ‘1.25H’, ‘1.5H’, ‘1.75H’, ‘2H’, ‘2.25H’, and draw \(E[\hat \sigma^2]\) in figure .
Averaging Scheme and Different Grid Length.
Green curve is sparse sampling scheme and blue curve is averaging scheme . x axis is grid length and y axis is \(E[\hat \sigma^2]\) .
We can see, for averaging scheme , after 40mins, \(E[\hat \sigma^2]\) keep increasing in very slow speed. Also, because averaging scheme is actually an average of many equally reasonable results, it is smoother than sparse sampling scheme . After 40mins, sparse sampling scheme curve jumps up and down around averaging scheme curve. This means there is an optimal value for grid length between sampling time interval \(t\) and time unit \(T\) . In this case, it is around 40 minutes. When grid length equals to \(t\) , averaging scheme becomes classical scheme ; when it equals to \(T\) , averaging scheme becomes sparse sampling scheme .
3.4.9 True Variance and Volatility.
In previous sections, I got the variance \(c\) of noise process \(\epsilon_t\) . I also found that averaging scheme is the best way to calculate realized variance with grid length equal to 40 minutes in this case. I have reached my goal. I am ready to calculate true variance and true volatility now!
See figure for true volatility series I created using the information above.
I can also get the statistics of true variance time series. Take Logarithm of true variance and we can get the distribution at figure .
Logarithmic True Variance Distribution.
The dashed blue line is the normal distribution curve fitted with the same mean and standard deviation as above. We can see the distribution is close to normal. We know variance has properties like clustering and mean reversion, and now we know logarithm of variance is Gaussian distribution, or variance is lognormal distribution. This also supports the conclusion I get from figure that stationary variation coefficient of volatility proxies implies they are log-normally distributed.
True volatility is the square root of true variance . I checked the distribution and it is also lognormal.
Previously we use price range as a proxy of true variance . Now we can check the distribution of price range and see if it has the same distribution as true variance . Figure is the daily price range series and distribution I get from our BITA dataset.
Logarithmic Price Range Distribution.
The red dashed line is normal distribution curve fitted with corresponding mean and standard deviation. The distribution is very similar with figure . This is in line with our knowledge that price range is a good proxy for true variance .
3.4.10 Data Selection and Conclusion Generality.
To take a new nonparametric approach to calculate volatility, I need high frequency data. The data I use in this case study is BITA 15 seconds OHLC bar data from 2018-12-06 9:30AM to 2018-12-31 16:00PM . I got the data with the histData tool which I have described in section Historical Data Collection Tool - histData . There are 806,880 bars in the dataset, stored as a CSV format file named BITA_2018-12-06_2018-12-31.csv . You can download it from quant365/post/99/.
I also want to emphasize that the BITA data are picked from the database randomly. It has no special importance itself. The conclusion drawn from previous sections should also apply to other stocks.
It is noteworthy that, for two adjacent OHLC bars, close price of the first bar is not necessarily equal to open price of the second bar. When we calculate return, we have to use two bars to calculate close-to-close return. But when we calculate price range, we can use high price minus low price in the same bar.
3.5 Future Direction.
Consider relation between noise process and trading frequency in the noise process model More programming languages support Cluster for faster computing (Spark - Lightning-fast cluster computing) for Monte Carlo simulation and big matrix calculation Integration with Sentosa trading system and web platform.
4 Part IV – Sentosa Web Platform.
Initially, Sentosa web platform is a Django blog website called qblog that I developed to write trading diary, which features markdown and mathematical formula support. Later I added a sentosaapp module to monitor and debug Sentosa trading system. Finally I extended it to be able to interact with Sentosa trading system completely. It uses javascript websocket to communicate with Sentosa trading system and displays internal status at webpage using jQuery. It can also be used to send orders to Sentosa trading system.
Although this is a very important part of Sentosa, it is not directly related to any Finance knowledge so I just introduce it very briefly in one page. For more details, please check Sentosa website.
The following is the screenshot of Sentosa web platform:
Sentosa Web Platform in Backtesting Mode with Real Historical Data.
As for future development, this web platform can be extended to do online trading.
5 Reference.
Christian Brownlees, Robert Engle and Bryan Kelly, (2018), A Practical Guide to Volatility Forecasting through Calm and Storm.
Zhang, Lan, Per A. Mykland and Yacine Ait-Sahalia. “A Tale Of Two Time Scales: Determining Integrated Volatility With Noisy High-Frequency Data,” Journal of the American Statistical Association, 2005, v100(472,Dec), 1394-1411.
Alizadeh, S., Brandt, M., and Diebold, F. X. (2002). Range-based estimation of stochastic volatility models. Journal of Finance 57: 1047–1092.
Andre Christoer Andersen, Stian Mikelsen, (2018), A Novel Algorithmic Trading Framework Applying Evolution and Machine Learning for Portfolio Optimization.
Stoll, H. and Whaley, R. (1990). Stock market structure and volatility. Review of Financial Studies 3: 37–71.
Andersen, T. G. and Bollerslev, T. (1998). Answering the skeptics: Yes, standard volatility models do provide accurate forecasts. International Economic Review 39: 885–905.
Andersen, T. G., Bollerslev, T., Diebold, F. X., and Labys, P. (2001b). The distribution of realized stock return volatility. Journal of Financial Economics 61: 43–76.
Bai, X., Russell, J. R., and Tiao, G. C. (2003). Kurtosis of GARCH and stochastic volatility models with non-normal innovations. Journal of Econometrics 114: 349–360.
Barndorff-Nielsen, O. E. and Shephard, N. (2004). Power and bi-power variations with stochastic volatility and jumps (with discussion).Journal of Financial Econometrics 2: 1–48.
Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics 31: 307–327.
Bollerslev, T. and Jubinski, D. (1999). Equality trading volume and volatility: Latent information arrivals and common long-run dependencies. Journal of Business & Economic Statistics 17: 9–21.
Bollerslev, T., Chou, R. Y., and Kroner, K. F. (1992). ARCH modeling in finance. Journal of Econometrics 52: 5–59.
Cao, C. and Tsay, R. S. (1992). Nonlinear time series analysis of stock volatilities. Journal of Applied Econometrics 7: s165–s185.
Visser, Marcel P., 2008. “Forecasting S&P 500 Daily Volatility using a Proxy for Downward Price Pressure,” MPRA Paper 11100, University Library of Munich, Germany.
Robin De Vilder & Marcel P. Visser, 2007. “Proxies for daily volatility,” PSE Working Papers halshs-00588307, HAL.
John C. Hull (2018). خيارات، العقود الآجلة، وغيرها من المشتقات، الطبعة 8.
Ruey S. Tsay (2018). Analysis of Financial Time Series, 2nd Edition.
David Ruppert (2018). Statistics and Data Analysis for Financial Engineering, 1st Edition.
Alexios Ghalanos (2018). rugarch: Univariate GARCH models. R package version 1.3-6.

Open source trading system c++


We have collection of more than 1 Million open source products ranging from Enterprise product to small libraries in all platforms. We aggregate information from all open source repositories. Search and find the best for your needs. Check out projects section.
Aats - open source C++ algorithmic trading system.
This project is to establish a C++ open source algorithmic trading system. Algorithmic traders can design their own trading strategies on this platform.
مشاريع ذات صلة.
raspBerry+ is a web-based administration platform for Blackberry Enterprise Server for MS Exchange (BES). You can group-based activate/kill/delete/add and get status of users, their handhelds and services. With a little download-area and a comment-system.
RASP's A Sneakernet Proxy; download using a thumbdrive.
RasmusDSP is an embeddable Audio/MIDI processor. It contains various filters and generators (including SoundFont 2.0 compatible synthesizer). Has a script interpreter which is used to describe instruments, route Audio/MIDI signal between processor units.
An acronym for cRoss-plAtform accesS control for Enterprise Applications. Rasea aims to become a reference in access control as a service based on the RBAC model.
Rascal, the Advanced Scientific CALculator, is a platform independent modular calculator. Based on modules for integer, doubles, strings, vectors and matrices it can be easily extended with existing C or C++ code.
RARS is the Robot Auto Racing Simulation, in which the drivers are robot programs. It is intended as a competition among programmers. It consists of a simulation of the physics of cars, a graphic display of the race, and a robot driver for each car.
This small program allows you to play a video directly from a RAR file and do so in real-time. Both VLC and MPlayer are supported video players.
RAReXtract.
RAReXtract is a Front-End for the UnRAR command line utility for Mac OS X 10.5 (Leopard). Its purpose is the rapid and convenient extraction of RAR archives with a double click.
RAR Expander.
Rar Expander is a MacOSX program which extracts the files contained in single or multi-volume RAR archives. It uses the official unRAR library internally so it is fully compatible with archives produced by WinRAR.
This program uses a brute force algorithm to guess your encrypted compressed file\'s password. If you forget your encrypted file password, this program is the solution. This program can crack zip,7z and rar file passwords.
RArcInfo is a package for R (r-project) to import data from binary Arc/Info V7.X coverages and E00 files . This will allow R users to used it as a primary GIS tool.
rar brute force shell script - rarbrute.
This is rarbrute, a shell script to brute force encrypted rar files under unix and linux. A long wordlist and a paper about security in internet cafes is included.
Raquel Database System.
The system will : 1. use RAQUEL (= Relational Algebra Query, Update and Executive Language) for programming, implementing Third Manifesto principles. 2. have a 'Lego-like' architecture of building blocks and plug-ins, for wider applicability.
RAPv4 is an engine for building web application with only a business description (in XML format). NEW 04/2006 : Stable 2006 release. Add new functions like mail, sms, web services, graph, map engine (GIS), Excel output, QBE. and also a beta release of.
2d Scroller. Clone of Raptor: Call of the Shadows and Tyrian. Fun game written in c++ using allegro.
Lightweight XML based transformation tool written in C that builds upon expat, tidylib and XSLT to tranform authored web content (incl. Word processor generated HTML) into styled web content suitable for publication.
RapidSMS is an open-source internet and communications platform.
RapidSmith.
RapidSmith is a research-based FPGA CAD tool framework written in Java for modern Xilinx FPGAs. Based on XDL, its objective is to serve as a rapid prototyping platform for research ideas and algorithms relating to low level FPGA CAD tools.
Rapidshare Mass Downloader.
What this program does is bringing out human interaction while downloading files from rapidshare(without premium account). It downloads all the rapidshare links sequentially to the specified location.
rapido visual profiler.
rapido is a visual profiler for linux-x86. It traces function call using the ptrace interface and displays the information collected in a nice visual flow chart. rapido does not require the re-compilation of the application.
الرموز الاجتماعية.
Most Viewed Product.
Recently Viewed Product.
We have large collection of open source products. Follow the tags from Tag Cloud >>
Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.

No comments:

Post a Comment