بناء منصة التداول عبر الإنترنت






+

بناء منصة تداول العملات الأجنبية باستخدام كافكا، والعاصفة وكاساندرا يانوش Slawek 22 أكتوبر 2014 يانوش Slawek المهندس البيانات رؤية زميل، 2014 يانوش Slawek، ويعمل حاليا مهندس البيانات، وكان زميل الهندسة البصيرة البيانات في جلسة الافتتاحية يونيو 2014. هنا، وقال انه يعطي نظرة عامة على مستوى عال من خط أنابيب البيانات التي بناها في انسايت لمعالجة البيانات فوركس للتداول حسابي فرص العمل، والتصور، ودفعة التجميع. سوق الصرف الأجنبي، أو النقد الاجنبى، هو أكبر وخدمة صرف الأكثر سيولة في العالم مع تبلغ قيمتها أكثر من 4000000000000 $ من الصفقات التي تمت في كل يوم. هو السوق العالمية حقا أن ينام إلا في عطلة نهاية الأسبوع. كما عمل رائعة تأخذ جذورها من التاريخ القديم، النقد الاجنبى تقدمت بشكل مستمر مع التكنولوجيا على مدى سنوات. ومع ذلك، تماما كما هو الحال في الأزمنة القديمة، أن تكون ناجحة في التداول يأخذ العقل التحليلي وروح مقامر لأنه يتطلب التاجر لإدارة قدرا كبيرا من المخاطر والإجهاد. بينما تستخدم المؤسسات المالية التي وضعت أنظمة مكلفة لتنفيذ الصفقات، على سبيل المثال فائقة الكمون المنخفض المباشر في السوق وصول البرمجيات. المستثمرين الأفراد لديها عدد قليل أدوات بسيطة فقط تحت تصرفها، على سبيل المثال ميتا تريدر أو النينجا التاجر. البرمجيات في متناول الجميع موجود ويدمج بشكل جيد مع خدمات الوساطة. في كثير من الأحيان يسمح تنفيذ خوارزميات التجارية المخصصة. ومع ذلك، فإنه لا يسمح تحليل البيانات المالية الغني، وهو أمر حاسم لاتخاذ قرارات التداول على علم أو خوارزميات التداول بناء. لمعالجة هذه المشكلة، أنا خلق منصة لتداول العملات الأجنبية ودعا وولف. مع وولف، يمكننا الآن أن تصور البيانات المالية في الوقت الحقيقي. تنفيذ أوامر التداول مع الكمون القليل. وتحليل الأحداث التاريخية خارج الخط. أنها بسيطة لاستخدام ويدمج بسهولة مع وسطاء الخارجية ومقدمي البيانات. قمت بتأليف وولف مجموعة من الخدمات التي يتم هو موضح في الشكل 1. الشكل 1. العمارة وولف. والمدخلات وولف بمعالجة نوعين من المدخلات: التحديثات إلى أسعار التحويل من سبعة أزواج العملات الرئيسية، وأوامر التداول من قبل المستثمرين. في الشكل 1، والمدخلات من النوع الأول تنبع من ومثل، مزود البيانات ومثل؛ الخدمة في القاع. يتم تقديم مدخلات من النوع الثاني إلى النظام من ومثل؛ القاعدة & API مثل ؛، وحدة الموجود في الزاوية العلوية اليمنى. تيار الأول من المعلومات ضروري لتشغيل وولف. تم استخراجه من البيانات المجمعة من قبل موقع HistData. يتم تقديم لهم النظام مع دقة تصل إلى واحد ومثل؛ القراد ومثل؛ في ميلي ثانية واحدة، يتم تحديث أي معدل التحويل من كل زوج العملة على الأكثر مرة واحدة في ميلي ثانية واحدة. وفي الوقت نفسه، فإن مستخدمي نظام توفير الرافد الثاني للأحداث عن طريق تقديم أوامر التداول عبر واجهة ويب أو API مريحة. كلا النوعين من المدخلات تدخل معدد، انظر الشكل 1. يتم تنفيذ المضاعف باستخدام كافكا. طابور الثابتة، والتي تتسم بالمرونة لفشل الأجهزة، لديه القدرة الانضباطي، ويسمح التخزين المؤقت للبيانات خلال فترة محددة من الزمن. بيانات التوجيه مع سرعات مختلفة مع كافكا أنا خلقت ثلاث فئات من المستهلكين للأحداث من معدد: محرك القاعدة، خدمة التصور في الوقت الحقيقي، وخدمة دفعة التجميع. وهي تقع مباشرة فوق المضاعف في الشكل 1. محرك القاعدة هو قادرة على سحب كل جزء من الثانية لا انقطاع طبقة التصور في الوقت الحقيقي، والذي يستهلك كل خمس مئة مللي ثانية. في نفس الوقت، تستهلك خدمة تجميع أوامر من حجم أبطأ، كل خمس عشرة دقيقة. هؤلاء المستهلكين ثلاثة معالجة البيانات بمعدلات مختلفة جدا، لأنها تمثل ثلاث حالات استخدام مختلفة من الذئب. محرك الحكم يجب أن ينفذ أوامر التداول من قبل المستثمرين مع الكمون القليل جدا. طبقة التصور، أو غرافر، يجب أن تظهر التفاعلي للمستخدمين ولكن لا تشبع الشبكة. طبقة التجميع يجب معالجة الأحداث بكميات كبيرة. هؤلاء الثلاثة هم وقادرة على التجارة إنتاجية عالية لفترة استجابة منخفضة، أو العكس بالعكس، وذلك بفضل Kafka39؛ ق تصميم فريد جماعات المستهلكين. خط أنابيب البيانات لمحرك القاعدة: يتم التعبير عن أوامر التداول بسرعة جدا من حيث ومثل، وإذا ثم ومثل؛ قواعد. مثال على هذه القاعدة يمكن أن تكون العبارة التالية: ومثل، وإذا معدل التحويل من اليورو إلى الدولار أقل ثم 1.2، ثم شراء 100 وحدة ومثل؛ محرك الحكم يجب أن تتطابق بسرعة كمية كبيرة من هذه القواعد مع السوق المتغيرة باستمرار. وبعبارة أخرى، مستثمر يريد تجارة أعلاه يعدموا عندما ينخفض ​​معدل التحويل دون عتبة محددة. إنها مشكلة صعبة مع تقلب أسعار التحويل بشكل حيوي. يسمى وحدة من وولف المسؤولة عن تنفيذ أوامر التداول في محرك القاعدة. I تنفيذه على رأس معالج الحدث العاصفة. العاصفة حل اختبار المعركة أن يدمج بشكل جيد جدا مع كافكا. لأنها تتيح خلق تدفق معالجة مخصصة، أي طوبولوجيا. وفيما يلي التصور وقت التشغيل من طوبولوجيا الذي يعمل على كتلة العاصفة: عاصفة يعتني تسلسل، والتوجيه، وتعيد الأحداث من المصدر في حالة الفشل. لأنها تتيح بناء طبولوجيا الموزعة وحقن منطق الأعمال التي يحددها المستخدم. I تفويض العمل الفعلي لبيع وشراء العملة لخدمة الوساطة الخارجية. خط أنابيب البيانات لخدمة التصور في الوقت الحقيقي: سريع وثاني مستهلك للأحداث من كافكا هو خدمة التصور في الوقت الحقيقي. انها تجمع على آخر التحديثات في السوق لمدة أربع ساعات. لأن الأحداث تأتي مرتبة حسب طابع زمني، قررت أن تستفيد من بعد حل مفتوح المصدر آخر معروف جدا، وقاعدة بيانات كاساندرا. وهي مصممة لتخزين سلسلة من البيانات أمر بكفاءة. كاساندرا الزميلة مفاتيح مع القوائم التي تم فرزها ويخزن بشكل فعال باستخدام الجداول سلسلة فرزها. يتم نسخ كانوا من بين الملقمات التي تشكل حلقة منطقية مع عدم وجود أساتذة معين أو العبيد. حسب التصميم، كاساندرا غير مرنة إلى الفشل ويعيد البيانات عبر مراكز بيانات متعددة، مما يجعل من مخزن البيانات الموزعة عالية المتاحة. لأنها تتيح ضبط الاتساق مع مستويات القراءة / الكتابة. بل هو حل قادرة جدا مستمدة من قواعد البيانات DynamoDB وLevelDB. على الرغم من ذلك، بل هو نظام معقد جدا التي توفر عدادات العالمية، والمعاملات خفيفة الوزن، وأكثر من ذلك بكثير. خط أنابيب البيانات لخدمة تجميع الدفعة: البطيء على المستهلك الأخير من الأحداث من كافكا هي خدمة دفعة التجميع. وهي مصممة لتخزين جميع الأحداث التاريخية، مئات تيرابايت من البيانات. قررت استخدام كامو لجمع البيانات من كافكا وتستمر عليها لكتلة Hadoop. اعتدت خلية لحساب جهات النظر المجمعة، على سبيل المثال أنا حولت البيانات إلى دقة أقل عن طريق حساب متوسط ​​معدلات التحويل بمرور الوقت وأرسلت هذه الآراء إلى خدمة التصور في الوقت الحقيقي. هذا الأسلوب يتيح تصور البيانات في جداول مختلفة. بهذه الطريقة أتمكن من رسم بياني آخر لحظة من البيانات مع قرار من ميلي ثانية واحدة واحدة وآخر ساعة من البيانات مع قرار من دقيقة واحدة لتجنب إرسال كمية زائدة من النقاط الزمنية لعميل. وضع كل ذلك معا على رأس الخدمة التصور في الوقت الحقيقي، ولقد بنيت طبقة خدمة يمنع المستخدمين من الاستعلام عن مخازن البيانات مباشرة ويحسن وقت الاستجابة من الذئب. فهي تتمثل باعتباره ومثل؛ الكاش & مثل؛ وحدة في الشكل 1. رمز العميل بشكل دوري استطلاعات طبقة خدمة للحصول على أحدث البيانات. لرسم البيانات، واستخدمت مكتبة FLOT جافا سكريبت التي تدعم التخطيط سلسلة في الوقت الحقيقي في متصفح الويب. لتلخيص، من الناحية الفنية، وكان أصعب جزء من بناء منصة التداول لتناسب بشكل صحيح معا بضعة أجزاء متحركة والسماح تجهيز كميات كبيرة من الأحداث مع الكمون القليل، وكذلك تصور واستمرار لهم موثوق بها تخزين. لحل هذه المشكلة المعقدة، أنا خلق النموذج الأول والاستعاضة عن ذلك في وقت لاحق فقط مع مجموعة واسعة من حلول اختبار ساحة المعركة. أن يكون نهاية إلى نهاية ولف العمل والغراء معا الذبائح الأولي من الخدمات الموزعة، أنا استخدم microframework قارورة واثنين من مخطوطات قذيفة. سمح هذا لي لتنفيذ بسرعة إثبات المفهوم، استبدال تباعا خدمات سخر المتابعة، وتكرارا تحسين تصميم النظام. وأعتقد أن هذه المنهجية كانت حقا المفتاح لنجاح هذا المشروع. لا تتردد في تحقق من المستودع وولف على جيثب لمعرفة المزيد. مهتم في الانتقال إلى مهنة في مجال الهندسة البيانات؟ معرفة المزيد عن برنامج زمالة الهندسة انسايت البيانات في نيويورك وادي السيليكون، وتطبيق اليوم، أو الاشتراك للحصول على تحديثات البرنامج. إذا كنت عالما البيانات أو مهندس؟ تحقيق الانترنت التداول في الوقت الحقيقي عن طريق جهاز الكمبيوتر الخاص بك. تجارة DIY هي واحدة الطريقة التي يمكنك جعل عملك المال بالنسبة لك. إذا فهم مفهوم شراء منزل وبيعها في وقت لاحق عندما تذهب أسعار المنازل ما يصل، وكنت بالفعل في طريقك لتصبح تاجر: الاموال التي تقوم بها عند بيع هذا المنزل بسعر أعلى هو profit.160 الخاص بك؛ لم يكن لديك للعمل لكسب هذا الربح. عليك أن تملك house.160. وينطبق المبدأ نفسه على التداول: أنت شراء الأصول وتبيعه بربح عندما يحين الوقت right.160. يمكنك التجارة عبر الكمبيوتر باستخدام منصات التداول لدينا، ووضع لكم في السيطرة على اموالك