الفوركس دعم ناقلات الجهاز


تعلم الآلة: كيف يمكن دعم آلات المتجهات يمكن استخدامها في التداول.


ما هي آلة دعم ناقلات؟


جهاز ناقل الدعم هو وسيلة للتعلم الآلي الذي يحاول أخذ بيانات المدخلات وتصنيفها في واحدة من فئتين. ولكي تكون آلة ناقل الدعم فعالة، من الضروري استخدام مجموعة من بيانات المدخلات والمخرجات التدريبية لبناء نموذج جهاز ناقل الحركة الذي يمكن استخدامه لتصنيف البيانات الجديدة.


وتطور آلة ناقلات الدعم هذا النموذج من خلال أخذ مدخلات التدريب، ورسم الخرائط في حيز متعدد الأبعاد، ثم استخدام الانحدار للعثور على مفرط (وهي عبارة عن سطح في مساحة ن الأبعاد، تفصل بين الفضاءين إلى نصف المسافات) التي تفصل أفضل والفئتين من المدخلات. مرة واحدة وقد تم تدريب آلة ناقلات الدعم، وأنها قادرة على تقييم المدخلات الجديدة فيما يتعلق مفرطة فصل وتصنيفها في واحدة من الفئتين.


آلة ناقل الدعم هي في الأساس آلة الإدخال / الإخراج. يمكن للمستخدم أن يضع في المدخلات، واستنادا إلى نموذج وضعت من خلال التدريب، فإنه سيعود الناتج. عدد المدخلات لأي جهاز ناقل دعم معين يتراوح نظريا من واحد إلى ما لا نهاية، ولكن من الناحية العملية قوة الحوسبة لا تحد من عدد المدخلات يمكن استخدامها. على سبيل المثال، يتم استخدام المدخلات N لجهاز متجه دعم معين (القيمة الصحيحة لل N يمكن أن تتراوح من واحد إلى ما لا نهاية)، يجب على جهاز ناقل الدعم تعيين كل مجموعة من المدخلات في الفضاء N الأبعاد، والعثور على (N-1 ) - dimensional هيبيربلان أن أفضل يفصل البيانات التدريب.


الشكل 1. دعم آلات المتجهات هي آلات الإدخال / الإخراج.


أفضل طريقة لتصور كيف تعمل آلة دعم ناقلات هو النظر في حالة ثنائية الأبعاد. نفترض أننا نريد إنشاء جهاز ناقل الدعم الذي يحتوي على اثنين من المدخلات ويعود إخراج واحد الذي يصنف نقطة البيانات كما تنتمي إلى واحدة من فئتين. يمكننا تصور هذا عن طريق التآمر على الرسم البياني 2-الأبعاد مثل الرسم البياني أدناه.


الشكل 2. اليسار: دعم ناقلات الجهاز ناقلات تعيينها إلى الرسم البياني 2D. وتستخدم الدوائر الحمراء والصلبان الزرقاء للدلالة على فئتي المدخلات.


الشكل 3. الحق: دعم المدخلات آلة ناقلات تعيينها إلى الرسم البياني 2D. وتستخدم الدوائر الحمراء والصلبان الزرقاء للدلالة على فئتين من المدخلات مع خط أسود يشير إلى فصل مفرط.


في هذا المثال، تشير المعابر الزرقاء إلى نقاط البيانات التي تنتمي إلى الفئة 1 والدوائر الحمراء التي تمثل نقاط البيانات التي تنتمي إلى الفئة 2. كل نقطة من نقاط البيانات الفردية لها قيمة مدخلات فريدة من نوعها 1 (ممثلة بموقفها على المحور س ) وقيمة إدخال 2 فريدة (ممثلة بموقفها على المحور الصادي) وقد تم تعيين كل هذه النقاط إلى الفضاء ثنائي الأبعاد.


آلة ناقلات الدعم قادرة على تصنيف البيانات عن طريق إنشاء نموذج من هذه النقاط في 2 الفضاء الأبعاد. آلة ناقلات الدعم مراقبة البيانات في الفضاء 2 الأبعاد، ويستخدم خوارزمية الانحدار للعثور على 1 هيبيربلان الأبعاد (ويعرف أيضا باسم الخط) التي تفصل أكثر دقة البيانات إلى فئتين. ثم يتم استخدام خط الفصل هذا بواسطة جهاز ناقل الدعم لتصنيف نقاط البيانات الجديدة إلى الفئة 1 أو الفئة 2.


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


الشكل 4. الرسوم المتحركة تظهر تدريب جهاز ناقل الدعم. وتتقارب الطفرة تدريجيا مع الهندسة المثالية لفصل فئتي البيانات.


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


النظر في هذا، كنت ترغب في إنشاء دعم ناقلات الجهاز الذي يأخذ 20 المدخلات ويمكن تصنيف أي نقطة البيانات باستخدام هذه المدخلات في أي فئة 1 أو الفئة 2. من أجل القيام بذلك، تحتاج آلة ناقلات الدعم لنموذج البيانات في 20 الفضاء الأبعاد واستخدام خوارزمية الانحدار للعثور على 19 هيبيربلان الأبعاد التي تفصل نقاط البيانات إلى فئتين. هذا يصعب من الصعب تصور كما أنه من الصعب بالنسبة لنا أن نفهم أي شيء فوق 3 أبعاد، ولكن كل ما تحتاج إلى معرفته هو أن يعمل بنفس الطريقة تماما كما يفعل لحالة 2 الأبعاد.


كيف "دعم ناقلات آلات العمل"؟ مثال: هل هو سنيك؟


تخيل هذا السيناريو الافتراضي، كنت باحثا التحقيق في حيوان نادر فقط وجدت في أعماق القطب الشمالي دعا شنيكس. وبالنظر إلى بعد هذه الحيوانات، لم يتم العثور سوى حفنة صغيرة من أي وقت مضى (دعونا نقول حوالي 5000). كباحث، كنت عالقة مع هذا السؤال. كيف يمكنني تحديد سنيك؟


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


كيف يمكننا استخدام هذه البيانات للتعرف على حيوان جديد باعتباره سنيك؟


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


ولذلك، يجب أن نقرر ما هي المدخلات التي سيتم استخدامها وكم. نظريا، يمكن أن يكون لدينا العديد من المدخلات كما نريد، ولكن هذا يمكن أن يؤدي في كثير من الأحيان إلى التدريب بطيئة (والمزيد من المدخلات لديك المزيد من الوقت يستغرق جهاز ناقلات الدعم لاستخراج أنماط). أيضا، كنت ترغب في اختيار المدخلات القيم التي تميل إلى أن تكون متسقة نسبيا عبر جميع شنيكس. على سبيل المثال، ارتفاع أو وزن الحيوان سيكون مثالا جيدا على المدخلات لأنك تتوقع أن هذا سيكون متسقا نسبيا في جميع سشنيكس. ومع ذلك، فإن متوسط ​​عمر الحيوان سيكون خيارا ضعيفا من المدخلات لأنك تتوقع سن الحيوانات التي تم تحديدها من شأنها أن تختلف اختلافا كبيرا.


ولهذا السبب، تم اختيار المدخلات التالية:


ارتفاع الوزن عدد الساقين عدد العيون طول الذراع الحيوان متوسط ​​سرعة الحيوانات تردد الحيوانات الدعوة التزاوج.


مع المدخلات المختارة، يمكننا أن نبدأ في تجميع بيانات التدريب لدينا. يجب أن تستوفي بيانات التدريب الفعالة لآلة ناقلات الدعم متطلبات معينة:


يجب أن يكون البيانات أمثلة من الحيوانات التي هي سنيكس يجب أن يكون البيانات أمثلة من الحيوانات التي ليست سنيكس.


في هذه الحالة لدينا أوراق بحثية من العلماء التي حددت بنجاح سنيك و سرد خصائصها. لذلك يمكننا قراءة هذه الأوراق البحثية واستخراج البيانات تحت كل من المدخلات وتخصيص مخرجات صحيحة أو خاطئة لكل من الأمثلة. قد تبدو بيانات التدريب في هذه الحالة مشابهة للجدول أدناه.


الجدول 1. مثال لجدول الملاحظات.


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


هل آلة دعم الدعم في الواقع العمل؟


وباستخدام سينيك سنيك، قمت بكتابة نص برمجي يختبر مدى قدرة جهاز متجه الدعم على التعرف على سنيكس جديدة. للقيام بذلك، لقد استخدمت "دعم ناقلات آلة التعلم أداة" مكتبة مكتبة التي يمكن تحميلها من السوق.


لنموذج هذا السيناريو بشكل فعال، نحن بحاجة إلى أن تقرر أولا ما هي الخصائص الفعلية لل سنيك. وقد تم إدراج الخصائص التي افترضتها في هذه الحالة في الجدول أدناه. إذا كان الحيوان يفي بجميع المعايير أدناه، فإنه هو سنيك.


الجدول 2. ملخص المعلمات التي تحدد سنيك.


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


الخطوة التالية في العملية هي إنشاء وظيفة يمكن أن تولد المدخلات والمخرجات التدريبية. سيتم إنشاء الإدخالات في هذه الحالة بإنشاء أرقام عشوائية ضمن نطاق محدد لكل من قيم الإدخال السبعة. ثم لكل من مجموعات من المدخلات العشوائية ولدت، سيتم استخدام الدالة إسيتاسشنيك () أعلاه لتوليد الناتج المطلوب المقابلة. ويتم ذلك في الوظيفة التالية:


لدينا الآن مجموعة من المدخلات والمخرجات التدريب، فقد حان الوقت الآن لإنشاء آلات ناقلات الدعم باستخدام "دعم ناقلات آلة التعلم أداة" المتاحة في السوق. مرة واحدة يتم إنشاء جهاز ناقل دعم جديد، فمن الضروري لتمرير مدخلات التدريب والمخرجات له وتنفيذ التدريب.


لدينا الآن آلة ناقلات الدعم التي تم تدريبها بنجاح في تحديد سنيكس. للتحقق من ذلك، يمكننا اختبار جهاز ناقل الدعم النهائي عن طريق طرحه لتصنيف نقاط بيانات جديدة. ويتم ذلك من خلال توليد المدخلات العشوائية أولا، ثم استخدام الدالة إسيتاسشنيك () لتحديد ما إذا كانت هذه المدخلات تتوافق مع سنيك الفعلي، ثم استخدام آلة ناقلات الدعم لتصنيف المدخلات وتحديد ما إذا كانت النتيجة المتوقعة تتطابق مع النتيجة الفعلية. ويتم ذلك في الوظيفة التالية:


أوصي اللعب مع القيم ضمن الوظائف المذكورة أعلاه لنرى كيف أداء ناقلات الدعم أداء في ظل ظروف مختلفة.


لماذا هو دعم ناقلات آلة مفيدة جدا؟


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


واحدة من أفضل ميزات آلات ناقلات الدعم هي أنها قادرة على التعامل مع الأخطاء والضوضاء في البيانات بشكل جيد للغاية. وغالبا ما تكون قادرة على رؤية النمط الأساسي داخل البيانات وتصفية القيم المتطرفة البيانات والتعقيدات الأخرى. النظر في السيناريو التالي، في إجراء البحوث الخاصة بك على سنيكس، كنت تأتي عبر العديد من الأبحاث التي تصف سنيكس مع خصائص مختلفة بشكل كبير (مثل سنيك الذي هو 200kg و 15000mm طويل القامة).


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


في حالة سنيك آلة ناقلات الدعم، إذا سمحنا تحمل الخطأ من 5٪، ثم التدريب سوف تحاول فقط لتطوير نموذج يتفق مع 95٪ من بيانات التدريب. وهذا يمكن أن يكون مفيدا لأنه يسمح للتدريب لتجاهل النسبة المئوية الصغيرة من القيم المتطرفة.


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


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


عند تشغيل البرنامج النصي، ينتج النتائج التالية في سجل الخبراء. ضمن مجموعة بيانات التدريب مع 5000 نقطة التدريب، كنا قادرين على إدخال 500 أخطاء عشوائية. عند مقارنة أداء هذا الخطأ شغل آلة ناقلات الدعم مع واحد الأصلي، يتم تقليل الأداء فقط من قبل & لوت؛ 1٪. وذلك لأن آلة ناقل الدعم قادرة على التغاضي عن القيم المتطرفة في مجموعة البيانات عند التدريب ولا تزال قادرة على إنتاج نموذج دقيق لافت للنظر من البيانات الحقيقية. ويشير هذا إلى أن آلات ناقلات الدعم يمكن أن تكون أداة أكثر فائدة في استخراج الأنماط المعقدة والأفكار من مجموعات البيانات الصاخبة.


الشكل 5. سجل الخبير الناتج بعد تشغيل السيناريو "سنيك" في ميتاتريدر 5.


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


النسخة الكاملة - استخدام البرنامج النصي الذي تم نشره في محطة ميتاتريدر 5 (يتطلب نسخة مشتراة من أداة دعم أداة ناقلات الدعم)


الإصدار التجريبي - استخدام مستشار الخبراء التي يتم نشرها في اختبار ميتاتريدر 5 استراتيجية (يتطلب فقط نسخة تجريبية من أداة دعم ناقلات الدعم أداة)


كيف يمكن دعم آلات المتجهات أن تستخدم في السوق؟


ومن المسلم به أن مثال سنيك الذي نوقش أعلاه بسيط جدا، ولكن هناك بعض أوجه الشبه التي يمكن استخلاصها بين هذا المثال واستخدام أجهزة ناقل الدعم لتحليل السوق التقنية.


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


وأساس عدد كبير من نهج التداول في التحليل التقني ينطوي على الخطوات التالية:


رصد عدة مؤشرات تحديد ما هي الشروط لكل مؤشر يرتبط مع احتمال التجارة الناجحة مشاهدة كل من المؤشرات وتقييم متى جميع (أو أكثر) مما يشير إلى التجارة.


ومن الممكن اعتماد نهج مماثل لاستخدام آلات ناقلات الدعم للإشارة إلى الصفقات الجديدة بطريقة مماثلة. وقد تم تطوير أداة التعلم آلة ناقلات الدعم مع هذا في الاعتبار. وصف كامل لكيفية استخدام هذه الأداة يمكن العثور عليها في السوق، ولذا فإنني سوف تعطي فقط لمحة سريعة. عملية استخدام هذه الأداة هي كما يلي:


الشكل 6. مخطط الرسم البياني يوضح عملية تنفيذ أداة دعم ناقلات الدعم في أحد مستشاري الخبراء.


قبل أن تتمكن من استخدام أداة دعم آلة ناقلات الدعم، من المهم أن نفهم أولا كيف يتم توليد مدخلات التدريب والمخرجات.


كيف يتم توليد مدخلات التدريب؟


لذا، تم بالفعل تهيئة المؤشرات التي تريد استخدامها كمدخلات بالإضافة إلى جهاز ناقل الحركة الجديد. الخطوة التالية هي تمرير مقابض المؤشر إلى جهاز ناقل الدعم الجديد الخاص بك وإرشاده حول كيفية إنشاء بيانات التدريب. يتم ذلك عن طريق استدعاء الدالة سيتانديكاتورهاندلز (). هذه الوظيفة تسمح لك لتمرير مقابض المؤشرات تهيئة في آلة ناقلات الدعم. ويتم ذلك عن طريق تمرير ومجموعة صحيحة تحتوي على مقابض. والمدخلان الآخران لهذه الوظيفة هو قيمة الإزاحة وعدد نقاط البيانات.


قيمة الإزاحة تشير إلى الإزاحة بين الشريط الحالي وشريط البداية لاستخدامها في توليد مدخلات التدريب وعدد نقاط التدريب (المشار إليها بواسطة N) يحدد حجم بيانات التدريب الخاصة بك. يوضح الرسم البياني أدناه كيفية استخدام هذه القيم. قيمة تخالف 4 وقيمة N من 6 سوف تخبر جهاز ناقل الدعم فقط باستخدام الأشرطة التي تم التقاطها في المربع الأبيض لإنشاء مدخلات التدريب والمخرجات. وبالمثل، فإن قيمة إزاحة 8 وقيمة N من 8 تخبر آلة ناقلات الدعم فقط استخدام الأشرطة التي تم التقاطها في المربع الأزرق لتوليد مدخلات التدريب والمخرجات.


بمجرد استدعاء الدالة سيتينديكاتورهاندلز ()، يمكن استدعاء الدالة جينينبوتس (). ستستخدم هذه الوظيفة مقابض المؤشر لتمريرها لتوليد صفيف من بيانات المدخلات لاستخدامها في التدريب.


الشكل 7. مخطط شمعة يوضح قيم أوفست و N.


كيف يتم إنتاج مخرجات التدريب؟


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


المتغير الأول هو OP_TRADE. قيمة هذا يمكن إما أن يكون شراء أو بيع، وسوف تتوافق إما افتراضية شراء أو بيع الصفقات. إذا كانت قيمة هذا هو شراء، ثم عند توليد المخرجات وسوف ننظر فقط في النجاح المحتمل من الصفقات شراء افتراضية. بدلا من ذلك، إذا كانت قيمة هذا هو بيع، ثم عند توليد المخرجات وسوف ننظر فقط في النجاح المحتمل من الصفقات بيع افتراضية.


القيم التالية المستخدمة هي وقف الخسارة وجني الأرباح لهذه الصفقات الافتراضية. يتم تعيين القيم في نقاط، وسوف تحدد مستويات الحد والحد من كل من الصفقات الافتراضية.


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


اعتبارات لجعل عند اختيار المدخلات.


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


افترض أننا نقوم بتداول اليورو مقابل الدولار الأميركي واستخدام آلة ناقلات الدعم مع متوسط ​​الدخل المتحرك لإشارة الصفقات "شراء". ويقول السعر الحالي هو 1.10، ومع ذلك فإنه يولد بيانات التدريب من قبل ستة أشهر عندما كان السعر 0.55. عند تدريب جهاز ناقل الحركة، فإن النمط الذي يعثر عليه قد يؤدي فقط إلى إشارة تجارية عندما يكون السعر حوالي 0.55، حيث أن هذه هي البيانات الوحيدة التي يعرفها. لذلك، قد لا يشير جهاز ناقل الدعم الخاص بك إلى أي تداول حتى ينخفض ​​السعر مرة أخرى إلى 0.55.


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


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


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


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


تنفيذ دعم ناقلات الآلات في والخبير مستشار.


لقد أعدت مستشار الخبراء الذي هو مثال على كيف يمكن لشخص ما استخدام آلات ناقلات الدعم في التداول الخاصة بهم (نسخة من هذا يمكن تحميلها عن طريق اتباع هذا الرابط mql5 / إن / كود / 1229). نأمل أن مستشار الخبراء تسمح لك لتجربة قليلا مع آلات ناقلات الدعم. أوصي لك نسخ / تغيير / تعديل مستشار الخبراء لتناسب أسلوب التداول الخاصة بك. وتعمل وحدة التقييم على النحو التالي:


يتم إنشاء اثنين من آلات ناقلات الدعم الجديدة باستخدام مكتبة سفماشينيتول. يتم إعداد واحد للإشارة إلى صفقات جديدة "شراء" ويتم تعيين الآخر يصل إلى إشارة جديدة "بيع" الصفقات.


يتم تهيئة سبعة مؤشرات قياسية مع كل من مقابضها المخزنة على مجموعة صحيحة (ملاحظة: أي مجموعة من المؤشرات يمكن استخدامها كمدخلات، فإنها تحتاج فقط إلى أن يتم تمريرها إلى سفم في مجموعة واحدة صحيح).


يتم تمرير صفيف مقابض المؤشرات إلى أجهزة ناقل الدعم الجديدة.


باستخدام مجموعة من مقابض المؤشر وغيرها من المعالم، وتستخدم بيانات الأسعار التاريخية لتوليد المدخلات والمخرجات دقيقة لاستخدامها لتدريب آلات ناقلات الدعم.


وبمجرد أن يتم توليد جميع المدخلات والمخرجات، يتم تدريب كل من آلات ناقلات الدعم.


يتم استخدام آلات ناقلات الدعم المدربة في إي للإشارة إلى صفقات "شراء" و "بيع" جديدة. عندما يتم الإشارة إلى تجارة جديدة أو "بيع"، يتم فتح الصفقة جنبا إلى جنب مع أوامر وقف الخسارة وجني الأرباح اليدوية.


يتم تنفيذ التهيئة والتدريب للجهاز ناقلات الدعم ضمن الدالة أونينيت (). للرجوع اليها، تم تضمين هذا الجزء من إي سفترادر ​​أدناه مع الملاحظات.


دعم متقدم تجارة آلة المتجهات.


وقد بنيت قدرة إضافية في أداة دعم ناقلات الدعم أداة للمستخدمين أكثر تقدما هناك. تسمح الأداة للمستخدمين بالمرور في بيانات الإدخال المخصصة الخاصة بهم وبيانات الإخراج (كما في المثال سنيك). هذا يسمح لك العرف تصميم المعايير الخاصة بك لدعم ناقلات ناقلات المدخلات والمخرجات، وتمرير يدويا في هذه البيانات لتدريب عليه. هذا يفتح الفرصة لاستخدام آلات ناقلات الدعم في أي جانب من جوانب التداول الخاص بك.


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


المدخلات: يتم تمرير المدخلات إلى سفم كمصفوفة الأبعاد 1 من القيم المزدوجة. يرجى ملاحظة أنه يجب أن يتم تمرير أي مدخل تقوم بإنشائه كقيمة مزدوجة. يجب تحويل كل منطقي، صحيح، وما إلى ذلك إلى قيمة مزدوجة قبل أن يتم تمريرها إلى جهاز ناقل الدعم. والمدخلات مطلوبة بالشكل التالي. على سبيل المثال، نفترض أننا تمر في المدخلات مع 3 المدخلات × 5 نقاط التدريب. لتحقيق ذلك، يجب أن يكون لدينا مجموعة مزدوجة 15 وحدة طويلة في شكل:


| A 1 | B 1 | C 1 | A 2 | B 2 | C 2 | A 3 | B 3 | C 3 | A 4 | B 4 | C 4 | A 5 | B 5 | C 5 |


ومن الضروري أيضا تمرير قيمة لعدد المدخلات. في هذه الحالة، N_Inputs = 3.


المخرجات: يتم تمرير المخرجات في مجموعة من القيم المنطقية. هذه القيم المنطقية هي الناتج المطلوب من سفم تتوافق مع كل مجموعة من المدخلات التي تم تمريرها. بعد المثال أعلاه، ويقول لدينا 5 نقاط التدريب. في هذا السيناريو، سوف تمر في صفيف منطقي من قيم الإخراج الذي هو 5 وحدات طويلة.


عند توليد المدخلات والمخرجات الخاصة بك، تأكد من أن طول المصفوفات يطابق القيم التي تمر بها. إذا لم تتطابق، سيتم إنشاء خطأ إعلامك من التناقض. على سبيل المثال، إذا مررنا في N_Inputs = 3، والمدخلات عبارة عن صفيف طول 16، سيتم طرح خطأ (حيث أن قيمة N_inputs من 3 تعني أن طول أي صفيف دخل يجب أن يكون مضاعفا 3). وبالمثل، تأكد من أن عدد مجموعات المدخلات وعدد النواتج التي تمر بها متساوية. مرة أخرى، إذا كان لديك N_Inputs = 3، طول المدخلات من 15 وطول النواتج من 6، سيتم طرح خطأ آخر (كما لديك 5 مجموعات من المدخلات و 6 النواتج).


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


دعم مؤشر آلة المتجهات - مؤشر ميتاتريدر 5.


وفيما يلي العملية التي اعتمدها هذا المؤشر:


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


يستخدم هذا المؤشر الدعم المتجه آلة التعلم المكتبة المتاحة من سوق ميتاكوتس لتحقيق وظيفة دعم ناقلات الجهاز.


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


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


التداول مع آلات ناقلات الدعم (سفم)


أعتذر، ولكن، في رأيي، كنت مخطئا. يمكنني إثبات ذلك. الكتابة لي في بيإم.


سأذهب إلى صديق السيدات إيسك :)


لا أستطيع المشاركة الآن في المناقشة - ليس هناك وقت فراغ. ولكن كن حرا - تأكد من الكتابة التي أعتقد في هذا السؤال.


أعتقد أنك على خطأ. انا متاكد. يمكنني إثبات ذلك.


بالتأكيد. كان معي. دعونا نناقش هذا السؤال.


المؤلف، المدينة التي تعيش فيها، إذا كنت قد تسأل؟


آسف لأنني أتدخل. لدي موقف مشابه. يمكن مناقشتها.


نحن نفعل دائما كل شيء لتلبية الاحتياجات الخاصة بك وتلبية الذوق المثالي الخاص بك!


التداول مع دعم آلات المتجهات (سفم)


(تم نشر هذه المقالة لأول مرة على كينتيتيف В »R. وساهمت بلطف ل R - المدونين)


وأخيرا جميع النجوم قد الانحياز، ويمكن أن تكرس بثقة بعض الوقت للاختبار الخلفي من أنظمة التداول الجديدة، ودعم آلات ناقلات (سفم) هي لعبة جديدة والتي سوف تبقى لي مشغول لفترة من الوقت.


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


يبدو لي أن التطبيق الأكثر بديهية للتجارة هو الانحدار، لذلك يتيح البدء من خلال بناء نموذج الانحدار سفم.


بعد تجربتنا مع نماذج أرما + غارتش، سنبدأ بمحاولة التنبؤ بالعائدات، بدلا من الأسعار. وبالمثل، في اختباراتنا الأولى، سوف نستخدم فقط عوائد الأيام الخمسة السابقة كميزات تحدد عودة يوم معين. سنبدأ مع التاريخ من 500 يوما كما مجموعة التدريب.


في مصطلحات رياضية أكثر، لمجموعة التدريب لدينا ميزات N، لكل واحد منهم لدينا عينات M. لدينا أيضا ردود M.


نظرا لصف من قيم الميزة، المصفوفة اليسرى، يتم تدريب سفم لإنتاج قيمة الاستجابة. في مثالنا المحدد، لدينا خمسة أعمدة (ميزات)، كل عمود مناظرة للعائدات بفارق زمني مختلف (من 1 إلى 5). لدينا 500 عينات و الردود المقابلة.


مرة واحدة يتم تدريب سفم على هذه المجموعة، يمكننا البدء في تغذية مع مجموعات من خمس ميزات، المقابلة للعائدات للأيام الخمسة السابقة، وسوف سفم توفر لنا مع الاستجابة، وهو العائد المتوقع. على سبيل المثال، بعد تدريب سفم على ال 500 يوم السابقة، سوف نستخدم العوائد للأيام 500، 499، 498، 497 و 496 (هذه هي لنا 2C21 "/٪ كمدخل للحصول على العائد المتوقع ليوم 501.


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


ثم حاولت بعض الاستراتيجيات. أولا حاولت شيئا مشابها جدا ل أرما + غارتش نهج العائدات المتأخرة من الأيام الخمسة السابقة. لقد فوجئت تماما لرؤية هذه الاستراتيجية أداء أفضل من أرما + غارتش (هذا هو أرض الوطن من أرما + غارتش، وكنت قد سعيدة جدا فقط مع أداء مماثل)!


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


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


الوقت لإنهاء هذه المشاركة، نتائج الاختبار الخلفي يجب أن تنتظر. حتى ذلك الحين يمكنك أن تلعب مع شفرة المصدر الكامل نفسك. في ما يلي مثال لاستخدامه:


التداول مع دعم آلات المتجهات (سفم)


Finally all the stars have aligned and I can confidently devote some time for back-testing of new trading systems, and Support Vector Machines (SVM) are the new “toy” which is going to keep me busy for a while.


SVMs are a well-known tool from the area of supervised Machine Learning, and they are used both for classification and regression. For more details refer to the literature.


It seems to me that the most intuitive application for trading is regression, so let’s start by building an SVM regression model.


Following our experience with ARMA+GARCH models, we will start by trying to forecast returns, instead of prices. Likewise, in our first tests, we will use only the returns of the previous 5 days as the features determining the return of a particular day. We will start with history of 500 days as the training set.


In more mathematical terms, for the training set we have N features, for each of them we have M samples. We also have M responses.


Given a row of feature values, the left matrix, the SVM is trained to produce the response value. In our specific example, we have five columns (features), each column corresponding to the returns with a different lag (from 1 to 5). We have 500 samples and the corresponding responses.


Once the SVM is trained on this set, we can start feeding it with sets of five features, corresponding to the returns for the five previous days, and the SVM will provide us with the response, which is the forecasted return. For example, after training the SVM on the previous 500 days, we will use the returns for days 500, 499, 498, 497 and 496 (these are ours as the input to obtain the forecasted return for day 501.


From all the packages available in R, I decided to choose the e1071 package. A close second choice was the kernlab package, which I am still planning to try in the future.


Then I tried a few strategies. First I tried something very similar to the ARMA+GARCH approach – the lagged returns from the five previous days. I was quite surprised to see this strategy performing better than the ARMA+GARCH (this is the home land of the ARMA+GARCH and I would have been quite happy just with comparable performance)!


Next, I tried to the same five features, but trying to select the best subset. The selection was done using a greedy approach, starting with 0 features, and interactively adding the feature which minimizes the error best. This approach improved things further.


Finally, I tried a different approach with about a dozen features. The features included returns over different period of time (1-day, 2-day, 5-day, etc), some statistics (mean, median, sd, etc) and volume. I used the same greedy approach to select features. This final system showed a very good performance as well, but it took a hell of a time to run.


Time to end this post, the back-testing results have to wait. Until then you can play with the full source code yourself. Here is an example of using it:


التعليقات مغلقة.


المشاركات الشعبية الأخيرة.


أكثر المقالات التي تمت زيارتها في الأسبوع.


وظائف للمستخدمين R.


هو مدعوم من وورد باستخدام تصميم بافوتاسان.


كوبيرايت & كوبي؛ 2017 R-bloggers . كل الحقوق محفوظة. الشروط والأحكام لهذا الموقع.

Comments

Popular Posts