مقدمة في التعلم العميق التداول في صناديق التحوط
نشرت: 2022-03-11على مدى السنوات القليلة الماضية ، أصبحت الشبكات العصبية العميقة شائعة للغاية. تم إنشاء هذا المجال الناشئ في علوم الكمبيوتر حول مفهوم الشبكات العصبية البيولوجية ، وأصبح التعلم العميق شيئًا من الكلمات الرنانة اليوم.
يحاول علماء ومهندسو التعلم العميق أن يصفوا رياضيًا أنماطًا مختلفة من الأنظمة العصبية البيولوجية. تم تطبيق أنظمة التعلم العميق على العديد من المشكلات: رؤية الكمبيوتر ، والتعرف على الكلام ، ومعالجة اللغة الطبيعية ، والترجمة الآلية ، والمزيد. من المثير للاهتمام والمثير أنه في بعض المهام ، تفوق التعلم العميق على الخبراء البشريين. اليوم ، سنلقي نظرة على التعلم العميق في القطاع المالي.
أحد أكثر التطبيقات جاذبية للتعلم العميق هو في صناديق التحوط. صناديق التحوط هي صناديق استثمار ومؤسسات مالية تجمع الأموال من المستثمرين وتديرها. عادة ما يعملون مع بيانات السلاسل الزمنية ويحاولون عمل بعض التنبؤات. هناك نوع خاص من بنية التعلم العميق المناسبة لتحليل السلاسل الزمنية: الشبكات العصبية المتكررة (RNN) ، أو بشكل أكثر تحديدًا ، نوع خاص من الشبكات العصبية المتكررة: شبكات الذاكرة طويلة المدى (LSTM).
LSTMs قادرة على التقاط أهم الميزات من بيانات السلاسل الزمنية ونمذجة تبعياتها. يتم تقديم نموذج التنبؤ بسعر السهم كدراسة حالة توضيحية حول كيفية استخدام صناديق التحوط لمثل هذه الأنظمة. يتم استخدام إطار عمل PyTorch ، المكتوب بلغة Python ، لتدريب النموذج وتصميم التجارب واستخلاص النتائج.
سنبدأ ببعض أساسيات التعلم العميق قبل الانتقال إلى أمثلة من العالم الحقيقي:
- قدم التعلم العميق كمفهوم مجرد.
- قم بتقديم RNNs - أو بشكل أكثر تحديدًا LSTMs - وكيف يمكن استخدامها لنمذجة بيانات السلاسل الزمنية.
- تعرّف القراء على البيانات المالية المناسبة للتعلم العميق.
- وضح كيف يستخدم صندوق التحوط الفعلي التعلم العميق للتنبؤ بأسعار الأسهم.
- أخيرًا ، قدم توصيات قابلة للتنفيذ لصناديق التحوط الجديدة والحالية حول كيفية استخدام / الاستفادة من التعلم العميق لزيادة أدائها.
عرض حالة تداول التعلم العميق
واحدة من أكثر المهام تحديًا وإثارة في الصناعة المالية هي توقع ما إذا كانت أسعار الأسهم سترتفع أو تنخفض في المستقبل. اليوم ، نحن ندرك أن خوارزميات التعلم العميق جيدة جدًا في حل المهام المعقدة ، لذلك يجدر محاولة تجربة أنظمة التعلم العميق لمعرفة ما إذا كان بإمكانها حل مشكلة التنبؤ بالأسعار المستقبلية بنجاح.
كمفهوم ، كانت الشبكة العصبية الاصطناعية موجودة منذ فترة طويلة ، لكن الأجهزة لم تكن جيدة بما يكفي للسماح بإجراء تجارب سريعة في التعلم العميق. ساعدت Nvidia في إحداث ثورة في شبكات التعلم العميق منذ عقد من الزمان ، حيث بدأت في تقديم وحدات معالجة رسومات سريعة جدًا (GPUs) للحوسبة للأغراض العامة في منتجات سلسلة Tesla. بدلاً من تظليل المضلعات في الألعاب وتطبيقات التصميم الاحترافية ، يمكن لوحدات معالجة الرسومات المتوازية للغاية حساب البيانات الأخرى أيضًا ، وفي كثير من الحالات ، تكون متفوقة بشكل كبير على وحدات المعالجة المركزية.
هناك عدد قليل جدًا من الأوراق العلمية حول استخدام التعلم العميق في التمويل ، لكن الطلب على خبراء التعلم العميق من شركات التكنولوجيا المالية قوي ، حيث من الواضح أنهم يدركون إمكاناته. ستساعد هذه المقالة في شرح سبب ازدياد شعبية التعلم العميق في مجال التمويل من خلال تحديد كيفية استخدام البيانات المالية في بناء أنظمة التعلم العميق. سيتم أيضًا تقديم نوع خاص من الشبكات العصبية المتكررة - شبكة LSTM. سنحدد كيف يمكن حل مهمة متعلقة بالتمويل باستخدام الشبكات العصبية المتكررة.
تحتوي هذه المقالة أيضًا على دراسة حالة توضيحية حول كيفية استخدام صناديق التحوط لمثل هذه الأنظمة ، مقدمة من خلال التجارب. سننظر أيضًا في كيفية تحسين أنظمة التعلم العميقة وكيف يمكن لصناديق التحوط توظيف المواهب لبناء تلك الأنظمة ، أي نوع الخلفية التي يحتاجها موهبة التعلم العميق.
ما الذي يجعل صناديق التحوط مختلفة
قبل أن ننتقل إلى الجانب الفني للمشكلة ، نحتاج إلى توضيح ما الذي يجعل صناديق التحوط فريدة من نوعها. إذن ، ما هو صندوق التحوط؟
صندوق التحوط هو صندوق استثمار - منظمة مالية تجمع الأموال من المستثمرين وتضعها في استثمارات قصيرة الأجل وطويلة الأجل ، أو في منتجات مالية مختلفة. يتم تشكيلها عادة كشراكة محدودة أو شركة ذات مسؤولية محدودة. هدف صندوق التحوط هو تعظيم العوائد. العائد هو ربح أو خسارة في صافي قيمة صناديق التحوط خلال فترة زمنية معينة. من المقبول عمومًا أنه عندما يتم اتخاذ المزيد من المخاطر ، يكون هناك احتمال أكبر لتحقيق عوائد وخسائر أعلى.
من أجل تحقيق عوائد جيدة ، تعتمد صناديق التحوط على أنواع مختلفة من استراتيجيات الاستثمار ، في محاولة لكسب المال من خلال استغلال أوجه القصور في السوق. نظرًا لأنواع مختلفة من استراتيجيات الاستثمار غير المسموح بها في صناديق الاستثمار العادية ، فإن صناديق التحوط غير مسجلة كصناديق ، أي أنها عادة لا تخضع لإشراف الدولة مثل الصناديق الأخرى. لا يحتاجون إلى نشر استراتيجياتهم الاستثمارية ونتائج أعمالهم ، الأمر الذي قد يجعلهم محفوفين بالمخاطر. تدر بعض صناديق التحوط أموالاً أكثر من متوسط السوق ، لكن بعضها يخسر أموالاً. يحقق بعضها نتائج دائمة ، بينما تتباين نتائج بعض صناديق التحوط.
من خلال الاستثمار في صناديق التحوط ، يقوم المستثمرون بزيادة صافي ثروة الصندوق. ومع ذلك ، لا يمكن لأي شخص فقط الاستثمار في صناديق التحوط. صناديق التحوط مخصصة لعدد صغير من المستثمرين الأثرياء. عادة ، يحتاج أولئك الذين يرغبون في المشاركة في صناديق التحوط إلى أن يكونوا معتمدين. هذا يعني أنه يجب أن يكون لديهم وضع خاص فيما يتعلق بقوانين التنظيم المالي. هناك تمييز من بلد إلى آخر فيما يتعلق بمن يمكنه الحصول على هذا الوضع الخاص. عادة ، يجب أن تكون القيمة الصافية للمستثمر عالية جدًا - ليس فقط الأفراد ، ولكن يمكن للبنوك والشركات الكبيرة أيضًا العمل في صناديق التحوط. تم تصميم هذا الاعتماد للسماح فقط للأفراد ذوي المعرفة الاستثمارية الكبيرة بالمشاركة ، وبالتالي حماية المستثمرين الصغار وعديمي الخبرة من المخاطر.
تتناول هذه المقالة الإطار التنظيمي للولايات المتحدة ، حيث تمتلك الولايات المتحدة أكثر الأسواق المالية تطورًا في العالم. لذلك ، في الولايات المتحدة الأمريكية ، يتم تعريف مصطلح "المستثمر المعتمد" في المادة 501 من اللائحة D لهيئة الأوراق المالية والبورصات الأمريكية (SEC).
وفقًا لهذه اللائحة ، يمكن أن يكون المستثمرون المعتمدون:
- البنوك
- شركات تطوير الأعمال الخاصة
- المنظمات
- المديرين والمسؤولين التنفيذيين والشركاء العامين لمصدري الأوراق المالية المعروضة أو المباعة
- الأشخاص الطبيعيون الذين يتجاوز صافي ثروتهم الفردية أو صافي ثروتهم المشتركة مع زوجة ذلك الشخص 1،000،000 دولار أمريكي
- الأشخاص الطبيعيون الذين لديهم دخل فردي يزيد عن 200000 دولار في كل من السنتين الأخيرتين أو دخل مشترك مع زوج ذلك الشخص يزيد عن 300000 دولار في كل سنة من تلك السنوات ولديهم توقع معقول بالوصول إلى نفس مستوى الدخل في العام الحالي
- الصناديق التي يزيد إجمالي أصولها عن 5.000.000 دولار
- الكيانات التي يكون جميع مالكي الأسهم فيها مستثمرين معتمدين
يدير مديرو صناديق التحوط صندوق التحوط. يجب أن يجد مدير صندوق التحوط طريقة لخلق ميزة تنافسية ليكون ناجحًا ، أي لخلق ميزة على المنافسين والقدرة على توليد قيمة أكبر. يمكن أن يكون اختيارًا وظيفيًا جذابًا للغاية ، حيث يمكن أن يكون مربحًا للغاية إذا برع الفرد في إدارة الصندوق.
على الجانب الآخر ، إذا اتضح أن الكثير من قرارات مديري صناديق التحوط سيئة ، فلن يتم الدفع لهم وسيكتسبون سمعة سلبية. يشكل أفضل مديري صناديق التحوط واحدة من أفضل المهن مدفوعة الأجر في جميع الصناعات. يحصل مديرو صناديق التحوط على نسبة مئوية من العوائد التي يكسبونها للمستثمرين ، إلى جانب رسوم الإدارة. هذه الطريقة في التعويض تجعل مديري صناديق التحوط يستثمرون بشكل أكثر قوة من أجل الحصول على عوائد أكبر ، ولكن من ناحية أخرى ، يؤدي ذلك أيضًا إلى زيادة مخاطر المستثمرين.
تاريخ موجز لصناديق التحوط
ظهر أول صندوق تحوط في عام 1949 ، أنشأه الكاتب وعالم الاجتماع السابق ألفريد وينسلو جونز. كان ذلك أثناء كتابته لمقال حول اتجاهات الاستثمار الحالية لـ Fortune ، في عام 1948.
حاول إدارة الأموال وحقق نجاحًا كبيرًا. لقد جمع الأموال باستخدام ابتكاراته الاستثمارية ، والتي تُعرف الآن على نطاق واسع باسم الأسهم الطويلة / القصيرة. لا تزال الإستراتيجية تحظى بشعبية كبيرة بين صناديق التحوط. يمكن شراء الأسهم (شراء: طويل) أو بيعها (بيع: قصير).
عندما يكون سعر السهم منخفضًا ومن المتوقع أن يرتفع سعر السهم ، فمن المنطقي شراء سهم (طويل) وبيعه (قصير) بمجرد وصوله إلى أعلى سعر له ، وذلك هو بالضبط الهدف من الابتكار الذي صنعه ألفريد وينسلو جونز - اتخاذ صفقات شراء في الأسهم التي من المتوقع أن ترتفع والصفقات القصيرة في الأسهم التي من المتوقع أن تنخفض.
البيانات المالية ومجموعات البيانات
البيانات المالية تنتمي إلى بيانات السلاسل الزمنية. السلسلة الزمنية هي سلسلة من نقاط البيانات المفهرسة في الوقت المناسب. عادةً ما تكون السلسلة الزمنية عبارة عن تسلسل يتم التقاطه في نقاط زمنية متتالية ومتباعدة بشكل متساوٍ: تسلسل بيانات زمنية منفصلة. أمثلة على السلاسل الزمنية هي ارتفاعات المد والجزر في المحيطات ، وعدد البقع الشمسية ، وقيمة الإغلاق اليومية لمؤشر داو جونز الصناعي.
البيانات التاريخية في هذا السياق هي بيانات السلاسل الزمنية من الماضي. إنه أحد أهم وأهم الأجزاء للمضاربة على الأسعار المستقبلية. توجد بعض مجموعات البيانات المتاحة للجمهور عبر الإنترنت ، ولكن عادةً لا تحتوي هذه البيانات على الكثير من الميزات — عادةً ما تكون بيانات فاصل زمني لمدة يوم واحد أو بيانات فاصل ساعة واحدة أو بيانات فاصل زمني مدته دقيقة واحدة.
عادةً ما لا تكون مجموعات البيانات ذات الميزات الأكثر ثراءً وفي فترات زمنية أصغر متاحة للجمهور ويمكن أن يكون الحصول عليها مكلفًا للغاية. الفواصل الزمنية الأصغر تعني المزيد من بيانات السلاسل الزمنية في فترة محددة - في سنة واحدة هناك 365 (أو 366) يومًا ، لذلك هناك حد أقصى من 365 (أو 366) نقطة بيانات متاحة. يحتوي كل يوم على 24 ساعة ، لذلك في سنة واحدة هناك 8760 (أو 8784) نقطة بيانات متاحة كل يوم ، ولكل يوم 86400 دقيقة ، لذلك في سنة واحدة هناك 525600 (أو 527.040) نقطة بيانات متاحة.
مع المزيد من البيانات ، يتوفر المزيد من المعلومات ، ومع مزيد من المعلومات ، من الممكن التوصل إلى استنتاجات أفضل حول ما سيحدث في الفترة الزمنية القادمة - بافتراض ، بالطبع ، أن البيانات تتكون من ميزة جيدة بما يكفي للتعميم بشكل جيد. بيانات أسعار الأسهم للفترة 2007-2008 ، في ذروة الأزمة المالية العالمية ، منحازة وربما لا تكون ذات صلة بعمل تنبؤات الأسعار هذه الأيام. باستخدام فاصل زمني أصغر ، يكون من الأسهل التنبؤ بما سيحدث بعد ذلك بسبب وجود الكثير من نقاط البيانات في فترة زمنية ثابتة. من الأسهل التنبؤ بما سيحدث في النانو ثانية التالية إذا كان لدينا جميع نقاط البيانات لكل نانوثانية في فاصل زمني ثابت n
من العام مقارنة بما سيحدث في سوق الأوراق المالية العام المقبل إذا كان لدينا جميع نقاط البيانات n
لكل عام في فاصل زمني ثابت n
-year.
ومع ذلك ، هذا لا يعني أنه بافتراض صحة سلسلة سريعة من التنبؤات قصيرة المدى ، يجب أن يكون التنبؤ طويل المدى صحيحًا أيضًا. يقدم كل توقع خطأ ، ومن خلال تسلسل تنبؤات متعددة ، سيحتوي التنبؤ طويل المدى على قدر كبير من الخطأ في النهاية وسيكون عديم الفائدة. يوجد أدناه مثال على بيانات الفاصل الزمني ليوم واحد لمشاركات Google التي تم كشطها عبر الإنترنت من Yahoo Finance.
لا يوجد سوى عدد قليل من الأعمدة في مجموعة البيانات: التاريخ ، والفتح ، والأعلى ، والمنخفض ، والإغلاق - على التوالي ، السعر الذي يتم تداول الورقة المالية عنده لأول مرة عند افتتاح البورصة ، وهو أعلى سعر حققته الورقة المالية في يوم تداول معين ، وهو أقل سعر تم تحقيقه في يوم تداول معين ، والسعر النهائي الذي يتم تداول الورقة المالية به في ذلك اليوم.
عادة ، يوجد عمودين إضافيين في مجموعات البيانات هذه - الإغلاق والحجم المعدل ، لكنهما غير مناسبين هنا. الإغلاق المعدل هو سعر الإغلاق بعد التعديلات للتقسيمات وتوزيعات الأرباح المطبقة ، بينما الحجم هو عدد الأسهم المتداولة في السوق خلال فترة زمنية معينة.
يمكنك أن ترى أن بعض التواريخ مفقودة. هذه هي الأيام التي لا تعمل فيها البورصة ، عادةً خلال عطلات نهاية الأسبوع والأعياد. لغرض عرض خوارزمية التعلم العميق الخاصة بنا ، يتم استكمال الأيام المفقودة بالسعر المتاح سابقًا. على سبيل المثال ، أسعار إغلاق 2010-01-16 ، 2010-01-17 ، 2010-01-18 ستكون كلها 288.126007 لأن هذا ما كان عليه في 2010-01-15. من المهم لخوارزميتنا أن تكون البيانات خالية من الفجوات حتى لا نخلط بينها. يمكن أن تتعلم خوارزمية التعلم العميق من هنا عندما تكون عطلات نهاية الأسبوع والعطلات - على سبيل المثال ، ستتعلم أنه بعد خمسة أيام عمل ، يجب أن يكون هناك يومان بأسعار ثابتة من آخر يوم عمل.
هذا مخطط لتحركات أسعار أسهم Google منذ 2010-01-04. لاحظ أنه يتم استخدام أيام التداول فقط لرسم الرسم البياني.
ما هو التعلم العميق؟
يعد التعلم العميق جزءًا من التعلم الآلي ، وهو يعتمد على تمثيل بيانات التعلم. يفحص التعلم الآلي الخوارزميات التي لم تتم برمجة وظائفها ولكن تم تعلمها من البيانات. إنه في الأساس نهج للذكاء الاصطناعي.
تم تطبيق التعلم العميق في مجالات مختلفة: رؤية الكمبيوتر ، والتعرف على الكلام ، ومعالجة اللغة الطبيعية ، والترجمة الآلية - وفي بعض هذه المهام ، حقق أداءً متفوقًا على البشر.
الشبكة العصبية العميقة هي مركز التعلم العميق. المثال الأبسط والأساسي للشبكة العصبية العميقة هو الشبكة العصبية المغذية. يوجد أدناه صورة لشبكة عصبية موجّهة بسيطة. يتكون من طبقات الإدخال والإخراج والطبقات المخفية.
الطبقات المخفية عبارة عن طبقات بين طبقات الإدخال والإخراج. نقول أن الشبكة العصبية عميقة إذا كانت تحتوي على أكثر من طبقة مخفية. تتكون كل طبقة من أعداد مختلفة من الخلايا العصبية. تسمى الطبقات الموجودة في هذه الشبكة العصبية الأساسية الأمامية بالطبقات الخطية - الخلايا العصبية في الطبقة الخطية تضاعف فقط قيم 1-D (أو 2-D إذا تم إرسال البيانات عبر الشبكة على دفعات) مع الوزن المناسب ، مجموع المنتجات معًا ، و أعط النتيجة النهائية كناتج 1-D أو 2-D.
عادة ما يتم تطبيق وظيفة التنشيط في شبكات التغذية الأمامية لإدخال اللاخطية حتى تتمكن الشبكة من نمذجة مشاكل غير خطية أكثر تعقيدًا. في شبكات التغذية الأمامية ، تتدفق البيانات من طبقة الإدخال إلى طبقة الإخراج دون التكرار مرة أخرى. يتم ترجيح الروابط بين الخلايا العصبية. يجب تعديل الأوزان بحيث تقوم الشبكة العصبية بإرجاع المخرجات الصحيحة للمدخلات المحددة. تقوم شبكة feedforward بتعيين البيانات من مساحة الإدخال إلى مساحة الإخراج. تستخرج الطبقات المخفية ميزات مهمة وأكثر تجريدية من ميزات الطبقة السابقة.
خط أنابيب التعلم العميق العام هو نفسه خط أنابيب التعلم الآلي ويتكون من الخطوات التالية:
- جمع البيانات. يتم فصل البيانات إلى ثلاثة أجزاء - بيانات التدريب وبيانات التحقق من الصحة وبيانات الاختبار.
- تدريب DNN باستخدام بيانات التدريب على عدد من "الفترات" (يتكون كل منها من عدد من التكرارات) والتحقق من الصحة بعد كل فترة باستخدام بيانات التحقق من الصحة.
- اختبار النموذج (مثيل واحد لشبكة عصبية ذات معلمات ثابتة) بعد تسلسل جلسات التدريب وعمليات التحقق من الصحة.
يعني تدريب الشبكة العصبية في الواقع ضبط الأوزان بين أزواج الخلايا العصبية عن طريق تقليل وظيفة الخسارة باستخدام خوارزمية الانتشار العكسي في تركيبة مع نزول التدرج العشوائي. باستثناء الأوزان التي يتم تحديدها من خلال عملية التعلم ، تتطلب خوارزميات التعلم العميق عادةً إعداد المعلمات الفائقة - المعلمات التي لم يتم تعلمها ولكنها ثابتة قبل التعلم. المعلمات التشعبية هي عدد الطبقات وعدد الخلايا العصبية في الطبقات وأنواع الطبقات وأنواع الخلايا العصبية وتهيئة الوزن.
توجد قيود على الأجهزة في إعداد المعلمات التشعبية ؛ حاليًا ، ليس من الممكن فعليًا تعيين تريليون من الخلايا العصبية على وحدة معالجة رسومات واحدة. المشكلة الثانية للبحث الشامل عن المعلمات الفائقة هي الانفجار الاندماجي. لا يمكن البحث في جميع التركيبات الممكنة للمعلمات الفائقة لأن الأمر سيستغرق وقتًا غير محدود. لهذا السبب ، يتم تعيين المعلمات الفائقة عشوائيًا أو باستخدام بعض الأساليب التجريبية والأمثلة المعروفة الموضحة في الأوراق العلمية - أحد المعلمات الفائقة المستخدمة لتحليل البيانات المالية الموضحة لاحقًا في منشور المدونة هذا هو استخدام الخلايا العصبية المتكررة ، كعلماء ومهندسين أثبتت أنها تعمل بشكل جيد مع بيانات السلاسل الزمنية. عادةً ما تكون التجارب هي أفضل طريقة لمعرفة ما إذا كانت المعلمات الفائقة لمشكلة معينة جيدة أم لا.
الهدف من التدريب هو جعل الشبكات العصبية مناسبة لبيانات التدريب. يتم إجراء كل من التحقق من صحة النموذج ، والذي يتم إجراؤه بعد كل خطوة تدريب ، واختبار النموذج ، الذي يتم بعد إجراء التدريب بالكامل ، لمعرفة ما إذا كان يمكن للنموذج التعميم بشكل جيد. يعني التعميم أن الشبكة العصبية يمكنها عمل تنبؤات جيدة بشأن البيانات الجديدة غير المرئية.
هناك نوعان من المصطلحات الهامة المتعلقة باختيار النموذج: overfitting و underfitting . إذا كانت الشبكة العصبية معقدة للغاية فيما يتعلق بالبيانات التي يتم التدريب عليها - إذا كانت تحتوي على عدد كبير جدًا من المعلمات (طبقات كثيرة جدًا ، و / أو عدد كبير جدًا من الخلايا العصبية في الطبقات) - يمكن للشبكة العصبية أن تزيد من حجم البيانات. يمكن أن تتكيف مع بيانات التدريب جيدًا لأنها تتمتع بسعة أكثر من كافية لتلائم جميع البيانات ، ولكن أداء مجموعات التحقق والاختبار سيكون ضعيفًا.

إذا كانت الشبكة العصبية بسيطة للغاية فيما يتعلق بالبيانات التي يتم التدريب عليها ، يمكن للشبكة العصبية أن تتناسب مع البيانات. في هذه الحالة ، يكون أداء الشبكة العصبية ضعيفًا في التدريب والتحقق من الصحة ومجموعات الاختبار لأن قدرتها ليست جيدة بما يكفي لملاءمة بيانات التدريب والتعميم. في الصورة أدناه ، تم شرح هذه المصطلحات بيانياً. يمثل الخط الأزرق ما تصممه الشبكة العصبية. تُظهر الصورة الأولى الموقف عندما يكون هناك عدد قليل من معلمات الشبكة العصبية ، وهي غير كافية لملاءمة بيانات التدريب والتعميم. تُظهر الصورة الثانية الموقف عندما يكون هناك العدد الأمثل للمعلمات ويمكن للشبكة العصبية التعميم جيدًا على البيانات غير المرئية ، وتوضح الصورة الثالثة الموقف عندما يكون عدد معلمات الشبكة العصبية كبيرًا جدًا ويمكن للشبكة العصبية تمامًا تناسب جميع البيانات من مجموعة التدريب ، ولكن أداءها ضعيف في التحقق من الصحة ومجموعات الاختبار.
الشبكات العصبية المتكررة
النسخة الأكثر تعقيدًا من الشبكة العصبية هي الشبكة العصبية المتكررة. في الشبكات العصبية المتكررة ، يمكن أن تتدفق البيانات في أي اتجاه ، على عكس الشبكات العصبية المغذية. يمكنهم تعلم تبعيات السلاسل الزمنية بشكل جيد. تظهر بنية الشبكة العصبية العامة المتكررة في الصورة أدناه.
يظهر على الصورة أدناه خلية عصبية واحدة متكررة. يستغرق X_{t}
، نقطة في الوقت t
، كمدخل h_{t}
، الحالة المخفية في الوقت t
، كمخرج. يتم نشر المخرجات المخفية مرة أخرى إلى الخلايا العصبية. يمكن فتح الخلايا العصبية المتكررة كما تظهر على نفس الصورة من الجانب الأيمن. X_{t_0}
هي نقطة في الفترة الزمنية t_{0}
، X_{t_1}
في الفترة الزمنية t_{1}
، و X_{t}
في الفترة الزمنية t
. المخرجات التي تم الحصول عليها باستخدام المدخلات X_{t_0}
، X_{t_1}
،…، X_{t_n}
في فترات زمنية t_{0}
، t_{1}
،…، t_{n}
تسمى المخرجات المخفية: h_{t_0}
، h_{t_1}
،…، h_{t_n}
على التوالي.
واحدة من أفضل بنيات الشبكات العصبية المتكررة هي معمارية LSTM. يظهر LSTM أدناه:
تمتلك LSTMs نفس البنية العامة للشبكات العصبية المتكررة العامة ، لكن الخلايا العصبية المتكررة مختلفة قليلاً مع بنية أكثر تعقيدًا. يمكن أن نرى من الصورة أعلاه أن الكثير من الحسابات تتم داخل خلية LSTM واحدة. يمكن ملاحظة خلايا LSTM كصندوق أسود في سياق هذا المنشور ، ولكن بالنسبة للقراء الأكثر فضوليًا ، تشرح هذه المدونة الرائعة العمليات الحسابية داخل LSTMs وغير ذلك الكثير.
دعونا نسمي مدخلات الشبكة العصبية "متجه الميزة". وهو متجه ذو أبعاد n
عناصره هي: f_{0}
، f_{1}
، f_{2}
…، f_{n}
.
\vv{X} = [f_{0}, f_{1}, f_{2}, …, f_{n}]
الآن ، دعنا نشرح كيف يمكن تطبيق الشبكات العصبية المتكررة على مهمة متعلقة بالتمويل. المدخلات للشبكة العصبية المتكررة هي [X_{t_0}, X_{t_1}, X_{t_2}, …, X_{t_n}]
. لنفترض أن n = 5
. نأخذ خمسة أسعار سهم لإغلاق Google من خمسة أيام متتالية (انظر الجدول الذي يحتوي على بيانات الفتح / الارتفاع / الانخفاض / الإغلاق أعلاه) بين ، لنفترض ، 2010-01-04 و 2010-01-08 ، أي [[311.35], [309.98], [302.16], [295.13], [299.06]]
. متجه الميزة في هذا المثال أحادي البعد. يتكون التسلسل الزمني من خمسة نواقل للميزات. مخرجات الشبكة العصبية المتكررة هي ميزات مخفية [h_{t_0}, h_{t_1}, h_{t_2}, …, h_{t_n}]
. هذه الميزات في مستوى أكثر تجريدية من ميزات الإدخال [X_{t_0}, X_{t_1}, X_{t_2}, …, X_{t_n}]
- يجب أن يتعلم LSTM الأجزاء المهمة من ميزات الإدخال ويعرضها على مساحة الميزات المخفية. يمكن نشر هذه الميزات المخفية والمجردة في خلية LSTM التالية ، والتي ستوفر المجموعة التالية من الميزات المخفية الأكثر تجريدًا والتي يمكن بعد ذلك نشرها مرة أخرى إلى LSTM التالي ، وهكذا. بعد تسلسل LSTMs المتسلسلة ، يكون المكون الأخير للشبكة العصبية هو الطبقة الخطية (الجزء المبني من شبكة التغذية الأمامية البسيطة الموضحة في القسم السابق) التي تحدد الميزات المخفية من LSTM الأخير إلى النقطة في مساحة ذات بعد واحد ، و هذه النقطة هي الناتج النهائي للشبكة — سعر الإغلاق المتوقع في الفترة الزمنية X_{t+1}
. الحقيقة الأساسية في هذا المثال لـ X_{t+1}
هي 298.61
.
ملاحظة: يمكن أن يكون هناك أيضًا عدد قليل من LSTM واحد — تعيين عدد LSTMs هو معلمة مفرطة ، والتي توجد بشكل عام تجريبيًا ، على الرغم من أنه يمكننا استخدام بعض الأساليب التجريبية. إذا لم تكن البيانات معقدة للغاية ، فإننا نستخدم بنية أقل تعقيدًا بحيث لا يتسع النموذج للبيانات. إذا كانت البيانات معقدة ، فإننا نستخدم نموذجًا معقدًا بحيث لا يتناسب النموذج مع البيانات.
في مرحلة التدريب ، تتم مقارنة أسعار الإغلاق المتوقعة مع أسعار الحقيقة الأساسية ، ويتم تقليل الفرق بين أسعار الإغلاق المتوقعة وأسعار الحقيقة الأساسية باستخدام خوارزمية النشر العكسي وخوارزمية تحسين النسب المتدرج (أو أحد أشكالها - بشكل ملموس ، في هذا blog ، يتم استخدام ما يسمى بإصدار "Adam" من خوارزمية تحسين النسب المتدرجة) عن طريق تغيير أوزان الشبكة العصبية.
بعد التدريب والاختبار ، في المستقبل ، يحتاج المستخدم فقط إلى تقديم بيانات الإدخال إلى الشبكة العصبية وسيعيد السعر المتوقع (ونأمل أن يكون السعر قريبًا جدًا من سعر الحقيقة الأساسي من المستقبل).
هناك شيء آخر يجب ذكره هنا وهو أنه ، عادةً ، يتم إرسال دفعات من البيانات عبر الشبكة ، سواء في التدريب في مراحل الاختبار ، حتى تتمكن الشبكة من حساب مخرجات متعددة في مسار واحد فقط.
يوجد أدناه صورة معمارية مستخدمة في هذه المدونة لإجراء التجارب. يتكون من وحدتي LSTM مكدستين وطبقة خطية واحدة.
تجارب مع خوارزميات صندوق التحوط
حاول استخدام استراتيجيات التداول الخوارزمية بهذه البساطة ، على النحو التالي: إذا توقعت الخوارزمية أن السعر سيرتفع في اليوم التالي ، فقم بشراء n
( n = 1
في هذا المثال) من أسهم شركة (طويلة) ، وإلا قم ببيع جميع أسهم a شركة (قصيرة). تم تعيين القيمة الأولية للمحفظة (قيمة النقد والأسهم مجتمعة) لتكون 100،000 دولار. n
كل إجراء طويل أو قصير عددًا من أسهم شركة (Google ، في هذا المثال) أو بيع جميع أسهم الشركة ، على التوالي. في البداية ، يمتلك النظام 0 سهم من شركة معينة.
تذكر دائمًا أن هذا مثال أساسي وبسيط للغاية ، وليس مخصصًا للاستخدام في العالم الحقيقي ، حيث ستكون هناك حاجة إلى المزيد من أعمال البحث والتطوير لتعديل النموذج للعمل بشكل جيد في الممارسة. يتم إهمال بعض الأشياء هنا والتي يجب أخذها في الاعتبار في سيناريو العالم الحقيقي ؛ على سبيل المثال ، لا يتم دمج رسوم المعاملات في النموذج. من المفترض أن النظام يمكنه التداول في نفس الوقت بالضبط كل يوم ، ومن المفترض أن كل يوم ، حتى في عطلة نهاية الأسبوع أو العطلة ، هو يوم تداول.
للاختبار ، يتم استخدام طريقة الاختبار العكسي. تستخدم طريقة الاختبار العكسي البيانات التاريخية لإعادة بناء التداولات التي كانت ستحدث في الماضي باستخدام القواعد المحددة مع الإستراتيجية التي تم تطويرها. يتم تقسيم مجموعة البيانات إلى جزأين - الجزء الأول هو مجموعة التدريب (الماضي) والجزء الثاني هو مجموعة الاختبار (المستقبل). يتم تدريب النموذج على مجموعة تدريب ، وبعد التدريب ، نقوم بمحاكاة المستقبل في الجزء الثاني من مجموعة البيانات لنرى كيف سيتصرف النموذج المدرب في المستقبل دون أن يتم التدريب عليه.
المقياس لتقييم استراتيجية التداول هو نسبة شارب (نسختها السنوية ، بافتراض أن جميع أيام السنة هي أيام تداول ، والسنة بها 365 يومًا: sqrt(365)*mean(returns)/std(returns))
، حيث يتم تعريف العائد على أنه p_{t}/p_{t-1} - 1
، و p_{t}
هو السعر في الفترة الزمنية t
. توضح نسبة شارب النسبة بين العائدات والمخاطر الإضافية التي يتم تكبدها ، لذلك من الجيد أن يكون لديك نسبة شارب أكبر. عادة ، النسبة الأكبر من 1 مقبولة من قبل المستثمرين ، و 2 جيدة جدا ، و 3 ممتازة.
يتم استخدام سعر الإغلاق فقط كل يوم ، من أسعار Google التاريخية من مجموعة بيانات Yahoo Finance ، كميزة. ستساعد المزيد من الميزات ، ولكن من خارج نطاق هذه المدونة اختبار الميزات الأخرى من مجموعة البيانات (مفتوحة ، مرتفعة ، منخفضة) مهمة. قد تكون بعض الميزات الأخرى غير المدرجة في الجدول مفيدة أيضًا - على سبيل المثال ، الشعور العام للأخبار في دقيقة معينة أو الأحداث المهمة في يوم معين. ومع ذلك ، من الصعب جدًا في بعض الأحيان تقديم عروض بيانات مفيدة لإدخال الشبكة العصبية ودمجها مع الميزات الموجودة. على سبيل المثال ، من السهل تمديد متجه الميزة ووضع رقم يمثل المشاعر الإخبارية أو مشاعر تغريد ترامب ( -1
سلبي جدًا ، 0
محايد ، +1
إيجابي جدًا ، إلخ) لكل فترة زمنية معينة ، لكنه ليس كذلك من السهل جدًا وضع لحظات معينة مدفوعة بالحدث (قراصنة في قناة السويس ، قنبلة في مصفاة في تكساس) في ناقل الميزات لأنه ، لكل لحظة محددة ، سنحتاج إلى عنصر إضافي في متجه الميزة لوضع 1
إذا حدث الحدث 0
أو غير ذلك ، مما سيؤدي إلى عدد لا حصر له من العناصر لجميع اللحظات الممكنة.
بالنسبة لتلك البيانات الأكثر صعوبة ، يمكننا تحديد بعض الفئات ، وفي كل لحظة ، تحديد الفئة التي تنتمي إليها. يمكننا أيضًا إضافة ميزات من أسهم الشركات الأخرى لنظام لمعرفة الارتباط بين أسعار أسهم الشركات المختلفة. أيضًا ، هناك نوع من الشبكات العصبية المتخصصة في رؤية الكمبيوتر - الشبكات العصبية التلافيفية - والتي سيكون من المثير للاهتمام دمجها مع الطبقات المتكررة ومعرفة كيفية ارتباط الميزات المرئية بأسعار بعض الشركات. ربما يمكننا استخدام موجز الكاميرا من محطة قطار مزدحمة كميزة وإرفاق تلك التغذية بشبكة عصبية ومعرفة ما إذا كان ما تراه الشبكة العصبية مرتبطًا بأسعار أسهم بعض الشركات - قد يكون هناك بعض المعرفة المخفية حتى في ذلك مثال تافه وعبثي.
يوجد أدناه رسم بياني يوضح كيف يتناقص متوسط فقدان التدريب بمرور الوقت ، مما يعني أن الشبكة العصبية لديها قدرة كافية لتناسب بيانات التدريب. من المهم أن نقول إن البيانات بحاجة إلى التطبيع حتى تتقارب خوارزمية التعلم العميق.
يوجد أدناه رسم بياني يوضح كيف يتناقص متوسط فقدان الاختبار بمرور الوقت ، مما يعني أن الشبكة العصبية لديها القدرة على التعميم على البيانات غير المرئية.
الخوارزمية جشعة. إذا توقعت أن السعر سيرتفع في اليوم التالي ، فإن الخوارزمية تشتري على الفور n=1
سهم من الشركة (إذا كان هناك نقود كافية في المحفظة) ، وبخلاف ذلك ، تبيع جميع أسهم الشركة (إذا كان لديها أي سهم ). فترة الاستثمار ثابتة وتستغرق 300 يوم. بعد 300 يوم ، تم بيع جميع الأسهم. يمكن رؤية محاكاة البيانات غير المرئية ، بعد بعض التدريب ، أدناه. يتضح كيف تزداد قيمة المحفظة بمرور الوقت من خلال إجراءات طويلة / قصيرة (أو لا تفعل شيئًا) كل يوم.
نسبة شارب للمحاكاة أعلاه 1.48. قيمة المحفظة النهائية بعد 300 يوم هي 100263.79 دولار. إذا اشترينا للتو أسهمًا في اليوم الأول وقمنا ببيعها بعد 300 يوم ، فستكون قيمة المحفظة 99988.41 دولارًا.
الموضح أدناه هو حالة لا يتم فيها تدريب الشبكة العصبية جيدًا وتخسر المال بعد فترة محددة من 300 يوم.
نسبة شارب -0.94. القيمة النهائية للمحفظة بعد 300 يوم هي 99،868.36 دولار.
هذا مثال مثير للاهتمام - الخوارزمية أعلاه جشعة وتتوقع السعر لليوم التالي فقط ، وتتخذ الإجراءات بناءً على هذا التوقع وحده. من الممكن إجراء سلسلة من التنبؤات والتنبؤ بالسعر في الخطوات القليلة التالية في المستقبل. على سبيل المثال ، مع الإدخال الأول لـ [X_ground_truth_{t0}, X_ground_truth_{t1}, X_ground_truth_{t2}, X_ground_truth_{t3}, X_ground_truth_{t4}]
والمخرج الأول [X_predicted_{t5}]
، يمكننا إطعام الشبكة العصبية مع هذا التنبؤ بحيث يكون الإدخال التالي [X_ground_truth_{t1}, X_ground_truth_{t2}, X_ground_truth_{t3}, X_ground_truth_{t4}, X_predicted_{t5}]
والإخراج [X_predicted_{t6}]
. الإدخال التالي من هناك هو [X_ground_truth_{t2}, X_ground_truth_{t3}, X_ground_truth_{t4}, X_predicted_{t5}, X_predicted_{t6}]
والذي ينتج عنه [X_predicted_{t7}]
وهكذا. تكمن المشكلة هنا في أننا نقدم خطأ تنبؤًا يزداد مع كل خطوة جديدة وينتهي في النهاية بنتيجة سيئة للغاية على المدى الطويل ، كما هو موضح في الصورة أدناه. التنبؤ في البداية يتبع الاتجاه التنازلي لحقيقة الأرض ثم يركد ويصبح أسوأ وأسوأ بمرور الوقت.
تم إجراء تحليل تعليمي عميق بسيط للغاية على أسعار أسهم Google ، ولكن يمكنه دمج أي مجموعة من البيانات المالية تقريبًا ، بشرط أن تكون كمية البيانات كبيرة بدرجة كافية وذات جودة جيدة. يجب أن تكون البيانات تمييزية ويجب أن تصف المشكلة وتمثلها جيدًا.
تغليف
إذا نجح هذا النظام وعمم جيدًا في اختبارات مكثفة ، فقد يسمح لمديري صناديق التحوط بالتكهن بالأسعار المستقبلية لأسهم الشركة باستخدام التعلم العميق والاعتماد على استراتيجيات التداول الخوارزمية.
يمكن لمديري صناديق التحوط منح النظام مبلغًا من المال للتداول تلقائيًا كل يوم. ومع ذلك ، سيكون من السيئ للغاية السماح لخوارزميات التداول الآلي بالتداول دون أي إشراف. يجب أن يكون لدى مدير صندوق التحوط بعض مهارات التعلم العميق أو توظيف شخص لديه المهارات اللازمة للإشراف على النظام وتحديد متى فقد النظام القدرة على التعميم والتداول بشكل جيد.
If the system lost the ability to generalize, then it would be necessary to retrain it from the beginning and test it again (maybe by introducing more discriminative features or new knowledge—using new data from the past that didn't exist when the model was first trained).
Sometimes, the data is simply not good enough for the deep learning system to be trained and generalize well and, in that case, an experienced deep learning engineer should be able to detect and rectify such a situation. To build a deep learning trading system, you need hedge funds data scientists, machine learning/deep learning experts (both scientists and engineers), R&D engineers familiar with machine learning/deep learning, etc. No matter which part of an application of machine learning they are familiar with, whether it's computer vision or speech recognition, seasoned professionals will be able to put their experience to good use in the financial sector. At its root, deep learning has the same basics regardless of application or industry, and it should be easy for someone experienced to switch from theme to theme.
The system we presented is very basic and, to be applied in the real world, more R&D should be done in order to increase the returns. Possible improvements of the system could be in developing better trading strategies. Collecting more data for training, which is usually very expensive, will help. A smaller time interval between the points is better. Improvements can also surface in using more features (eg, news sentiments or important happenings corresponding to each point in the dataset, despite being hard to code for a neural network) and extensive grid search for hyperparameters and RNN architecture discovery.
Also, more computing power (powerful GPUs are a must) is needed to make a lot of extensive experiments in parallel and to process a large amount of data, provided that a large amount of data is collected.
References:
- https://www.datacamp.com/community/tutorials/finance-python-trading
- http://colah.github.io/posts/2015-08-Understanding-LSTMs/
- https://en.wikipedia.org
- https://www.investopedia.com/
- https://finance.yahoo.com/
- http://pytorch.org/
Author's Note: I would like to thank Ivan Capalija and Matej Paradzik for the constructive conversations and advice about deep learning in finance, which helped me in writing this blog.