Thursday 29 March 2018

استراتيجيات التداول البرمجة الوراثية


استراتيجيات التداول المتطورة مع البرمجة الوراثية - معلمات غب والمشغلين.
البرمجة الجينية في جوهرها يستخدم مجموعة من مشغلي (اختيار، طفرة، كروس، النخبة الخ) والمعلمات (عدد الأجيال، وحجم السكان الخ). كما أن هناك أدبيات واسعة حول هذا الموضوع، وسوف تخطي أساسيات وتفترض أن القارئ هو بالفعل على دراية بالموضوع.
أول شيء لفهم حول المعلمات غب والمشغلين هو أنها تشكل أساسا نظام معقد. قد تؤثر التغييرات في معلمة واحدة أو قد لا تؤثر على الطريقة التي تتصرف بها المعلمات الأخرى. التغييرات الصغيرة في معلمة واحدة قد تؤدي إلى تغييرات غير خطية في كامل النتيجة التطورية. وفي وقت آخر، قد لا يؤدي تغيير كبير في الباراميترز إلى تغيير النتيجة الإجمالية على الإطلاق. ومن الأمثلة الجيدة على ذلك تحديد حجم السكان. المبتدئين يتعرضون حديثا ل غب غالبا ما يعتقدون أن أكبر حجم السكان كلما كان ذلك أفضل. بعد كل شيء، والمزيد من الأفراد في عدد السكان، وكلما زادت فرصة عامة سيتم العثور على نتيجة بحث جيدة، أليس كذلك؟ خاطئة تماما. في كثير من الأحيان، صغيرة (ولكن ليس سو صغير!) حجم السكان هو في الواقع بريفيريبل إلى أكبر. هناك مفاضلة بين وجود المزيد من الأفراد في عدد السكان وزيادة المستوى العام للضوضاء. إن وجود عدد أكبر من الأفراد لكل فرد يقلل من فرصة أن يكون الفرد المنفرد نسبيا قادرا على خلق ذرية. وبالتالي، يتم زيادة مستوى الضوضاء. يتم الإعلان عن بعض أنظمة البرمجيات غب المتاحة تجاريا لتكون قادرة على معالجة ثوسندس من الأفراد في وقت قصير جدا. من تجربتي، إذا كنت بحاجة أكثر من ذلك، دعونا نقول، 500 فرد لكل السكان، وربما كنت تفعل شيئا خاطئا. لذلك، دعونا نلقي نظرة فاحصة على بعض المعلمات والمشغلين.
حجم السكان.
لقد سبق أن ذكرت حجم السكان. حاول أن تبدأ مع عدد قليل من السكان ربما 100 شخص. وهذا أيضا يقلل من الوقت الحوسبة. وكما ذكر أعلاه، فإن زيادة حجم السكان لن تؤدي بالضرورة إلى نتائج أفضل بسبب زيادة مستوى الضوضاء.
عدد الأجيال.
إذا عملت خوارزمية الممارس العام الخاص بك، سوف نلاحظ أنه في المراحل المبكرة من عملية التطور الأفراد المجرب يمكن العثور بسهولة نسبيا، على الرغم من أن في بعض الأحيان قد تمر بضعة أجيال دون أي تحسن قبل حدوث تحسن كبير آخر. بعد عدد من الأجيال، تحدث تحسينات أقل تواترا. حاول البدء مع ربما 10 إلى 15 أجيال فقط. إذا كان هناك سوى تحسن هامشي من الأول إلى الجيل الأخير، ثم ربما كنت تفعل شيئا خاطئا. ومن المفيد أيضا إدخال عداد الأجيال المماطلة ووقف العملية التطورية إذا لوحظ بعد عدد معين من الأجيال أي تحسينات أخرى.
عدد أشجار القرار وحجم الشجرة.
لقد كتبت بالفعل على كيفية ترميز أشجار القرار. مرة أخرى هناك مقايضة. وكلما زادت تعقيد قواعد القرار العامة الخاصة بك سواء فيما يتعلق بعمق الأشجار / حجم وعدد من المقاييس الفرعية المستخدمة، وارتفاع فرصة الإفراط في الحياكة. قواعد القرار أقل تعقيدا هي دائما الأفضل تقريبا، ومع ذلك فإنه من المرجح ربما لا يزال من المنطقي استخدام أشجار القرار مخصصة لقواعد طويلة وقصيرة. وسأركز على موضوع معاقبة التعقيد عن طريق الضغط على العبارة في مادة لاحقة.
خوارزمية البرمجة الوراثية.
على الرغم من أن خوارزمية غب الأساسية بسيطة نسبيا، وهناك بدائل مختلفة لذلك، على سبيل المثال البرمجة الجينية الخطي، البرمجة الجينية الديكارتية، الخوارزمية الجينية غير المهيمنة (نسغا)، خوارزمية القوة باريتو التطورية (سبيا) وغيرها الكثير. اختيار بديل معين غالبا ما يكون له انعكاسات على كيفية ترميز الأفراد، على وظيفة اللياقة البدنية، وأيضا على تنفيذ اختيار، طفرة وعبر المشغلين. تقليديا، يتم استخدام الطفرة، كروس و النخبة مشغل بشكل متبادل حصرا وليس في تركيبة. وهذا هو، يتم اختيار واحد من هذه المشغلين من قبل استراتيجية اختيار المشغل، ويتم تطبيق هذا المشغل فقط. فعلى سبيل المثال، لا يخضع طفلان نسلان أيضا للطفرة، على الرغم من أن ذلك سيكون بطبيعة الحال ممكنا.
مشغل اختيار هو استراتيجية كيفية اختيار واحد أو عدة أفراد من تجمع لغرض معين مثل طفرة أو كروس. هناك العديد من استراتيجيات الاختيار ويعتمد حقا على السياق الذي واحد لاستخدام يفضل. تعتمد كل استراتيجية اختيار على معيار معين لمقارنة الأفراد. في معظم الحالات أفضل (من حيث اللياقة البدنية) فرد مطلوب، ولكن في بعض الأحيان يمكن أن يكون أيضا أسوأ فرد. في حالة وظائف اللياقة البدنية متعددة الأهداف، قد تصبح عملية الاختيار معقدة للغاية. في كثير من الأحيان، يجب اختيار مشغل اختيار اثنين من الأفراد وحتى الآن ضمان عدم اختيار نفس الشخص مرتين. اختيار فقط أفضل الأفراد للاستنساخ ليست حكيمة، لأن هذا يمكن أن يؤدي إلى تقارب سابق لأوانه المحلية بدلا من العالمية الأمثل في الفضاء البحث. ومن الضروري اتباع نهج متوازن يعطي األفراد األفضل فرصة أفضل لالنتقاء من أجل التكاثر مع استمرارهم في اختيار األفراد األضعف. هذا سوف تبقي مزيج بين الضغط على قيد الحياة وترك مجالا للحلول الجديدة لتظهر ويتم استكشافها.
هناك طرق اختيار مختلفة، ولكن ربما استراتيجية الاختيار الأكثر شعبية هو اختيار البطولة. اختيار البطولة هو عملية من خطوتين. أولا، يتم اختيار عدد قليل (على سبيل المثال 7) أفراد بشكل عشوائي - & كوت؛ البطولة & كوت ؛. ثانيا، يتم اختيار شخص أو شخصين من البطولة وفقا لياقتهم البدنية. حجم البطولة الأكبر يعطي الأفراد الأضعف فرصة أقل عموما ليتم اختيارها.
في بعض الأحيان، قد تكون فكرة جيدة السماح ببساطة أفضل واحد أو اثنين من الأفراد في السكان ليتم نسخها إلى الجيل القادم، لأنه بخلاف ذلك قد تضيع. والمشكلة مع النخبوية هي عموما أنه من دون اتخاذ مزيد من التدابير قد يتم ملء الأجيال اللاحقة مع العديد من نسخ من الأفراد متطابقة. غير أن مقارنة الأفراد من أجل المساواة قد تكون عملية مكلفة حسابيا. أنا شخصيا أفضل عدم استخدام النخبوية لهذا السبب.
يجب أن يحدث الطفرة فقط مع احتمال ضعيف، على سبيل المثال. في 0٪ - 2٪ من الحالات. بعض تطبيقات غب تختلف احتمال الطفرات خلال عملية التطور. بالنسبة لإصدارات مختلفة من الطفرة (على سبيل المثال طفرة نقطة أو طفرة الشجرة الفرعية)، استشارة واحدة من العديد من مصادر الأدب حول هذا الموضوع. كن على علم بأن الطفرة يجب أن تتوافق مع كتابة العقد في شجرة القرارات.
كروسوفر هو المشغل غب مع أعلى احتمال (على سبيل المثال 80٪ - 100٪) لكونها اختيار لإنتاج ذرية. باستخدام العقد المكتوبة يضمن أن يتم إنشاء ذرية صالحة وذات مغزى فقط من قبل المشغل كروس. وتتمثل إحدى المشاكل في أنه خلال العملية التطورية، يميل هذا المشغل إلى زيادة متوسط ​​حجم أشجار القرار، وبالتالي يؤدي إلى سخام الشفرات. في كثير من الأحيان، والأصلح الأفراد هم في الواقع الإفراط في سلسلة زمنية التاريخية. هم أيضا هم الذين لديهم أكبر قواعد القرار. يختارها مشغل الاختيار بأعلى احتمال، وبالتالي ينتج المشغل كروس في وقت لاحق ذرية زيادة حجم شجرة القرار. إن المقياس المضاد المناسب هو الضغط على العبارة، الذي سأكتب عنه في وظيفة لاحقة.
مشكلة تطور الأفراد المتشابهين هيكليا.
والمشكلة الشائعة هي أن العملية التطورية غالبا ما يكون لديها ميل إلى تطوير العديد من استراتيجيات التداول متطابقة تقريبا على مر الزمن. يتم ملء السكان مع عدد قليل & كوت؛ الأنواع الأساسية & كوت؛ من الأفراد التي هي مشابهة جدا هيكليا لبعضها البعض، وبالتالي لها قيم اللياقة البدنية مماثلة جدا. للحصول على الصورة، تخيل استراتيجية التداول نفسها لأفراد متعددة ولكن كل واحد له تغيير طفيف جدا في معلمة واحدة فقط. وهناك أسباب مختلفة وراء حدوث هذه الظاهرة. واحد هو أن تطور اللياقة البدنية للسكان أفضل فرد هو متقطع. إذا كان هناك & كوت؛ قفزة & كوت؛ في أفضل لياقة بدنية من جيل إلى آخر، وهناك احتمالات عالية أن أفضل فرد سيبقى للأصلح للأجيال القليلة القادمة - حتى يحدث مثل هذه القفزة. وهذا صحيح أيضا بالنسبة للثاني والثالث أفضل الأفراد في السكان. لذلك، لعدة أجيال على التوالي فإن الأصلح قليل من الأفراد لديهم أعلى فرص لخلق ذرية، وبطبيعة الحال فإن ذرية ستكون مشابهة هيكليا لأولياء أمورها. ونتيجة لذلك، فإن المزيد والمزيد من الأفراد المتشابهين هيكليا سوف تملأ المواقف الأولى في السكان وبالتالي الحد بشكل فعال من التنوع الجيني في جميع السكان.
غالبا ما يكون من الصعب جدا إيجاد حل مرض لهذه المشكلة. أحد الاحتمالات هو الحفاظ على المعلمة طفرة على مستوى عال. وثمة حل آخر هو إدخال معلمات غب التكيفية، على سبيل المثال تختلف الطفرة و / أو احتمالات كروس خلال عملية التطور. أو إجراء تغييرات ديناميكية على مشغلي التحديد. لسوء الحظ، هذه البدائل غالبا ما تكون غير فعالة جدا ويمكن أن تكون صعبة جدا لتنفيذ أو معايرة بشكل صحيح. الحل المكلف حسابيا جدا هو مقارنة استراتيجيات التداول لكل جيل وعدم السماح للسكان لاحتواء الأفراد متساوية هيكليا. وهذا يتطلب مقارنة كل فرد مع بعضهم البعض عند بناء سكان الجيل القادم، مما سيؤدي إلى إبطاء عملية التطور إلى حد كبير.
ومن المثير للاهتمام، من تجربتي هذه المشكلة هو انخفاض كبير عند التحول من هدف واحد إلى قوية متعددة الوظائف وظيفة اللياقة البدنية / عملية تطورية مثل خوارزمية الفرز غير المهيمنة الفرز (نسغا) وخوارزميات قوة باريتو التطورية (سبيا) . هذه الخوارزميات على حد سواء تعريف بطبيعتها نهجا مختلفا في اختيار الأفراد من أجل التكاثر، مما يقلل من التنوع المطلوب في بول الجينات أقل بكثير من وظائف اللياقة البدنية موضوع واحد. سوف أكتب أكثر على هذين الخوارزميات في مقال لاحق.

إنشاء استراتيجيات التداول القائمة على التغيير على أساس البرمجة الجينية.
جيريمي جيبتيو فرناندو E. B. أوتيرو مايكل كامبوريديس مؤلف البريد الإلكتروني.
وتستخدم غالبية أدوات التنبؤ مقياسا زمنيا بدراسة دراسة تقلبات األسعار في األسواق المالية، مما يجعل تدفق الوقت الفعلي غير متقطع. ولذلك، فإن استخدام مقياس زمني فعلي قد يعرض الشركات للمخاطر، بسبب جهل بعض الأنشطة الهامة. في هذه الورقة، يتم استكشاف نهج بديل ورواية لالتقاط الأنشطة الهامة في السوق. والفكرة الرئيسية هي استخدام مقياس زمني جوهري يستند إلى التغييرات الاتجاهية. جنبا إلى جنب مع البرمجة الوراثية، ويهدف النهج المقترح لإيجاد استراتيجية التداول الأمثل للتنبؤ بتحركات الأسعار في السوق المالية في المستقبل. من أجل تقييم كفاءتها ومتانة كأداة التنبؤ، تم إجراء سلسلة من التجارب، حيث كنا قادرين على الحصول على معلومات قيمة عن أداء التنبؤ. وتشير نتائج التجارب إلى أن هذا الإطار الجديد قادر على توليد استراتيجيات تجارية جديدة ومربحة.
المراجع.
معلومات حقوق التأليف والنشر.
المؤلفين والانتماءات.
جيريمي جيبتيو 1 فرناندو E. B. أوتيرو 1 مايكل كامبوريديس 1 كاتب البريد الإلكتروني 1. مدرسة الحاسبات جامعة كينت كانتربري المملكة المتحدة.
حول هذه الورقة.
توصيات شخصية.
استشهد ورقة.
المراجع المرجعية ريس ريفوركس زوتيرو.
.BIB بيبتكس جابريف منديلي.
مشاركة الورقة.
تحميل فوري للقراءة على جميع الأجهزة التي تملكها إلى الأبد ضريبة المبيعات المحلية وشملت إذا كان ذلك ساريا.
استشهد ورقة.
المراجع المرجعية ريس ريفوركس زوتيرو.
.BIB بيبتكس جابريف منديلي.
مشاركة الورقة.
أكثر من 10 مليون وثيقة علمية في متناول يدك.
تبديل الطبعة.
&نسخ؛ 2017 سبرينجر الدولية للنشر أغ. جزء من الطبيعة سبرينجر.

استخدام البرمجة الوراثية لتطوير استراتيجيات التداول.
صديق وأنا عملت مؤخرا معا على مهمة البحث حيث استخدمنا بنجاح البرمجة الجينية (غب) لتطوير حلول لمشكلة التصنيف المالي العالمي الحقيقي. وتشمل هذه المشكلة، التي يطلق عليها تحليل الأمن، تحديد الأوراق المالية التي يجب شراؤها من أجل تحقيق عائد جيد على الاستثمار في المستقبل. لإيجاد حل لهذه المشكلة استخدمنا البرمجة الوراثية لتطوير مجموعة من أشجار القرار التي يمكن أن تؤدي تحليل الأمان على اثنين وستين من أسهم التكنولوجيا المدرجة في S & أمب؛ P 500. وهذا هو، قمنا بتطوير أشجار القرار قادرة على تصنيف تلك الأسهم وفقا لما إذا كان ينبغي شراؤها أو بيعها قصيرة.
تحليل الأمن أشجار القرار.
خلال الدراسة قمنا بتطوير نوعين من أشجار قرار التحليل الأمني. استخدم الأول المؤشرات فقط من التحليل الأساسي والثاني استخدم فقط المؤشرات من التحليل الفني. التحليل الأساسي هو طريقة لتقييم الأمن لقياس قيمته الجوهرية من خلال دراسة العوامل الاقتصادية والمالية وغيرها من العوامل النوعية والكمية ذات الصلة. التحليل الفني هو طريقة لتقييم الأوراق المالية من خلال تحليل الإحصاءات الناتجة عن نشاط السوق.
وستتألف استراتيجية لتحليل الأمن، بغض النظر عما إذا كان يستخدم مؤشرات فنية أو أساسية، من عدد من القواعد لاتخاذ قرارات الاستثمار. ويمكن تمثيل تلك الاستراتيجية بوصفها شجرة قرار تمثل فيها العقد النهائية قرارات الاستثمار وتمثل العقد الوظيفية قواعد تستند إما إلى مؤشرات تقنية أو أساسية. وبسبب هذه الحقيقة، يتم تمثيل العديد من استراتيجيات الاستثمار القائمة في شكل أشجار القرار.
وفي المجموع تم اختيار اثنين وأربعين مؤشرا مختلفا واستخدمت من التحليل الفني والتحليل الأساسي. وكانت الاستراتيجيات المتطورة لفترة ثابتة لمدة ثلاثة أشهر أو ستة أشهر أو تسعة أشهر أو اثني عشر شهرا. ثم تم اختبار أشجار القرار مرة أخرى باستخدام بيانات السوق من 2018 إلى 2018.
البرمجة الوراثية.
البرمجة الوراثية هي تخصص خوارزمية جينية. الخوارزميات الجينية هي عدد السكان، وهذا يعني أنها تعمل ضمن مجموعة تتكون من العديد من الأفراد المختلفة. ويمثل كل فرد من قبل النمط الوراثي الفريد (عادة ترميز كمتجه). الخوارزميات الجينية نموذج عملية التطور الجيني من خلال عدد من المشغلين بما في ذلك المشغل اختيار الذي نماذج البقاء للأصلح، المشغل كروس الذي نماذج التكاثر الجنسي ومشغل طفرة الذي نماذج الطفرات الوراثية التي تحدث بشكل عشوائي للأفراد في السكان. هؤلاء المشغلين، عندما مجتمعة، تنتج ما يشير علماء الكمبيوتر إلى خوارزمية جينية.
الشركات الثلاث من الخوارزمية الجينية التي تطبق على عدد من ناقلات (كتل)
الفرق بين الخوارزمية الجينية وخوارزمية البرمجة الوراثية هو الطريقة التي يتم بها تمثيل الأنماط الجينية الفردية. في الوراثة الخوارزمية الجينية يتم تمثيلها إما السلاسل أو كما ناقلات بينما في البرمجة الوراثية يتم تمثيل هذه الأنماط الجينية باستخدام هياكل البيانات شجرة. عملية كروس على هياكل الأشجار يمكن أن يحدث في عدد قليل من الطرق، إما يتم تبديل شجرة فرعية خارج، يتم إزالة عقدة ورقة أو تغييرها، أو يتم تعديل قيم بعض العقدة. ويرد أدناه توضيح لذلك،
ويصور هذا الرسم البياني استراتيجية كروس من شجرة القرارات التي تستخدمها البرمجة الوراثية لتحليل الأمن.
بعد هذه الدراسة خلصنا إلى أن البرمجة الوراثية لديها امكانات كبيرة لتطوير استراتيجيات جديدة لتحليل الأمن وإدارة الاستثمار شريطة أنه يمكن استخلاص وظائف أفضل لحساب اللياقة البدنية. خلال دراستنا البحثية رأينا أن أشجار القرار تطورت باستخدام البرمجة الوراثية كانت قادرة على إنتاج تصنيفات الأسهم التي تغلب على متوسط ​​العائد السوق باستمرار على مدى أربعة أرباع. وينطبق ذلك على أشجار القرارات التي استخدمت المؤشرات الفنية وكذلك أشجار القرارات التي استخدمت مؤشرات أساسية. وقد تم استخلاص عدد من الاستنتاجات الأخرى من بحثنا بما في ذلك الأحجام المثلى ومستوى عدم التجانس لأشجار القرار والقيمة المضافة بمؤشرات مختلفة وأداء الاستراتيجيات المتعلقة ببعضها البعض. وترد بعض النتائج أدناه.
العلاقة بين حجم شجرة القرار واللياقة البدنية معظم المؤشرات الشعبية المستخدمة في شجرة القرار النهائية.
متوسط ​​أحجام الأشجار في التكرار مثال تحليل الأمان شجرة القرار مثال تحليل الأمان شجرة القرارات.
استنتاج.
تم إنتاج تقريرين بحثيين مستقلين من قبل نفسي وصديقي. كلا التقريرين تذهب إلى مزيد من التفاصيل حول دراستنا البحثية، والنهج المتبع، وتصميمنا وتنفيذها، واستراتيجيات الاختبار استخدمنا، واستنتاجاتنا وتوصيات لمزيد من البحث. يمكنك أيضا تنزيل نسخة من شفرة المصدر التي تم إنشاؤها أثناء التنفيذ. لزملائي أكثر حساب فني للمشروع يرجى الضغط هنا.
القصة السابقة.
تجميع باستخدام النمل المستعمرة الأمثل.
قصة المقبلة.
أنظمة التداول الذكي الخوارزمية.
[تم نسخ التعليق من مجموعة لينكيدين الحسابية المالية]
عمل جميل جدا. الكتابة حتى رائع أيضا.
لم يكن لدي سوى فرصة لإلقاء نظرة على التقرير. بعض الإحصاءات التي قد تكون جيدة للنظر في: كيف تقارن محفظة غا الخاصة بك للمحافظ من نفس الأصول. سوف ألقي نظرة على محفظتي مقارنة: محفظة متساوية الوزن ومحفظة على غرار S & أمب؛ P التي يتم ترجيحها من حيث القيمة السوقية.
كما اتضح، فإنه يمكن أن يكون من المستغرب أن تغلب على محفظة متساوية الوزن. إعادة توازن المحافظ كل ثلاثة أشهر، حيث أن بعض الأسهم سوف ترتفع وسوف ينخفض ​​بعضها (على سبيل المثال، تريد الاحتفاظ بأوزان المحفظة على قدم المساواة مع تغير الأسعار). إذا خوارزمية الجينات الخاص بك يدق هذه المحافظ ثم لديك "ألفا" (العائد الزائد على المعيار).
بالطبع ألفا ليس كل شيء. يجب أن ننظر إلى فقدان الذيل المتوقع (إيتل) (المعروف أيضا باسم القيمة المعرضة للمخاطر المشروطة، النقص المتوقع) لكل من محفظة غا و "المعيار". إذا كان لديك خطر أقل لنفس العائد ثم يمكنك أن تنظر أن تغلب على المعيار. مقياس إتل هو مقياس أفضل من نسبة شارب عندما يتعلق الأمر بالمخاطر، حيث أن نسبة شارب تقيس التباين، وهو جانبين. إتل يقيس الخسارة فقط.
ملاحظة: مشكلة مع غا والشبكات العصبية (ن) هي أنها صناديق سوداء. ومن الصعب تحديد سبب جعلهم "الخيارات" التي يقومون بها. لذلك تخيل أنك مدير محفظة. يبدأ أداء غا أو ن أداء ضعيفا. ما الخطوات التي يمكنك اتخاذها لمعالجة هذا؟ المشكلة هي، كل ما يمكنك القيام به حقا هو إعادة تدريب وكنت لا تعرف إذا إعادة التدريب سوف نفعل ما هو أفضل. بالطبع مع شجرة القرار ليست سيئة للغاية، لأن على الأقل كنت تعرف ما هي القرارات التي اتخذتها. المشكلة هي، إذا كنت باستمرار تويتس لاتخاذ القرارات "الصحيحة" ثم كنت قد حصلت على مشكلة أيضا.
هذه القضايا هي الأسباب التي لا ترى هذه الخوارزميات المستخدمة كثيرا (على الرغم من أنها تستخدم).
[تم نسخ الاستجابة من مجموعة لينكيدين الحسابية المالية]
شكرا لك على كلمات مجانية إيان، ونحن نقدر لك أخذ الاهتمام في أبحاثنا وتزويدنا ببعض التعليقات الثاقبة.
في مقاربتنا قارنا فقط أداء عمليات اختيار الأسهم التي أجرتها أشجار القرار لدينا مقابل محفظة ذات وزن متساو. إن توسيع نطاق أبحاثنا لدمج محافظ مختلفة هو فكرة مثيرة للاهتمام سوف نتابعها خلال المرحلة التالية من التطوير. وننظر أيضا في تنفيذ بعض النهج المعروفة لتحليل الأمن لاستخدامها كمعايير أداء إضافية. إذا كان لديك أو لدى أي شخص آخر اقتراحات بشأن المقاربات التي قد تحقق معايير جيدة، فيرجى إبلاغي بذلك.
تعليقاتك حول استخدام مقاييس الأداء الأخرى هي بقعة على. ونود بالتأكيد إعادة النظر في إطار الاختبار الخلفي والتحقيق في سبل جعلها أكثر صرامة وأقل عرضة للإفراط في تركيبها. ونود أيضا تنفيذ وظائف إضافية للياقة البدنية تأخذ في الاعتبار تدابير مخاطر محفظة وكذلك تدابير العائد الزائد (ألفا). وسوف ننظر في التدابير التي ذكرتها ونرى كيف أفضل يمكننا دمجها في إطارنا الحالي. كما سننظر أيضا في كيفية استخدام إطار اختبار خلفي مفتوح المصدر مثل زيبلين، وإطار الاختبار الخلفي الذي يستخدمه النظام الكمي.
ملاحظاتك بشأن طبيعة واستخدام غا والشبكات العصبية في التمويل مثيرة جدا للاهتمام. والتحدي المتمثل في جعل هذه الخوارزميات أكثر شفافية، وبصراحة تامة، أقل قليلا مخيفة، هو واحد لا ينبغي أن يؤخذ على محمل الجد. زميلي يعمل حاليا على مهمة بحثية حيث يحاول رفع الحجاب على بعض الأعمال الداخلية للشبكات العصبية. إذا كان ناجحا، ثم بدلا من الحاجة إلى إعادة تدريب الشبكات العصبية باستمرار عندما "شيء يذهب على نحو خاطئ"، وقال انه قد تكون قادرة على عزل سبب المشكلة في الشبكة العصبية وتكييف هيكلها وفقا لذلك. وهو يفكر في استخدام التطبيق المالي العالمي الحقيقي للشبكات العصبية في بحثه. لذلك إذا كان لديك أي أفكار حول ذلك، واسمحوا لي أن أعرف؟
شخصيا، أنا أعمل حاليا على مهمة البحث حيث أنا محاولة لبناء إطار حسابي لحمل التجارة اختيار محفظة والتحسين. فإنه يجعل من استخدام بعض خوارزميات الذكاء الحسابي والمضي قدما وسوف نأخذ في الاعتبار القضايا التي ذكرتها. وسأحاول تحديد سبل التخفيف من هذه الشواغل أو إزالتها في الإطار. شكرا مرة أخرى على كل ما تبذلونه من التعليقات، ونحن نقدر ردود الفعل. إذا كان لديك أي أفكار جيدة أكثر، يرجى الاتصال بنا.
[تم نسخ التعليق من مجموعة لينكيدين الحسابية المالية]
وأعتقد أن النهج الأكثر معقولية ل باكتستينغ هو مقارنة النتائج الخاصة بك إلى ما يحدث مع التداول العشوائي الذي لا يزال يطيع أي قيود كنت فرض على محفظة. ويناقش هذا في:
[تم نسخ الاستجابة من مجموعة لينكيدين الحسابية المالية]
شكرا باتريك، وهذا هو اقتراح جيد. أنا أفهم النهج لأن مفهوم باكتستينغ خوارزمية ضد استراتيجية التداول العشوائي هو من الناحية المفاهيمية مماثلة لاختبار خوارزمية البحث ضد البحث العشوائي. ما هو شيء فعلته من قبل. ما مدى شعبية أن تقول أن استراتيجية باكتستينغ هو؟
[تم نسخ الاستجابة من مجموعة لينكيدين الحسابية المالية]
ستيوارت: لا تحظى بشعبية كبيرة. ولكن يجب أن تبدأ في مكان ما.
[تم نسخ التعليق من مجموعة لينكيدين الحسابية المالية]
تبدو جيدة، ما هو السبب في استخدام 62 أسهم التكنولوجيا، وليس 500 أسهم؟
[نسخ الاستجابة من مجموعة لينكيدين الحسابية المالية]
مرحبا جز، وهذا هو سؤال جيد وأنا سعيد لأنك سألت ذلك. وناقشنا نهجنا، وسيكون الرأي الخارجي موضع تقدير كبير. لقد اقتصرنا عينة الاختبار على قطاع واحد فقط لسببين:
1) نعتقد أن أشجار القرارات التي تستخدم المؤشرات الأساسية يمكن أن تختلف اختلافا كبيرا بين مختلف الصناعات. ويرجع ذلك إلى أن النسبة المالية يمكن أن تختلف بين صناعات مختلفة، ونعتقد أن المستثمر الذي يستخدم هذا النهج سوف يرغب في تطوير أشجار القرار لكل قطاع بشكل مستقل.
2) أعطيت لنا ثلاثة أسابيع فقط لإكمال المهمة، وكنا قلقين من أن إضافة المزيد من الأسهم سيكون وقتا طويلا جدا. وقد اتضح أن ذلك كان مصدر قلق لا أساس له من الصحة حيث أن تطبيقنا يمكن أن يعالج بسهولة جميع الأسهم ال 500 على مؤشر S & أمب؛ P500 دون أي مشاكل كبيرة في الأداء.
** ملاحظة: هذا لا ينطبق على أشجار القرار باستخدام مؤشرات التحليل الفني.
مثيرة للاهتمام للغاية. أحسنت ستيوارت.
انها ممارسة مثيرة للاهتمام، ولكن أنا لا أرى ما هي ميزة غب ضد ببساطة تدريب شجرة القرار كله باستخدام بعض التدابير النجاسة. يبدو أنه يفعل نفس الشيء فقط بشكل غير فعال جدا وربما مع دقة أقل جدا.
مرحبا إيغناس، ليكون غب تماما صادق يعاني من العديد من السلبيات وتقنية لا يزال يجري الكمال. بعد أن قيل، التقليدية أساليب اتخاذ القرار شجرة (التي أنا في الآونة الأخيرة من محبي) أيضا عيوبها التي قد (أو قد لا) التغلب عليها البرمجة الجينية.
أنا أحاول إعادة تنفيذ الجمعية العامة في الثعبان. ما هي بعض المكتبات بيثون أن يوصي.
هل حاولت تداول نظامك المباشر؟
مرحبا لورانس، للأسف لا. هذا المنصب هو تماما عدد من سنوات من العمر ويمثل مشروع اسكواش القديم من الألغام :-). أود أن أوصي نلقي نظرة على جينوتيك لاستراتيجية التداول القائم على البرمجة الجينية غير منحازة. وأعتقد أن الناس يتداولون على الهواء مباشرة.
إرسال تعليق.
إلغاء الرد.
اتبع تورينج المالية.
تورينغ المالية القائمة البريدية.
أصدقاء تورينج المالية.
الكوانتوقراطية هو أفضل التمويل الكمي بلوق مجمع مع وصلات لتحليل جديد نشرت كل يوم.
نمركل هو صندوق التحوط الكمي أنا جزء من. نحن نستخدم آلة التعلم في محاولة للفوز على السوق.

استراتيجيات التداول البرمجة الوراثية
إذا كنت لا تزال تبحث عن حافة في الأسواق، وأنظمة التداول الآلي هي أفضل وسيلة للحصول عليه. أعرف أكثر.
حقوق الطبع والنشر (ج) 2018 أدابتريد البرمجيات. كل الحقوق محفوظة.
نتائج الأداء البدني أو المحاكاة لها بعض القيود المتراكمة. لا سجل الأداء الفعلي، النتائج المحاكاة لا تمثل التداول الفعلي. أيضا، وبما أن التجارة لم تكن قد تم تنفيذها بشكل فعلي، فقد تكون النتائج قد تم تعويضها أو تعويضها بشكل أكبر عن التأثيرات، إن وجدت، لبعض عوامل السوق، مثل عدم وجود السيولة. برامج التداول المحاكاة بشكل عام هي أيضا تخضع لحقيقة أنها تم تصميمها مع الاستفادة من الأذهان. لا يتم تمثيل أي حساب أو سيكون من المرجح تحقيق الأرباح أو الخسائر مماثلة لتلك التي تظهر.
إيسيلانغواد و ترادستاتيون هي علامات تجارية مسجلة لشركة ترادستاتيون تيشنولوجيز، Inc.
وكان من أكبر الاتجاهات في تجارة التجزئة على مدى العقد الماضي زيادة في شعبية التداول الآلي. في هذا النوع من التداول، المعروف أيضا باسم تنفيذ النظام الآلي، يتم تنفيذ شراء وبيع الإشارات الناتجة عن نظام التداول تلقائيا من قبل منصة متصلة حساب الوساطة التاجر. ويتيح هذا التداول بدون استخدام اليدين، الأمر الذي يتيح سرعة التنفيذ، وقلة الأخطاء، والقدرة على تداول إطارات زمنية أقصر مع استراتيجيات ذات ترددات أعلى.
ويوضح الشكل 1 الخوارزمية الأساسية لأنظمة التداول في المباني التي تستخدم الجيل الأوتوماتي للشفرة. وتبدأ طريقة الجمع بين العناصر المختلفة لاستراتيجية التداول. ويمكن أن تشمل هذه العناصر مؤشرات فنية مختلفة، مثل المتوسطات المتحركة، والستوكاستيك، وما إلى ذلك؛ أنواع مختلفة من أوامر الدخول والخروج؛ والشروط المنطقية لدخول السوق والخروج منها.
الشكل 1. الخوارزمية الأساسية لبناء الاستراتيجية الآلي.
بعد دمج العناصر المختلفة في استراتيجية متماسكة، يمكن تقييمها في السوق أو الأسواق ذات الاهتمام. وهذا يتطلب بيانات السوق - الأسعار، وحجم، والفائدة المفتوحة، وما إلى ذلك - لكل سوق. بشكل عام، سيكون لديك أيضا مجموعة من أهداف البناء للمساعدة في ترتيب أو تسجيل كل استراتيجية. وتشمل أمثلة أهداف البناء مقاييس أداء مختلفة، مثل صافي الربح، والتخفيض، ونسبة الفائزين، وعامل الربح، وما إلى ذلك. ويمكن ذكرها كحد أدنى من المتطلبات، مثل عامل ربح لا يقل عن 2.0، أو كأهداف لتعظيمها، مثل تعظيم صافي الربح.
الأساس النظري لتوليد الرمز التلقائي.
كما هو موضح أعلاه، وبناء نظام التداول باستخدام الجيل التلقائي رمز هو في الأساس مشكلة الأمثل. يتم وضع مزيج من عناصر الاستراتيجية التي تعظم أهداف البناء على أنها الاستراتيجية النهائية. بعض التجار يعترضون على أن أنظمة التداول يجب أن تبنى على أساس فرضية سلوك السوق أو العمل. إذا كان لديك فرضية جيدة لكيفية عمل الأسواق، يمكن بناء استراتيجية حول تلك الفرضية واختبارها. إذا كان يعمل، فإنه يدعم فرضية ويبرر تداول الاستراتيجية.
نمط نظام رمز مولد ل ترادستاتيون.
يصف هذا القسم نهج مخصص لتوليد التعليمات البرمجية التلقائي الذي نظام التداول ل ترادستاتيون تلقائيا بإنشاء أنظمة التداول الأخرى القائمة على نمط ل ترادستاتيون. يبحث نظام أوتوسيستمجين عن مجموعة من قواعد التداول، جنبا إلى جنب مع قيم المعلمات المرتبطة، التي تلبي مجموعة محددة من متطلبات الأداء.
في حين أن أي نوع تقريبا من مؤشر أو منطق التداول يمكن أن تدرج في مولد نظام التداول الموصوفة هنا، لإبقاء الأمور بسيطة إلى حد ما، فإن قواعد النظم ولدت تقتصر على أنماط الأسعار. سيكون لكل قاعدة دخول لنظام تجاري تم إنشاؤه النموذج التالي:
مفتاح هذه العملية هو العثور على أنظمة التداول المرشحة. ويمكن أن يتألف النظام من قاعدة واحدة إلى عشرة قواعد بالشكل الموضح أعلاه. يتم إدخال الصفقات في السوق إذا كانت جميع القواعد صحيحة، وتخرج الصفقات عدد معين من الحانات في وقت لاحق. وإذا تم ترميز هذا النظام كنظام تراديستاتيون تقليدي، وبحد أقصى قدره 10 قواعد، سيكون هناك 52 مدخلات. وهذا من شأنه أن يجعل استراتيجية مرهقة.
يتوفر رمز نظام أوتوسيستمجين ووظائفه ذات الصلة في برياكوت فوتشرز (برياكوتفوتشرز) في صفحة التنزيلات المجانية.
وكمثال على ذلك، النظر في سوق العقود الآجلة لسندات الخزانة لمدة 30 عاما (الرمز @ US. P في ترادستاتيون 8). تم تحسين أوتوسيستمجين على مدى السنوات ال 20 الماضية من أسعار T - السندات مع إدخال أوبستيب زيادة من 1 إلى 10000. وهذا يعني أن النظام تقييم 10،000 أنظمة التداول المختلفة. تم تشغيل الأمثل مرتين، مرة واحدة للتجار طويلة ومرة ​​واحدة للتجار قصيرة. تم استخدام متطلبات الأداء التالية: صافي ربح لا يقل عن 30،000 $، أسوأ حالة لا يزيد عن 7500 $، ما لا يقل عن 200 الصفقات، في المئة مربحة من 50٪ على الأقل، وعامل الربح لا يقل عن 1.2. على جهاز كمبيوتر ثنائي النواة يعمل بنظام التشغيل فيستا، استغرق الأمر حوالي 10 دقائق لتشغيل كل تحسين (10000 نظام لكل تحسين).
سيستيم 2332، @ US. P، 9/17/2007 12:23:00، لونغ ترادس.
صافي الربح = 53562.50، ماكس د = -7381.25، عدد الصفقات = 250، انتصارات في المئة = 56.80، عامل البروفيسور = 1.631.
فار: إنكست (فالس)؛
إنتنكست = فتح [2] & غ؛ = منخفض [16] و.
كلوز [14] & لوت؛ = لو [6] أند.
إذا إنتنكست ثم.
شراء شريط المقبل في السوق.
إذا بارسينسينتري = 2 ثم.
بيع شريط المقبل في السوق.
سيستيم 5771، @ US. P، 9/17/2007 12:27:00، لونغ ترادس.
صافي الربح = 42145.00، ماكس د = -5733.75، عدد الصفقات = 207، نسبة انتصارات = 57.00، عامل البروفيسور = 1.631.
فار: إنكست (فالس)؛
إنتنكست = هاي [7] & غ؛ = منخفض [19] و.
إغلاق [20] & غ؛ = أغلق [5] و.
مرتفع [18] & غ؛ = منخفض [2] و.
إذا إنتنكست ثم.
شراء شريط المقبل في السوق.
إذا بارسينسينتري = 2 ثم.
بيع شريط المقبل في السوق.
سيستيم 7622، @ US. P، 9/17/2007 12:29:00، لونغ ترادس.
صافي الربح = 59348.75، ماكس د = -7222.50، عدد الصفقات = 208، انتصارات في المئة = 60.58، عامل البروفيسور = 1.924.
فار: إنكست (فالس)؛
إنتنكست = لو [2] & لوت؛ = هاي [9] و.
فتح [11] & غ؛ = فتح [18] و.
إذا إنتنكست ثم.
شراء شريط المقبل في السوق.
إذا بارسينسينتري = 3 ثم.
بيع شريط المقبل في السوق.
سيستيم 7718، @ US. P، 9/17/2007 12:29:00، لونغ ترادس.
صافي الربح = 35526.25، ماكس د = -6936.25، عدد الصفقات = 292، انتصارات في المئة = 56.85، عامل البروفيسور = 1.418.
فار: إنكست (فالس)؛
إنتنكست = إغلاق [3] & غ؛ = عالية [19] و.
عالية [6] & لوت؛ = فتح [10] و.
إذا إنتنكست ثم.
شراء شريط المقبل في السوق.
إذا بارسينسينتري = 1 ثم.
بيع شريط المقبل في السوق.
سيستيم 6160، @ US. P، 9/17/2007 12:42:00، شورت ترادس.
صافي الربح = 31277.50، ماكس د = -6846.25، عدد الصفقات = 369، نسبة انتصارات = 51.76، معامل البروفيسور = 1.297.
فار: إنكست (فالس)؛
إنتنكست = هاي [9] & غ؛ = لو [6] و.
إغلاق [15] & غ؛ = مرتفع [8] و.
هاي [7] & لوت؛ = لو [20] و.
إذا إنتنكست ثم.
بيع شريط المقبل القصير في السوق.
إذا بارسينسينتري = 1 ثم.
شراء لتغطية شريط المقبل في السوق.
تتضمن القائمة لكل نظام رقم النظام (المقابل لإدخال أوبستيب)، ورمز السوق، والتاريخ الحالي، وعما إذا كان النظام طويلا فقط أم قصيرا فقط. يحتوي السطر التالي على بعض إحصاءات الأداء الموجزة للمساعدة في تقييم كل نظام. وأخيرا، يظهر رمز النظام. لتقييم الأنظمة في ترادستاتيون، يمكن نسخ التعليمات البرمجية بين خطي التعليق () ولصقها في استراتيجية في ترادستاتيون، ثم تشغيل في إطار المخطط.
آخر نظام في ملف الإخراج هو لنظام قصير فقط (# 6160). عند حفظها في ترادستاتيون كاستراتيجية وتطبيقها على نفس الرسم البياني السندات T، تم إنتاج منحنى الأسهم التالية:
الشكل 3. نظام قصير فقط لسندات T، 20 عاما الماضية، مع 15 $ في التجارة خصمها لتغطية تكاليف التداول، التي تم إنشاؤها بواسطة نظام أوتوسيستمجين.
البرمجة الوراثية لتوليد رمز التلقائي.
The ad hoc approach described in the previous section is simple but has two limitations: (1) the randomly generated strategies don’t converge towards the build goals, and (2) the template of the pattern system is difficult to generalize to more complex strategies. This suggests a more sophisticated approach is needed.
A method for automatic code generation that addresses both these concerns is called genetic programming (GP), 1 which belongs to a class of techniques called evolutionary algorithms. Evolutionary algorithms and GP in particular were developed by researchers in artificial intelligence based on the biological concepts of reproduction and evolution. A GP algorithm “evolves” a population of trading strategies from an initial population of randomly generated members. Members of the population compete against each other based on their “fitness.” The fitter members are selected as “parents” to produce a new member of the population, which replaces a weaker (less fit) member.
Reduces the need for knowledge of technical indicators and strategy design. The GP algorithm selects the individual trading rules, indicators, and other elements of the strategy for you.
The rule construction process allows for considerable complexity, including nonlinear trading rules.
The GP process eliminates the most labor intensive and tedious elements of the traditional strategy development process; namely, coming up with a new trading idea, programming it, verifying the code, testing the strategy, modifying the code, and repeating. This is all done automatically in GP.
The GP process is unbiased. Whereas most traders have developed biases for or against specific indicators and/or trading logic, GP is guided only by what works.
By incorporating proper trading rule semantics, the GP process can be designed to produce logically correct trading rules and error-free code.
The GP process often produces results that are not only unique but non-obvious. In many cases, these hidden gems would be nearly impossible to find any other way.
By automating the build process, the time required to develop a viable strategy can be reduced from weeks or months to a matter of minutes in some cases, depending on the length of the input price data file and other build settings.
Genetic programming has been successfully used in a variety of fields, including signal and image processing, process control, bioinformatics, data modeling, programming code generation, computer games, and economic modeling; see, for example Poli et al. 2 An overview of using GP in finance is provided by Chen. 3 Colin 4 was one of the first to explain how to use GP for optimizing combinations of rules for a trading strategy.
J. Koza. Genetic Programming. The MIT Press, Cambridge, MA. 1992.
R. Poli, W. B. Langdon, and N. F. McPhee. A field guide to genetic programming. Published via lulu and freely available at gp-field-guide. uk, 2008. (With contributions from J. R. Koza).
Shu-Heng Chen (Editor). Genetic Algorithms and Genetic Programming in Computational Finance. Kluwer Academic Publishers, Norwell, MA. 2002.
A. Colin. Genetic algorithms for financial modeling, Trading on the Edge. 1994, Pages 165-168. جون وايلي & أمب؛ Sons, Inc. New York.
Risto Karjalainen. Evolving technical trading rules for S&P 500 futures, Advanced Trading Rules, 2002, Pages 345-366. Elsevier Science, Oxford, UK.
Jean-Yves Potvin, Patrick Soriano, Maxime Vallee. Generating trading rules on the stock markets with genetic programming. أجهزة الكمبيوتر & أمب؛ Operations Research, Volume 31, Issue 7, June 2004, Pages 1033-1047.
Massimiliano Kaucic. Investment using evolutionary learning methods and technical rules. European Journal of Operational Research, Volume 207, Issue 3, 16 December 2018, Pages 1717-1727.
A Build Algorithm Using Genetic Programming.
Expanding on the build algorithm presented previously (see Fig. 1), a more detailed algorithm is illustrated below in Fig. 4 based on genetic programming. The gray-shaded boxes represent the input data, which includes the price data for the market(s) of interest, the indicators and order types in the so-called build set, and the options and performance criteria (build goals) selected by the user.
Figure 4. Build algorithm for automatic code generation with genetic programming.
The GP process can be used to evolve two essential strategy elements simultaneously: entry conditions and orders for entry and exit. The entry conditions are typically represented as tree structures, as shown below in Fig. 5.
The key to evolving entry and exit orders using genetic programming is representing the different types of orders in a generalized fashion. For example, stop and limit entry prices can be represented as follows:
While genetic programming is capable of generating trading strategies with considerable variety, it’s necessary to start with a generalized structure for the strategies to follow. The strategy structure shown below in pseudo-code provides a framework for building strategies based on entry conditions and order types like those discussed above:
Inputs: N1, N2, N3, …
If position is flat and LongEntryCondition is true then.
Long entry order…
Initialize long exit orders as necessary…
If position is flat and ShortEntryCondition is true then.
Short entry order…
Initialize short exit orders as necessary…
If position is long then.
Long exit order 1…
Long exit order 2…
If position is short then.
Short exit order 1…
Short exit order 2…
[Optional end-of-day exit]
The strategies start with the list of inputs. An input is provided for any indicator parameter, price pattern look-back length, and any parameters required by the entry and exit orders, such as the look-back length for the ATR.
To illustrate using genetic programming for automatic code generation in strategy building, the program Adaptrade Builder was run on daily bars of a stock index futures market for a small population and a limited number of generations. The performance metrics chosen to guide the process were the net profit, number of trades, correlation coefficient, statistical significance, and the return/drawdown ratio. Specific targets were set for the number of trades and the return/drawdown ratio. The other selected metrics were maximized. The fitness function was a weighted average of terms for each metric.
Figure 6. Percentage of population members with out-of-sample net profit greater than $1,000.
Similarly, the average OOS net profit of the population increased after five and 10 generations, as shown in Fig. 7. Note that these results are for the OOS net profit. By definition, the out-of-sample data is not used in the build, so OOS results are unbiased; they don’t benefit from hindsight. This implies that the GP process not only tends to improve the in-sample results over successive generations, which is a direct effect of the GP algorithm, but the OOS results also tend to improve as the strategies are evolved. This indicates a high quality build.
EasyLanguage Strategy Code for TradeStation.
Population member: 46.
Created by: Adaptrade Builder version 1.1.0.0.
Created: 10/19/2018 2:19:52 PM.
TradeStation code for TS 6 or newer.
Price File: C:\TestData. txt.
Var: EntCondL (false),
EntCondL = (Highest(Volume, NL1) >= Lowest(Volume, NL2)) or (Volume < Average(Volume, NL3));
If MarketPosition = 0 and EntCondL then begin.
Buy next bar at XAverage(L, NBarEnL1) + EntFrL * ATREnL stop;
If MarketPosition = 0 and EntCondS then begin.
Sell short next bar at Highest(H, NBarEnS1) - EntFrS * AbsValue(Lowest(L, NBarEnS2) - Lowest(H, NBarEnS3)) stop;
SStop = Power(10, 10);
If MarketPosition > 0 then begin.
If BarsSinceEntry >= NBarExL then.
Sell next bar at market;
Sell next bar at EntryPrice + TargFrL * ATRTargL limit;
If MarketPosition < 0 then begin.
If EntryPrice - C > ATRFrTrailS * ATRTrailS then.
If STrailOn then begin.
NewSStop = EntryPrice - TrailPctS * (EntryPrice - C)/100.;
SStop = MinList(SStop, NewSStop);
If BarsSinceEntry >= NBarExS then.
Buy to cover next bar at market;
If STrailOn then.
Buy to cover next bar at SStop stop;
Building trading systems via automatic code generation is a type of optimization. Most systematic traders are probably familiar with parameter optimization, in which the inputs to a strategy are optimized. Unlike parameter optimization, automatic code generation optimizes the strategy’s trading logic. Nonetheless, the risk of over-optimization, or “over-fitting”, is also a concern for automatic code generation, just as it is for parameter optimization.
For information on software for building trading strategies using genetic programming, please click here.
إذا كنت ترغب في أن تكون على علم بالتطورات الجديدة، والأخبار، والعروض الخاصة من أدابتريد البرمجيات، يرجى الانضمام إلى قائمة البريد الإلكتروني لدينا. شكرا لكم.
حقوق الطبع والنشر © 2004-2018 أدابتريد البرمجيات. كل الحقوق محفوظة.

Developing High Performing Trading Strategies with Genetic Programming.
One of the frustrating aspects of research and development of trading systems is that there is never enough time to investigate all of the interesting trading ideas one would like to explore. In the early 1970’s, when a moving average crossover system was considered state of the art, it was relatively easy to develop profitable strategies using simple technical indicators. Indeed, research has shown that the profitability of simple trading rules persisted in foreign exchange and other markets for a period of decades. But, coincident with the advent of the PC in the late 1980’s, such simple strategies began to fail. The widespread availability of data, analytical tools and computing power has, arguably, contributed to the increased efficiency of financial markets and complicated the search for profitable trading ideas. We are now at a stage where is can take a team of 5-6 researchers/developers, using advanced research techniques and computing technologies, as long as 12-18 months, and hundreds of thousands of dollars, to develop a prototype strategy. And there is no guarantee that the end result will produce the required investment returns.
The lengthening lead times and rising cost and risk of strategy research has obliged trading firms to explore possibilities for accelerating the R&D process. One such approach is Genetic Programming.
Early Experiences with Genetic Programming.
I first came across the GP approach to investment strategy in the late 1990s, when I began to work with Haftan Eckholdt, then head of neuroscience at Yeshiva University in New York. Haftan had proposed creating trading strategies by applying the kind of techniques widely used to analyze voluminous and highly complex data sets in genetic research. I was extremely skeptical of the idea and spent the next 18 months kicking the tires very hard indeed, of behalf of an interested investor. Although Haftan’s results seemed promising, I was fairly sure that they were the product of random chance and set about devising tests that would demonstrate that.
One of the challenges I devised was to create data sets in which real and synthetic stock series were mixed together and given to the system evaluate. To the human eye (or analyst’s spreadsheet), the synthetic series were indistinguishable from the real thing. But, in fact, I had “planted” some patterns within the processes of the synthetic stocks that made them perform differently from their real-life counterparts. Some of the patterns I created were quite simple, such as introducing a drift component. But other patterns were more nuanced, for example, using a fractal Brownian motion generator to induce long memory in the stock volatility process.
It was when I saw the system detect and exploit the patterns buried deep within the synthetic series to create sensible, profitable strategies that I began to pay attention. A short time thereafter Haftan and I joined forces to create what became the Proteom Fund.
That Proteom succeeded at all was a testament not only to Haftan’s ingenuity as a researcher, but also to his abilities as a programmer and technician. Processing such large volumes of data was a tremendous challenge at that time and required a cluster of 50 cpu’s networked together and maintained with a fair amount of patch cable and glue. We housed the cluster in a rat-infested warehouse in Brooklyn that had a very pleasant view of Manhattan, but no a/c. The heat thrown off from the cluster was immense, and when combined with very loud rap music blasted through the walls by the neighboring music studios, the effect was debilitating. As you might imagine, meetings with investors were a highly unpredictable experience. Fortunately, Haftan’s intellect was matched by his immense reserves of fortitude and patience and we were able to attract investments from several leading institutional investors.
The Genetic Programming Approach to Building Trading Models.
Genetic programming is an evolutionary-based algorithmic methodology which can be used in a very general way to identify patterns or rules within data structures. The GP system is given a set of instructions (typically simple operators like addition and subtraction), some data observations and a fitness function to assess how well the system is able to combine the functions and data to achieve a specified goal.
In the trading strategy context the data observations might include not only price data, but also price volatility, moving averages and a variety of other technical indicators. The fitness function could be something as simple as net profit, but might represent alternative measures of profitability or risk, with factors such as PL per trade, win rate, or maximum drawdown. In order to reduce the danger of over-fitting, it is customary to limit the types of functions that the system can use to simple operators (+,-,/,*), exponents, and trig functions. The length of the program might also be constrained in terms of the maximum permitted lines of code.
We can represent what is going on using a tree graph:
In this example the GP system is combining several simple operators with the Sin and Cos trig functions to create a signal comprising an expression in two variables, X and Y, which may be, for example, stock prices, moving averages, or technical indicators of momentum or mean reversion.
The “evolutionary” aspect of the GP process derives from the idea that an existing signal or model can be mutated by replacing nodes in a branch of a tree, or even an entire branch by another. System performance is re-evaluated using the fitness function and the most profitable mutations are retained for further generation.
The resulting models are often highly non-linear and can be very general in form.
The last fifteen years has seen tremendous advances in the field of genetic programming, in terms of the theory as well as practice. Using a single hyper-threaded CPU, it is now possible for a GP system to generate signals at a far faster rate than was possible on Proteom’s cluster of 50 networked CPUs. A researcher can develop and evaluate tens of millions of possible trading algorithms with the space of a few hours. Implementing a thoroughly researched and tested strategy is now feasible in a matter of weeks. There can be no doubt of GP’s potential to produce dramatic reductions in R&D lead times and costs. But does it work?
To address that question I have summarized below the performance results from a GP-developed daytrading system that trades nine different futures markets: Crude Oil (CL), Euro (EC), E-Mini (ES), Gold (GC), Heating Oil (HO), Coffee (KC), Natural gas (NG), Ten Year Notes (TY) and Bonds (US). The system trades a single contract in each market individually, going long and short several times a day. Only the most liquid period in each market is traded, which typically coincides with the open-outcry session, with any open positions being exited at the end of the session using market orders. With the exception of the NG and HO markets, which are entered using stop orders, all of the markets are entered and exited using standard limit orders, at prices determined by the system.
The system was constructed using 15-minute bar data from Jan 2006 to Dec 2018 and tested out-of-sample of data from Jan 2018 to May 2017. The in-sample span of data was chosen to cover periods of extreme market stress, as well as less volatile market conditions. A lengthy out-of-sample period, almost half the span of the in-sample period, was chosen in order to evaluate the robustness of the system.
Out-of-sample testing was “double-blind”, meaning that the data was not used in the construction of the models, nor was out-of-sample performance evaluated by the system before any model was selected.
Performance results are net of trading commissions of $6 per round turn and, in the case of HO and NG, additional slippage of 2 ticks per round turn.
(click on the table for a higher definition view)
The most striking feature of the strategy is the high rate of risk-adjusted returns, as measured by the Sharpe ratio, which exceeds 5 in both in-sample and out-of-sample periods. This consistency is a reflection of the fact that, while net returns fall from an annual average of over 29% in sample to around 20% in the period from 2018, so, too, does the strategy volatility decline from 5.35% to 3.86% in the respective periods. The reduction in risk in the out-of-sample period is also reflected in lower Value-at-Risk and Drawdown levels.
A decline in the average PL per trade from $25 to $16 in offset to some degree by a slight increase in the rate of trading, from 42 to 44 trades per day, on average, while daily win rate and percentage profitable trades remain consistent at around 65% and 56%, respectively.
Overall, the system appears to be not only highly profitable, but also extremely robust. This is impressive, given that the models were not updated with data after 2018, remaining static over a period almost half as long as the span of data used in their construction. It is reasonable to expect that out-of-sample performance might be improved by allowing the models to be updated with more recent data.
Benefits and Risks of the GP Approach to Trading System Development.
The potential benefits of the GP approach to trading system development include speed of development, flexibility of design, generality of application across markets and rapid testing and deployment.
What about the downside? The most obvious concern is the risk of over-fitting. By allowing the system to develop and test millions of models, there is a distinct risk that the resulting systems may be too closely conditioned on the in-sample data, and will fail to maintain performance when faced with new market conditions. That is why, of course, we retain a substantial span of out-of-sample data, in order to evaluate the robustness of the trading system. Even so, given the enormous number of models evaluated, there remains a significant risk of over-fitting.
Another drawback is that, due to the nature of the modelling process, it can be very difficult to understand, or explain to potential investors, the “market hypothesis” underpinning any specific model. “We tested it and it works” is not a particularly enlightening explanation for investors, who are accustomed to being presented with a more articulate theoretical framework, or investment thesis. Not being able to explain precisely how a system makes money is troubling enough in good times; but in bad times, during an extended drawdown, investors are likely to become agitated very quickly indeed if no explanation is forthcoming. Unfortunately, evaluating the question of whether a period of poor performance is temporary, or the result of a breakdown in the model, can be a complicated process.
Finally, in comparison with other modeling techniques, GP models suffer from an inability to easily update the model parameters based on new data as it become available. Typically, as GP model will be to rebuilt from scratch, often producing very different results each time.
Despite the many limitations of the GP approach, the advantages in terms of the speed and cost of researching and developing original trading signals and strategies have become increasingly compelling.
Given the several well-documented successes of the GP approach in fields as diverse as genetics and physics, I think an appropriate position to take with respect to applications within financial market research would be one of cautious optimism.

No comments:

Post a Comment