استراتيجيات التداول Backtest مع Amazon Kinesis Data Streams للاحتفاظ طويل الأجل و Amazon SageMaker

عقدة المصدر: 1883045

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

الأمازون كينسيس دفق البيانات يسمح لعملائنا بتخزين البيانات المتدفقة لمدة تصل إلى عام واحد. تعمل Amazon Kinesis على تدفق بيانات الاحتفاظ على المدى الطويل (LTR) من تدفق البيانات يتيح استخدام نفس النظام الأساسي لكل من البيانات في الوقت الفعلي والبيانات الأقدم التي يتم الاحتفاظ بها في Amazon Kinesis Data Streams. على سبيل المثال ، يمكن للمرء تدريب خوارزميات التعلم الآلي للتداول المالي وتخصيص التسويق ونماذج التوصية دون نقل البيانات إلى مخزن بيانات مختلف أو كتابة تطبيق جديد. يمكن للعملاء أيضًا تلبية بعض لوائح الاحتفاظ بالبيانات ، بما في ذلك بموجب HIPAA و FedRAMP ، باستخدام الاحتفاظ طويل الأجل. هذا يبسط بالتالي بنية استيعاب البيانات لحالة الاستخدام التجاري التي سنناقشها في هذا المنشور.

في هذا المنصب بناء استراتيجيات تداول حسابية باستخدام Amazon SageMaker، أوضحنا كيفية إجراء اختبار رجعي لاستراتيجيات التداول باستخدام الأمازون SageMaker مع بيانات أسعار الأسهم التاريخية المخزنة في خدمة تخزين أمازون البسيطة (أمازون S3). في هذا المنشور ، نقوم بتوسيع هذا الحل لتدفق البيانات ووصف كيفية الاستخدام أمازون كينسيس.

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

أخيرًا ، نقوم بتشغيل التكوين الأمثل لاستراتيجية تقاطع المتوسط ​​المتحرك على مجموعة بيانات اختبار مختلفة وتحليل نتائج الأداء. إذا كان الأداء الذي تم قياسه في الربح والخسارة (P&L) إيجابيًا لفترة الاختبار ، فيمكننا التفكير في استراتيجية التداول هذه للاختبار المستقبلي.

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

حل نظرة عامة

نحن نستخدم Kinesis Data Streams لتخزين التدفق في الوقت الفعلي بالإضافة إلى بيانات السوق التاريخية. نستخدم دفاتر Jupyter كواجهة مركزية لاستكشاف استراتيجيات التداول الجديدة واختبارها. يتيح لك SageMaker إعداد دفاتر Jupyter ودمجها معها كود AWS لتخزين إصدارات مختلفة من الاستراتيجيات ومشاركتها مع أعضاء الفريق الآخرين.

نستخدم Amazon S3 لتخزين نتائج النماذج والاختبار الرجعي.

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

يوضح الرسم البياني التالي هذه العمارة.

نقوم بتشغيل خطوة إعداد البيانات من دفتر ملاحظات SageMaker. يؤدي هذا إلى نسخ بيانات السوق التاريخية إلى حاوية S3.

نستخدم خدمة ترحيل البيانات AWS (AWS DMS) لتحميل بيانات السوق إلى تدفق البيانات. ال

يتصل دفتر ملاحظات SageMaker بـ Kinesis Data Streams ويدير خوارزمية استراتيجية التداول عبر وظيفة تدريب SageMaker. تستخدم الخوارزمية جزءًا من البيانات للتدريب للعثور على التكوين الأمثل للاستراتيجية.

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

المتطلبات الأساسية المسبقة

قبل البدء ، قمنا بإعداد مواردنا. في هذا المنشور ، نستخدم ملف us-east-2 المنطقة كمثال.

  1. انشر موارد AWS باستخدام ملف تكوين سحابة AWS قالب.
  2. في حالة اسم المكدس، أدخل اسمًا لمجموعة العناصر الخاصة بك.
  3. قم بتوفير اسم حاوية S3 موجود لتخزين بيانات السوق التاريخية.

يتم تحميل البيانات في Kinesis Data Streams من حاوية S3 هذه. يجب أن تكون الجرافة الخاصة بك في نفس المنطقة حيث تم إعداد مكدسك.

  1. اقبل كل الإعدادات الافتراضية واختر التالى.
  2. تقر بإمكانية إنشاء AWS CloudFormation إدارة الهوية والوصول AWS (IAM) بأسماء مخصصة.
  3. اختار إنشاء مكدس.

هذا يخلق جميع الموارد المطلوبة.

تحميل البيانات إلى تيارات بيانات Kinesis

للقيام بتحميل البيانات ، أكمل الخطوات التالية:

  1. على وحدة تحكم SageMaker ، تحت دفتر في جزء التنقل ، اختر مثيلات دفتر الملاحظات.
  2. حدد موقع مثيل دفتر الملاحظات AlgorithmicTradingInstance-*.
  3. اختار فتح كوكب المشتري على سبيل المثال.
  4. انتقل إلى algorithmic-trading->4_Kinesis مجلد واختيار Strategy_Kinesis_EMA_HPO.pynb.

تقوم الآن بتشغيل خطوة إعداد البيانات في دفتر الملاحظات.

  1. قم بتحميل مجموعة البيانات.

حدد الحاوية الموجودة حيث يتم تخزين بيانات الاختبار. تأكد من أن حاوية الاختبار في نفس المنطقة حيث قمت بإعداد المكدس.

  1. قم بتشغيل جميع الخطوات في دفتر الملاحظات حتى الخطوة 2 تحضير البيانات.
  2. في وحدة تحكم AWS DMS ، اختر مهام ترحيل قاعدة البيانات.
  3. حدد مهمة AWS DMS dmsreplicationtask-*.
  4. على الإجراءات القائمة، اختر أعد تشغيل / استئناف.

يؤدي ذلك إلى بدء تحميل البيانات من حاوية S3 إلى تدفق البيانات.

انتظر حتى تظهر مهمة النسخ المتماثل الحالة Load complete.

  1. تابع الخطوات في دفتر Jupyter.

قراءة البيانات من الاحتفاظ طويل الأمد الخاص بـ Kinesis

نقرأ البيانات المفتوحة والعالية والمنخفضة وسعر الإغلاق والحجم اليومية من الاحتفاظ طويل المدى للتيار مع AWS SDK لـ Python (Boto3).

على الرغم من أننا لا نستخدم مروحة محسنة (EFO) في هذا المنشور ، قد يكون من المستحسن القيام بذلك أن أحد التطبيقات الموجودة بالفعل يقرأ من الدفق. بهذه الطريقة لا يتداخل تطبيق backtesting هذا مع التطبيق الحالي.

يمكنك تصور بياناتك ، كما هو موضح في لقطة الشاشة التالية.

حدد استراتيجية التداول الخاصة بك

في هذه الخطوة ، نحدد إستراتيجية تداول المتوسط ​​المتحرك الخاص بنا.

بناء صورة Docker

نقوم ببناء وظيفة backtesting الخاصة بنا كصورة Docker وندفعها إلى ذلك أمازون ECR.

تحسين Hyperparameter باستخدام SageMaker على بيانات التدريب

بالنسبة لاستراتيجية تداول المتوسط ​​المتحرك ، نريد العثور على الفترة السريعة المثلى والفترة البطيئة لهذه الإستراتيجية ، ونوفر مجموعة من الأيام للبحث عنها.

نحن نستخدم الربح والخسارة (P&L) للاستراتيجية كمقياس للعثور على معلمات تشعبية محسّنة.

يمكنك رؤية وظيفة الضبط الموصى بها بقيمة 7 و 21 يومًا للفترة السريعة والبطيئة لاستراتيجية التداول هذه نظرًا لمجموعة بيانات التدريب.

قم بتشغيل الإستراتيجية باستخدام معلمات تشعبية مثالية على بيانات الاختبار

نقوم الآن بتشغيل هذه الإستراتيجية باستخدام معلمات تشعبية مثالية على بيانات الاختبار.

عند اكتمال المهمة ، يتم تخزين نتائج الأداء في Amazon S3 ، ويمكنك مراجعة مقاييس الأداء في مخطط وتحليل أوامر الشراء والبيع لاستراتيجيتك.

وفي الختام

في هذا المنشور ، وصفنا كيفية استخدام ميزة الاحتفاظ طويل الأجل لـ Kinesis Data Streams لتخزين بيانات أسعار الأسهم التاريخية وكيفية استخدام البيانات المتدفقة للاختبار الخلفي لاستراتيجية التداول مع SageMaker.

يمكّنك الاحتفاظ طويل المدى ببيانات التدفق من استخدام نفس النظام الأساسي لكل من البيانات في الوقت الفعلي والبيانات الأقدم التي يتم الاحتفاظ بها في Kinesis Data Streams. يتيح لك هذا استخدام دفق البيانات هذا لحالات الاستخدام المالي مثل الاختبار العكسي أو التعلم الآلي دون نقل البيانات إلى مخزن بيانات مختلف أو كتابة تطبيق جديد. يمكنك أيضًا تلبية بعض لوائح الاحتفاظ بالبيانات ، بما في ذلك بموجب HIPAA و FedRAMP ، باستخدام الاحتفاظ طويل الأجل. لمزيد من المعلومات، راجع تتيح Amazon Kinesis Data Streams الاحتفاظ بتدفق البيانات لمدة تصل إلى عام واحد.

إخلاء المسؤولية عن المخاطر

هذا المنشور مخصص للأغراض التعليمية فقط وأداء التداول السابق لا يضمن الأداء المستقبلي.


حول المؤلف

ساشين ثكار هو مهندس حلول أول في Amazon Web Services ، ويعمل مع شركة عالمية رائدة في مجال تكامل الأنظمة (GSI). يتمتع بخبرة تزيد عن 22 عامًا كمهندس تكنولوجيا المعلومات وكمستشار تكنولوجي للمؤسسات الكبيرة. ينصب مجال تركيزه على البيانات والتحليلات. يوفر Sachin إرشادات معمارية ويدعم شريك GSI في بناء حلول صناعية إستراتيجية على AWS

أموج جايكواد مطور حلول في فريق النماذج الأولية. إنه متخصص في التعلم الآلي والتحليلات ولديه خبرة واسعة في تطوير نماذج ML في بيئات العالم الحقيقي ودمج AI / ML وخدمات AWS الأخرى في تطبيقات الإنتاج واسعة النطاق. قبل انضمامه إلى أمازون ، عمل كمطور برمجيات ، طور تطبيقات مؤسسية تركز على تخطيط موارد المؤسسات (ERP) وإدارة سلسلة التوريد (SCM). حصل أموغ على درجة الماجستير في علوم الكمبيوتر تخصص تحليلات البيانات الضخمة والتعلم الآلي.

ديراج ثكور مهندس حلول مع Amazon Web Services. إنه يعمل مع عملاء وشركاء AWS لتقديم إرشادات حول اعتماد السحابة المؤسسية والترحيل والاستراتيجية. إنه شغوف بالتكنولوجيا ويستمتع بالبناء والتجريب في مجال التحليلات و AI / ML.

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

المصدر: https://aws.amazon.com/blogs/big-data/backtest-trading-strategies-with-amazon-kinesis-data-streams-long-term-retention-and-amazon-sagemaker/

الطابع الزمني:

اكثر من AWS