Monday 26 March 2018

نظام التداول الخوارزمي المفتوح المصدر


نظام التداول الخوارزمي المفتوح المصدر
مرحبا بكم في الصفحة الرئيسية لنظام التداول جافا المفتوحة.
ويهدف نظام فتح جافا للتجارة (أوجتس) ليكون بنية تحتية مشتركة لتطوير أنظمة تداول الأسهم. وهو يتألف من أربعة أجزاء: جمع البيانات الخام عبر الإنترنت الاعتراف إشارات التداول وحدة التصور والوحدات للاتصال واجهات برمجة منصات التداول مثل البنوك. ويهدف المشروع إلى توفير بنية تحتية مشتركة جاوة نقية مستقلة (منصة مستقلة) لمطوري أنظمة التداول. بعض الجوانب التي يجب معالجتها هي توفير مخطط قاعدة بيانات متوافق مع SQL92 لتخزين البيانات المالية، واجهات جافا الشائعة لكيفية تبادل البيانات بين وحدات مختلفة، وتصور البيانات المالية الخام وإشارات التداول والعديد من الجوانب المشتركة الأخرى اللازمة لإنشاء نظام التداول النهائي.
بسبب عملي وعائلتي أنا لا أجد الوقت لتحسين أوجتس لفترة أطول. أنا مستمر في تحديث قسم الروابط أدناه التي سوف توجه لكم لمشاريع جافا مفتوحة المصدر أكثر نشاطا في هذا المجال، على الرغم من.
في الواقع كنتيجة لاهتمام بلدي في ديناميات أسواق الأسهم بدأت رحلة إلى تفاصيل أعمق من الاقتصاد الوطني من أجل فهم أسعار صرف العملات. هذا الموضوع يقودني أخيرا إلى دراسة أعمق للمال في حد ذاته وحدة القياس التي نستخدمها في الاقتصاد لقياس "القيمة"، "النجاح" أو "فائدة". هذا الموضوع تبين أن مثيرة للاهتمام للغاية ولكن في الوقت نفسه كان من الصعب جدا العثور على أي معلومات حول كيفية عمل نظامنا النقدي. نتجول ونطلب من الناس حيث يأتي المال، الذي يخلق ذلك وما الذي يحدد قيمتها. ستلاحظ أنه حتى الناس الذين لديهم درجة الماجستير أو دكتوراه في الطب. في الاقتصاد لن يعرف هذه التفاصيل. أوه، نعم، سوف يجيبون في بعض المصطلحات الفنية الخفية، لكنها لن تكون قادرة على رسم رسم تخطيطي بسيط الذي يحدد العملية.
وأفيد أن G. G. ويلز قال:
"عادة ما يتم الاعتراف بكتابة العملة على أنها ممارسة لا يمكن الاعتراض عليها، بل هي تقريبا غير لائقة، وممارسة المحررين سوف يناشد الكاتب بالدموع تقريبا لا يكتب عن المال، وليس لأنه موضوع غير مهتم، ولكن لأنه كان دائما مثيرة للقلق عميق ".
أقترح على أي شخص يعيش في مجتمع ديمقراطي أن يقرأ عن هذا الموضوع. فإنه يؤثر على حياتنا كل يوم إلى حد لا يمكن أن تكون مفرغة! في رأيي كل مواطن من بلد ديمقراطي على هذا العالم يجب أن تعرف أين تأتي أموالنا. على الأرجح أنك وصلت إلى هذا الموقع على شبكة الإنترنت من أجل البحث عن الأدوات التي تساعدك في زيادة الثروة النقدية الخاصة بك. لفهم وحدة متري "المال" (بغض النظر عن الدولار أو اليورو) سيكون عنصرا هاما في الأدوات الخاصة بك لكسب المال.
إذا كان لديك القليل من الوقت، ويمكن فقط أن تحمل قراءة كتاب واحد واحد حول هذا الموضوع ثم أقترح عليك قراءة الثروة والثروة الافتراضية والديون من قبل فريدريك سودي. كنت قادرا على شراء نسخة مستعملة عبر الأمازون عن 23.48 $، ولكن هناك أيضا نسخة على الانترنت. سوف تحتاج إلى البرنامج المساعد دجفو لقراءته. وقد نشر هذا الكتاب أصلا في عام 1929، ولكن لا يزال يصف الحقائق الفعلية بشكل جيد للغاية. حتى لو كنت لا أتفق مع كل استنتاجات فريدريك سودي عمله يعتقد بشكل مثير إثارة وسوف تقودك لطرح الأسئلة الصحيحة.
الإصدارات، بوغفيكسس والوثائق المحدثة.
أنا التحقيق في كيفية جعل أوجتس أكثر توافقا مع جهود نظام التداول جافا أخرى.
هناك ويكي جديد متاح في ITSdoc. org مع التركيز على توزيع المعرفة في مجال أنظمة الاستثمار والتجارة. الفكرة وراء ITSdoc. org هو أن يكون منصة تعاون مماثلة ل ويكيبيديا مساعدة المجتمع لتبادل المعرفة.
أمس أصدرت الإصدار 0.13 من مكتبة أوبينجافاترادينغسيستم. من بين الميزات الجديدة هي: استرجاع البيانات للأسهم والصناديق والعملات من أونفيستا. تنفيذ التعامل مع العملات والتحويلات. يتم تنفيذ المحافظ، ويمكنك العمل مع المحافظ بنفس الطريقة كما هو الحال مع البنود ورقة الأمن واحد. وأضاف إطار عام لتطبيق الخوارزميات لسلسلة زمنية سوق الأوراق المالية. تحولت من قذيفة تفاعلية سيسك / مخطط إلى أبكل / كومونليسب بالإضافة إلى محرر لها يسمى "J". تمت إضافة آلية عامة للتخزين المؤقت للبيانات لتخزين البيانات التي تم استرجاعها بالفعل عبر الويب في نظام الملفات. بالإضافة إلى العديد من التحسينات الطفيفة إذا كنت مهتما في هذا الإصدار الجديد يجب أن تبدأ في القسم بدء التشغيل السريع / قطة. لم يتم تحديث الدليل حتى الآن ولكن يمكن أن تعطيك مع ذلك بعض المعلومات الأساسية قيمة إذا كنت ترغب في استخدام المكتبة في المشروع الخاص بك. وينبغي تحديث الوثائق قريبا.
كابل بيانات.
وثائق تصف الداخلية للمشروع. جافا كائنات بيانات واجهة الوثائق.
& غ؛ & غ؛ هتمل & غ؛ & غ؛ بدف إنفستمنت أند ترادينغ سيستيم دوكومنتاتيون بروجيكت.
تقنية.
كتل بناء الطرف الثالث المستخدمة في هذا المشروع.
و هكلدب هو محرك قاعدة البيانات التي يتم شحنها مع المشروع بحيث يمكنك البدء فورا باستخدام أوجتس دون تثبيت قاعدة بيانات طرف ثالث. ولكن إذا كنت تخطط لاستخدام قاعدة بيانات متوافقة مع SQL92 آخر ثم هذا هو خيار التكوين. كاستور (الترخيص: رخصة إكسولاب)
الخروع هو إطار ربط بيانات المصدر المفتوح ل جافا [تم]. انها أقصر الطرق بين كائنات جافا، وثائق شمل والجداول العلائقية. يوفر كاستور جافا-تو-شمل ملزم، استمرار جافا إلى سكل، وأكثر من ذلك. كاستور دوكليت (ترخيص: غنو لغبل v2.1)
جافا دوكليت لإنشاء كل من الخرائط و ملفات دل ل كاستور جدو و كاستور شمل. تستماكر (الترخيص: تيستماكر الترخيص المصدر المفتوح)
من مشروع تيستماكر فقط يتم استخدام تنفيذ البروتوكولات مثل هتب أو هتبس لجمع البيانات من شبكة الإنترنت. جكوكي (الترخيص: غنو لغبل v2.1)
مكتبة جكوكي ضرورية لمكتبات تستماكر للعمل. هتملبارسر (ليسنز: غنو لغبل v2.1)
يتم استخدام مكتبة هتملبارزر لاستخراج البيانات من موارد الويب. أبكل / كومونليسب (الترخيص: غنو غل v2)
يستخدم أبكل (الذراع المسلحة المشتركة ليسب) لتنفيذ القلب حسابي من المشروع في أنسي لغة البرمجة ليسب المشتركة. جفريشارت (ترخيص: غنو لغبل v2.1)
يستخدم جفريشارت لتصور البيانات المالية والرسوم البيانية. جسي (الترخيص: غنو لغبل v2.1)
يحل جودا تايم محل فئات جدك التاريخ والوقت الأصلية.
روابط لمشاريع أخرى.
قد تكون مجموعة جافاترادرز جوجل أفضل مدخل لك لمعرفة المزيد عن أنظمة التداول جافا الأخرى القائمة.
رمز المشروع مرخص وفقا لشروط لغبل وجميع الوثائق التي تجدها في هذا المشروع مرخصة بموجب شروط فدل.

سماوي الربيع أتس.
المصدر المفتوح البرمجيات التداول خوارزمية.
التنقل.
الربيع السماوي نظام التداول خوارزمية.
سماوي الربيع أتس هو منصة التداول خوارزمية مفتوحة المصدر. ويهدف إلى توفير حلول التداول الآلي للبنوك الاستثمارية ومديري الصناديق والتجار الأفراد. سماوي الربيع أتس يجمع بين التداول وإدارة النظام الخوارزمية في نظام متكامل واحد يسمح تطوير استراتيجية سريعة و ديلبويمنت.
معالم.
الإصدار 1.32 صدر مع اتصالات يب الإصدار 1.36 صدر مع استمرار القراد وإطار الاختبار الخلفي الإصدار 1.53 صدر مع نشر استراتيجية وقت الإصدار 1.65 صدر مع استراتيجية أداة واحدة الإصدار 2.31 صدر مع الترقية إلى جافا 7 متوافق.
معلومات البرنامج.
ميزات التطبيق.
معرفة المزيد عن التطبيق.
الربيع السماوي البرمجيات التداول خوارزمية يتيح سهولة تطوير استراتيجيات بسيطة ومتطورة.
إطار استراتيجية متينة يدعم التطور السريع لاستراتيجيات النظام الواحد واستراتيجيات الصك الواحد والاستراتيجيات المتعددة للأدوات توفر محطة العمل الخاصة بتجارب الربيع السماوي (ستو) واجهة مستخدم رسومية (غوي) للمتداولين لمراقبة ومراقبة تنفيذ استراتيجيات أتس الربيع الربيع السماوي ويدعم بروتوكول فيكس والاتصالات وسيط التفاعلية.
بنية النظام.
معرفة بنية النظام حول أتس الربيع سماوي.
الاختيار هو لك: نظام تجاري المؤسسة مع توزيع ملقم الكتلة الموزعة؛ أو خفيفة الوزن ألغو الروبوت مع عميل بسيط وتكوين الخادم. حل جافا مع معمارية الحدث مدفوعة تطبيقات متعددة الطبقات استنادا إلى نظام الرسائل جافا (جمس) يمكن أن تعمل ملقمات موتليبل معا كمجموعة مشاركة تحميل العمل يمكن أن تعمل محطة عمل سيان سبرينغ ترادر ​​(ستو) على ملقمات متعددة في نفس المجموعة.
أسئلة مكررة.
لا تتردد في نشر في المنتديات لدينا عن أي أسئلة قد تكون لديكم.
معلومات الخدمة.
هل تحب برنامجنا؟
الربيع السماوي أتس المجموعة هي مجموعة من المطورين الذين يتخصصون في بناء أنظمة ألغو / التداول. إذا كنت ترغب في برنامجنا، قد تفكر في الخدمات التالية التي نقدمها.
استشارات وتطوير التخصيص في الربيع السماوي أتس الخدمات الاستشارية في تطوير النظام التجاري العام ونشر قد يكون لدينا المطورين والمساهمين مفتوحة لخيار الانضمام إلى الشركة كمقاول أو الموظفين الدائمين رهنا بتوافرها.
يرجى لنا في إنفوسيانسبرينغ عن أي استفسار.
سماوي الربيع أتس - المصدر المفتوح البرمجيات التداول خوارزمية.
حقوق الطبع والنشر © 2011-2012 سماوي الربيع المحدودة. كل الحقوق محفوظة.

نظام التداول الخوارزمي المفتوح المصدر
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
ما هي منصة التداول مفتوحة المصدر المتاحة.
وأود أن تجميع قائمة من منصات التداول مفتوحة المصدر. شيء من شأنه أن يعطي لمحة عامة ومقارنة بين البنيات والنهج المختلفة.
كوانتوبيان يوفر بيئة بحثية مجانية، باكتستر، ويعيش آلة التداول (الجوس يمكن أن يكون مدمن مخدرات تصل إلى وسطاء التفاعلية). تتضمن بيئة تطوير الخوارزمية أدوات تعاون مفيدة حقا ومصحح أخطاء مفتوح المصدر. أنها توفر طن من البيانات (حتى أساسيات مورنينغستار!) مجانا.
بنيت منصة كوانتوبيان حول بيثون ويشمل جميع الخير مفتوحة المصدر أن مجتمع بايثون لهذا العرض (بانداس، نومبي، سسيكيتلارن، إبيثون مفكرة، وما إلى ذلك)
وسيقدم التجار الناجحون الذين يعملون في برنامج "كوانتوبيان ماناجيرس"، وهو صندوق تحوط من مصادر جماهيرية.
زيبلين هو المصدر المفتوح باكتستينغ المحرك الطاقة كوانتوبيان. أنه يوفر مكتبة التداول بيثونيك خوارزمية كبيرة تقارب بشكل وثيق كيف تعمل أنظمة التداول الحية.
(الكشف الكامل: أعمل في كوانتوبيان)
كوانتكونيكت يوفر مصدر مفتوح، مشروع مدفوعة المجتمع يسمى العجاف. المشروع لديه الآلاف من المهندسين استخدامه لإنشاء استراتيجيات مدفوعة الحدث، على أي بيانات القرار، أي فئة السوق أو الأصول.
نظامنا نفوذ الهامش والهامش المكالمات، القيود النقدية، وتكاليف المعاملات. نحن نحافظ على كاشبوك الكامل من العملات الخاصة بك. لها عن أقرب إلى الواقع ممكن. 20x أسرع من زيبلين، ويعمل على أي فئة الأصول أو السوق. نحن نقدم القراد، البيانات الثانية أو الدقيقة في الأسهم والفوركس مجانا.
أنا مؤسس كوانتكونيكت.
يناير 2017: نحن نقدم الآن الخيارات اللحظية، العقود الآجلة، الفوركس، العقود مقابل الفروقات والأسهم الأمريكية باكتستينغ من خلال كوانتكونيكت.
قائمة الروابط / المشاريع التي تعثرت عليها أثناء إجراء البحث:
بالنسبة لصناديق التحوط، يوجد حل كبير مشهور متاح للجمهور (يشار إليه من قبل ويكي)، ولكن ليس "المصدر المفتوح". (عادة ما يتم وضع الاشياء "المصدر المفتوح" من قبل المتحمسين مع عدم وجود فكرة عن التداول الحقيقي ألغو.)
كمبتدئ في ألغوترادينغ كوانتكونيكت و كوانتوبيان هي كبيرة لممارسة وتحسين المهارات الخاصة بك ولكن ل ألغو التاجر خطيرة، فهي عديمة الفائدة في الأساس. يتطلب التاجر ألغو المرونة للتحقيق في الأفكار التجارية وإضافة أو إزالة المكتبات أو أجزاء من النظام التي لا تعمل. تحتاج إلى تلقائيا وإعادة تقييم باستمرار النظم الخاصة بك. في هذا المستوى من التداول، كوانتوبيان و كوانتكونيكت هي جامدة جدا وغير قادرة تماما. قد تكون في غضون سنوات قليلة أنها ستكون على مستوى حيث تنفيذ الأفكار التجارية الجديدة مع المكتبات أكثر تقدما هو ممكن. هذا اثنين من الشركات الناشئة تبحث عن المال، سهل وبسيط. إذا كنت قد تم تطوير الطحالب التي هي في الواقع مربحة وكنت في معرفة في صناعة التداول. إذا كنت قد عملت مع الأولاد الكبار، وصناديق التحوط، وشركات هفت، وشركات التداول سوف تعرف لماذا أقول هذا. فقط كن حذرا لا تضع كل البيض في سلة واحدة.
كوانتكونيكت و كوانتوبيان كانت منصات التداول الخوارزمية الأولى التي أصبحت متاحة وهي الأكثر تقدما (على الرغم من أنها تحتاج إلى الكثير من العمل للتاجر المهنية، فهي نقطة انطلاق جيدة).
هذه هي الأسواق الناشئة، والكثير من الشركات الناشئة آخذة في الارتفاع. في الوقت الحاضر تتوفر منصات جديدة، على سبيل المثال:
كل منصة لديها خصائص خاصة بها، ولكن كل شيء في كل أنها كلها تعمل في التقدم. وسوف يستغرق بضع سنوات أخرى قبل أن تكون قادرة على الحصول على منصة التداول مستقرة التي يمكنك الاعتماد عليها والتي تقدم كل ما تحتاجه للتجارة المهنية.
هناك هذا واحد كتبه لي بضع سنوات مرة أخرى دعا أوتوستوك. يستحق أخذ نظرة.

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 من tâlib. org، وهو أكثر استقرارا ولكن مع مؤشرات تا أقل.
2.3.2 بيثون.
التجار الذين يستخدمون بايثون ليس لديهم متطلبات عالية جدا على سرعة التنفيذ وأداء النظام. أنا وضعت حزمة بيثون دعا بيسنتوسا الذي يستخدم بروتوكول نانومزغ للاتصال وحدة بيانات السوق وبروتوكول ويبسوكيت للاتصال أومز. الرمز التجريبي هو كما يلي:
يوضح هذا الرمز خوارزمية بسيطة:
تعيين نطاق السعر مع الحد الأدنى يساوي 220 والحد الأعلى يساوي 250. إذا كان سعر طلب سبي هو أقل من 220، في محاولة لشراء 50 سهم. إذا تم تعبئة أمر الشراء، قم بتخفيض الحد الأدنى 20، وانتظر شراء 50 سهم حتى يصل سعر الطلب إلى أقل من 200. ولكن إذا كان سعر العرض أكبر من قيمة الحد الأعلى، أرسل أمر بيع من 100 سهم سبي. إذا تمت تعبئتها، قم بزيادة الحد الأعلى بمقدار 20 وانتظر البيع حتى يصل سعر العطاء إلى ما وراء القيمة العليا الجديدة للحدود 270. ويمكن استخدام هذه الخوارزمية لتقسيم أمر كبير للتجار المؤسسيين.
ليس فقط هو بيسنتوسا واجهة رسالة من سينتوسا، فإنه يتضمن نظام التداول سينتوسا وقت التشغيل. يمكنني استخدام boost. 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:
الصف الأول يعني خلال 2013-ديسمبر 06 09:30:00 إلى 2013-ديسمبر-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 طلبات. هيستداتاباكمن يعني كم من أشهر من الآن إلى الوراء تريد جمع البيانات. في المثال أعلاه، إذا كان اليوم هو 2015-ديسمبر 31، فهذا يعني أننا نريد لجمع البيانات في الفترة من 2015-جول-01 إلى 2015-ديسمبر 31.
على النحو التالي، وسوف تظهر كيفية استخدام سينتوسا منصة البحوث للقيام البحوث الكمية على التقلبات. وتتعلق الحالة 1 بنماذج بارامترية للتقلبات باستخدام بيانات التردد المنخفض. الحالة 2 حول نماذج غير بارامترية باستخدام بيانات عالية التردد مع ضجيج المجهرية السوق.
3.3 الحالة 1: التنبؤ بالتنبؤ دراسة مقارنة (R)
التقلب مهم جدا بحيث يتم استخدامه على نطاق واسع في التداول والتسعير وإدارة المخاطر. نشر كريستيان براونليس، روب إنغل وبريان كيلي ورقة تسمى دليل عملي للتنبؤ بالتنبؤ من خلال الهدوء والعاصفة التي تخلص إلى أن تصنيفات النموذج غير حساسة للتنبؤ الأفق.
للتحقق من استنتاج هذه الورقة، أخطط لاستخدام مكتبة كواندل للحصول على بيانات مؤشر S & أمب؛ P 500 من 1950-جان-03 إلى 2011-مار-18 واستخدام برنامج R لمقارنة 5 نماذج غارتش: غارتش، نغارتش، تغارتش، أبارش، إيغارتش.
في النماذج الخمسة، فشل نموذج غارتش في تفسير عدم التماثل في توزيع الأخطاء وتأثير الرافعة المالية. إغارتش و تغارتش قادران على التعامل مع تأثير الرافعة المالية عندما يكون للعائد انحراف سلبي. نجارش و أبارش قادرون على التعامل مع تأثير الرافعة المالية لكل من الانحراف السلبي والإيجابي.
الرمز مكتوب بلغة R كما يلي:
The code above defines a quasi-likelihood (QL) loss function proposed by the original paper, by which we can compare model’s predictability. Then it gets data from Quandl, defines model specifications, fits models and predicts with each model, and finally draws a graph with quasi-likelihood (QL) loss value. The out sample length is 50 days. The forecast horizons I have chosen are 1, 10, 20, 30, 40, 50 days. I will compare the five models’ predictability in these forecast horizons.
Assuming that the return distribution is normal, run the code above and I find when forecast horizon is equal to or less than 30:
When forecast horizon is greater than 30, no ranking pattern is observed.
The result is at Figure 3.
GARCH Family Models with Normal Distribution.
As we know, stock price return distribution is more aligned with student t distribution than normal. Now assuming the return distribution is student t distribution, in the code, we need to change the model specification from norm to std :
Run the code above and I find when forecast horizon is equal to or less than 30:
When forecast horizon is greater than 30, no ranking pattern is observed.
The result can be seen from figure 4:
GARCH Family Models with Student Distribution.
The result verifies the model ranking doesn’t change as the forecast horizon changes as long as the horizon is not too large. It can be explained by the characteristics of each model. For example, both TARCH and eGARCH consider positive skew leverage effect, so they have almost the same loss function value. NGARCH and APARCH can explain both positive and negative skewness, which is why it has a higher loss function value than TARCH and eGARCH.
The result also verifies another empirical knowledge that, compared with other GARCH-family models, GARCH model is good enough. When we use student distribution as the model distribution, GARCH model ranks number 1. When using normal distribution, GARCH ranks number 2. This is another example that the simplest model is the most powerful model.
3.4 Case 2: Volatility with High Frequency Data (Python)
3.4.1 Theory and Concept.
Assume stock price follows geometric Brownian motion: \[ S_t = S_0 \cdot exp(\sigma W_t + (\mu - \frac )\cdot t) \]
Then stock return \(R_i = log(S_ ) - log(S_ )\) is a normal distribution. In one unit of time \(0=t_0<t_1<t_2. <t_i=1\) , the sum of squared return \(R_i\) (aka. quadratic variation of \(R_i\) ) is:
So the definition of volatility in mathematical form is: \[\begin \sigma = \sqrt ^\infty [log(S_ / S_ >)] ^2 > \label \end \]
This volatility \(\sigma\) is called true volatility . \(\sigma^2\) is called true variance .
3.4.2 Market Microstructure Effects.
High-frequency data have some unique characteristics that do not appear in lower frequencies. There are several well known phenomenon like asynchronous trading, bid-ask bounce and minimum tick rules, which are called Market Microstructure Effects in finance literatures.
Figure is generated from BITA` compounded return time series with different sampling intervals: 1 minute, 1 hour and 1 day. In the distribution subplots, the red dashed line is the corresponding normal distribution. When interval length is 1 day, the distribution is a right skewed, leptokurtic bell curve. However, as the sampling frequency increases, the skewness decreases and kurtosis increases. When interval length is 1 minute, skewness becomes negative and kurtosis reaches as high as 45.5.
Market Microstructure Effects on Log Return.
This means the data statistic property has been changed when the sampling frequency increases. In high frequency data, the observed price is not the stock’s intrinsic price any more, but a trade price heavily distorted by market microstructure effects . Suppose the logarithm of a stock intrinsic/true price is a stochastic process \(P_t\) and observed trade price is \(Q_t\) .
I use \(P_t\) to represent a stochastic process which is unknown and equal to the logarithm of a stock intrinsic or true price, and \(Q_t\) is another stochastic process which equals to the logarithm of a stock’s trade price.
Where \(\epsilon_ \) is an i. i.d. noise process with \[ \begin E[\epsilon_ ] &= 0 \\ Var[\epsilon_ ] &= E[\epsilon_ ^2] = c\\ \end \]
Noise variance \(c\) is a constant in this model. It is not necessarily normal, but should be symmetric and weak stationary. Also, \(\epsilon_ \) is independent with \(P_t\) and \(Q_t\) .
3.4.3 Realized Volatility and Volatility Proxies.
Although we have a math formula for true volatility, we can never get its precise value. First, it is a continuous calculus form equation, but in the real world, the price is always discrete. Second, market microstructure effects, as described in previous section, also distort the price, making trade price not exactly the same as stock’s intrinsic price as defined in our model. In order to make the return data close to normal distribution, which is a basic assumption in many financial models, one has to sample the trade price at sufficiently wide interval to avoid market microstructure effects, and in turn this will make the price more discrete.
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. وثم.
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 2013-12-06 9:30AM to 2015-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_2013-12-06_2015-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, (2011), 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, (2012), 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 (2012). Options, Futures, and Other Derivatives, 8th Edition.
Ruey S. Tsay (2010). Analysis of Financial Time Series, 2nd Edition.
David Ruppert (2010). Statistics and Data Analysis for Financial Engineering, 1st Edition.
Alexios Ghalanos (2015). rugarch: Univariate GARCH models. R package version 1.3-6.

No comments:

Post a Comment