هناك مجموعة كبيرة من الأدبيات حول نجاح تطبيق الخوارزميات التطورية بشكل عام، والخوارزمية الجينية على وجه الخصوص، إلى الأسواق المالية. ومع ذلك، أشعر بعدم الارتياح عند قراءة هذا الأدب. الخوارزميات الجينية يمكن أن تتناسب مع البيانات الموجودة. مع العديد من تركيبات، فمن السهل أن يأتي مع عدد قليل من القواعد التي تعمل. قد لا يكون قويا وليس لديها تفسير ثابت لماذا تعمل هذه القاعدة وهذه القواعد لا تتجاوز مجرد حجة (دائرية) أنه يعمل لأن الاختبار يظهر أنه يعمل. ما هو توافق الآراء الحالي على تطبيق الخوارزمية الجينية في التمويل طلب فب 18 11 في 9:00 عملت إيف في صندوق التحوط الذي سمح للاستراتيجيات المشتقة من غا. من أجل السلامة، فإنه يتطلب تقديم جميع النماذج قبل الإنتاج بوقت طويل للتأكد من أنها لا تزال تعمل في باكتيستس. لذلك يمكن أن يكون هناك تأخير لمدة تصل إلى عدة أشهر قبل أن يسمح نموذج لتشغيل. كما أنها مفيدة لفصل الكون عينة استخدام نصف عشوائي من الأسهم المحتملة لتحليل غا والنصف الآخر لتأكيد باكتيستس. هل هذه عملية مختلفة عن تلك التي ستستخدمها قبل الوثوق بأي استراتيجية تداول أخرى (إذا كان الأمر كذلك، فليس من الواضح بالنسبة لي ما تكسبه من استخدام نموذج غا باستخدام البيانات إلى الوقت t، ثم الاختبار حتى تن قبل الوثوق به، مقابل استخدام البيانات إلى الوقت تن، والاختبار من تن إلى t، واستخدامه على الفور.) نداش دارين كوك 23 نوفمبر في 2:08 دارينكوك قضية واحدة أرى أنه إذا كنت اختبار من تن إلى t والعثور عليه لا تعمل بشكل جيد، ثم you39re الذهاب لإنشاء نموذج آخر الذي يتم اختباره في نفس الفترة الزمنية تن إلى t (إعلان اللانهائي). ويدخل ذلك احتمالية إزاحة الكتلة أثناء عملية إنشاء النموذج. نداش تشان-هو سوه 22 يوليو في 5:24 فيما يتعلق بالتلصص البيانات، إذا تم تنفيذ غا بشكل صحيح، وهذا ينبغي أن يكون مصدر قلق. يتم تضمين وظائف طفرة على وجه التحديد للبحث عشوائيا من خلال مساحة المشكلة، وتجنب التطفل البيانات. أن يقال، العثور على مستويات طفرة الحق يمكن أن يكون شيئا من الفن وإذا كانت مستويات طفرة منخفضة جدا، ثم it39s كما لو كانت وظيفة wast39t تنفيذها في المقام الأول. نداش بيوانفورماتيكشغال أبر 6 11 في 16:28 بوينفورماتيكشغال I don39t فهم كيف أن إدراج وظائف طفرة يسمح لنا لتجنب البيانات التطفل. بعد البحث، هناك 39 وظيفة اللياقة البدنية مما يجعل كل جيل 39fit39 البيانات أكثر من أي وقت مضى. أو أنا لا أفهم لكم بشكل صحيح نداش فيشال بلزار 15 سبتمبر 11 في 18:05 ثيريس الكثير من الناس هنا نتحدث عن كيفية غاس التجريبية، لا تملك الأسس النظرية، هي صناديق سوداء، وما شابه ذلك. أتوسل إلى أن تختلف ثيرس فرع كامل من الاقتصاد مكرسة للنظر في الأسواق من حيث الاستعارات التطورية: الاقتصاد التطوري أنا أوصي كتاب دوبر، والأسس التطورية للاقتصاد، كمقدمة. cambridge. orggbknowledgeisbnitem1158033sitelocaleenGB إذا كان وجهة نظرك الفلسفية هي أن السوق هو في الأساس كازينو العملاقة، أو لعبة، ثم غا هو مجرد مربع أسود وليس لديها أي أساس نظري. ومع ذلك، إذا كانت فلسفتك هي أن السوق هو البقاء للأصلح البيئة، ثم غاس لديها الكثير من الأسس النظرية، ومن المعقول تماما لمناقشة أشياء مثل الشركات الاختلافات، وبيئات السوق، جينوم المحفظة، والمناخ التجاري، و مثل. أجاب أبريل 5 11 في 15:42 في وقت قصير المقاييس هو أكثر كازينو. مثل الطبيعة، في الواقع. نداش كوانتديف أبريل 5 11 في 20:46 كوانتديف، المشكلة مع هذا هو أن GA-- مثل أي أساليب كمية أخرى - يعمل فقط مع نطاق زمني قصير، إذا I39m ليس مخطئا. لذلك إذا كان سوق الأسهم هو أشبه سوق الأسهم، ثم غا سيكون عديم الجدوى تماما. نداش غرافيتون أبر 6 11 في 8:56 غرافيتون. ليس هناك سبب ملازم لعدم قدرة أحدهم على برمجة برنامج غا للقيام بتحليل في فترات زمنية أطول. يتم قياس النطاق الزمني لجمعية عامة في أجيال وليس سنوات أو أيام. لذلك، يحتاج المرء ببساطة إلى تعريف السكان الذين يحتويون على أجيالهم سنوات أو عقود طويلة (أي الشركات). كان هناك بالتأكيد بعض العمل الذي يقترب من تعريف 39genomes الشركات من خلال عمليات الإنتاج الخاصة بهم. وفي مثل هذا النموذج، يمكن للمرء أن يستفيد من نموذج أعمال مؤسسي يتسم بالكفاءة، نظرا لمناخ سوقي معين. ومع ذلك، فإنه ليس نموذج محفظة سعر السهم. نداش بيوانفورماتيكشغال أبريل 6 11 في 15:12 على افتراض تجنب التحيز البيانات التطفل وجميع المخاطرة المحتملة لاستخدام الماضي للتنبؤ في المستقبل، والثقة الخوارزميات الجينية لإيجاد الحل الصحيح يتجلى إلى حد كبير وصولا الى نفس الرهان تقوم به عندما كنت إدارة فعالة للمحفظة، سواء كمي أو تقديرية. إذا كنت تعتقد في كفاءة السوق ثم زيادة تكاليف المعاملات الخاصة بك من الإدارة النشطة غير منطقية. إذا كنت تعتقد أن هناك أنماط أمبير البنيوية النفسية أو العيوب التي يمكن استغلالها والمكافأة يستحق الوقت والمال للبحث وتنفيذ استراتيجية الخيار المنطقي هو الإدارة النشطة. إن تشغيل إستراتيجية مشتقة من غا هو رهان ضمني ضد كفاءة السوق. كنت تقول أساسا أعتقد أن هناك تقييمات سيئة التي تحدث من سبب ما (كتل من الناس غير عقلاني، صناديق الرعي المتبادل بسبب الحوافز سوء الانحياز، وما إلى ذلك) وتشغيل هذا غا يمكن فرز هذه الكتلة من البيانات بطريقة أسرع من ما أستطيع . أجاب 18 فبراير 11 في 15:49 يدويا إدارة محفظة نشطة ينطوي على استخدام جميع المعلومات لدينا واستخلاص استنتاج منطقي حول السوق ومن ثم تنفيذ استراتيجيات على ذلك هو نشاط عقلاني. أوتوه، باستخدام غا يستخدم أداة مربع أسود يمكننا 39t شرح النتيجة المستمدة منه من أي مبادئ مقبولة. I39m ليس متأكدا جدا ما إذا كانت هذه هي حقا نفس الشيء. نداش غرافيتون 18 فبراير 11 في 15:57 غرافيتون نعم ولكن النظر في أوجه التشابه بين GA39s وكيف لنا البشر يتعلمون عن الأسواق، ووضع استراتيجيات، والتعلم من الأخطاء، والتكيف مع ظروف السوق المتغيرة. عندما تبحث ما هي الأسهم الفائزة والخاسرة المشتركة، أو ما هي أنماط الحجم والسعر التي تخلق صفقات جيدة، أو النموذج الذي هو الأكثر دقة لتقييم المشتقات ما تقومون به هو استخراج البيانات الماضي بطريقة. عندما تتغير ظروف السوق يمكنك إما التجارة استراتيجيات جديدة أو في نهاية المطاف الخروج من العمل. إذا كان هناك حواف قابلة للاستغلال في السوق ثم الفرق الوحيد بينك وبين غا هو نداش جوشوا فرصة فبراير 18 11 في 16:46 غرافيتون (بمعنى واسع جدا) هو أن لديك سرد، قصة للذهاب مع الاستراتيجية الخاصة بك . نحن البشر خطر العثور على نمط يبدو متكررة ومن ثم ترشيد ذلك وخلق السرد. GA39s خطر نفس الشيء، إلا أن نموذجهم كاذبة محتملة لا تستخدم الكلمات، فإنها تستخدم الرياضيات والمنطق. نداش جوشوا فرصة فبراير 18 11 في 16:54 أواخر توماس الغلاف. (على الأرجح أبرز نظريات المعلومات في جيله)، ونظرت في النهج العالمية لأشياء مثل ضغط البيانات ومخصصات المحفظة والخوارزميات الجينية الحقيقية. التطور ليس لديه معلمات لتناسب أو تدريب. لماذا يجب أن الخوارزميات الجينية الحقيقية لا تضع النهج الشاملة أي افتراضات حول التوزيع الأساسي للبيانات. أنها لا تبذل أي محاولة للتنبؤ بالمستقبل من أنماط أو أي شيء آخر. الفعالية النظرية للنهج العالمية (أنها تواجه تحديات كبيرة في التنفيذ انظر السؤال الأخير: هندسة للمحافظ الشاملة) متابعة منهم يفعل ما يتطلب التطور. أسرع وأذكى، أو أقوى لا البقاء على قيد الحياة بالضرورة في الجيل القادم. تطور تفضل أن الجينات، والكائن الحي، ميمي، محفظة، أو خوارزمية ضغط البيانات المتمركزة إلى الأكثر سهولة التكيف مع ما يحدث بعد ذلك. أيضا، لأن هذه النهج تجعل لا توجد افتراضات وتشغيل غير بارامتريكالي، يمكن للمرء أن تنظر في جميع الاختبارات، حتى على جميع البيانات التاريخية، خارج العينة. بالتأكيد لديهم قيود، بالتأكيد أنها لا يمكن أن تعمل لكل نوع مشكلة نواجهها في مجالنا، ولكن جي، ما هي طريقة مثيرة للاهتمام للتفكير في الأشياء. أجاب 14 يوليو 13 في 15:42 حسنا، الهدف من ألغو الجينية هو العثور على أفضل حل دون المرور في جميع السيناريوهات المحتملة لأنه سيكون طويلا جدا. لذلك بالطبع هو منحنى المناسب، وهذا هو الهدف. أجاب 6 مارس 11 في 20:40 ولكن هناك فرق كبير بين الإفراط في تجهيز العينة (سيئة) وتركيب السكان (جيد). وهذا هو السبب في أن الكثيرين يقترحون عليك التحقق من صحة خوارزمية مع اختبار خارج العينة. نداش جوشوا 17 يوليو 13 في 02:34 إجابتك 2017 كومة الصرف، إنسنوكرون الخوارزمية الجينية في فوريكس أنظمة التداول باستخدام خوارزمية جينية لخلق مربحة الفوركس استراتيجية التداول. الخوارزمية الجينية في اللحاء الشبكات العصبية البرمجيات فيدفوروارد باكبروباغاتيون الشبكة العصبية تطبيق الحسابات الجينية على أساس تداول العملات الأجنبية. يستخدم هذا المثال مفاهيم وأفكار المقالة السابقة، لذا يرجى قراءة الخوارزمية الجينية للشبكة العصبية في فوريكس ترادينغ سيستمز أولا، على الرغم من أنها ليست إلزامية. حول هذا النص أولا وقبل كل شيء، يرجى قراءة إخلاء المسؤولية. هذا هو مثال على استخدام اللحاء الشبكات العصبية وظائف البرمجيات الخوارزمية الجينية، وليس مثالا على كيفية القيام التداول المربح. أنا لست المعلم الخاص بك، لا ينبغي أن تكون مسؤولة عن الخسائر الخاصة بك. كورتيكس نيورال نيتوركس البرامج لديها شبكات عصبية في ذلك، و ففب ناقشنا من قبل هو طريقة واحدة فقط لاختيار استراتيجيات تداول العملات الأجنبية. بل هو تقنية جيدة وقوية وعند تطبيقها بشكل صحيح، واعد جدا. ومع ذلك، فإنه لديه مشكلة - لتعليم شبكة العصبية تن. نحن بحاجة إلى معرفة الناتج المطلوب. فمن السهل أن تفعل عندما نفعل وظيفة تقريب، ونحن فقط تأخذ القيمة الحقيقية وظيفة، لأننا نعرف ما ينبغي أن يكون. عندما نفعل التنبؤ الشبكة العصبية. ونحن نستخدم تقنية (وصفها في المواد السابقة) لتعليم الشبكة العصبية على التاريخ، مرة أخرى، إذا كنا نتوقع، ويقول، سعر الصرف، ونحن نعلم (أثناء التدريب) ما هو التنبؤ الصحيح. ومع ذلك، عندما نقوم ببناء نظام التداول، ليس لدينا أي فكرة عن قرار التداول الصحيح، حتى لو كنا نعرف سعر الصرف كما في الواقع، لدينا العديد من استراتيجيات تداول العملات الأجنبية يمكننا استخدامها في أي وقت من الأوقات، و ونحن بحاجة إلى العثور على واحد جيد - كيف ماذا يجب أن تغذية كما المخرج المطلوب من الشبكة العصبية لدينا إذا كنت اتبعت المادة السابقة، كما تعلمون، أننا قد خدع للتعامل مع هذه المشكلة. علمنا الشبكة العصبية للقيام سعر الصرف (أو مؤشر سعر الصرف القائم) التنبؤ، ثم استخدم هذا التنبؤ للقيام التداول. ثم، خارج الشبكة العصبية جزء من البرنامج، اتخذنا قرارا على الشبكة العصبية هي أفضل واحد. الخوارزميات الجينية يمكن التعامل مع هذه المشكلة مباشرة، فإنها يمكن حل المشكلة المذكورة كما تجد أفضل إشارات التداول. في هذه المقالة نحن ذاهبون لاستخدام اللحاء العصبية الشبكات البرمجيات لإنشاء مثل هذا البرنامج. استخدام الخوارزميات الوراثية الخوارزمية الجينية هي متطورة جدا، ومتنوعة جدا. إذا كنت تريد أن تتعلم كل شيء عنهم، وأنا أقترح عليك استخدام ويكيبيديا، وهذه المقالة هي فقط حول ما اللحاء الشبكات العصبية البرمجيات يمكن القيام به. وجود اللحاء الشبكات العصبية البرمجيات. يمكننا إنشاء شبكة عصبية تأخذ بعض المدخلات، مثلا، قيم مؤشر، وتنتج بعض الإخراج، مثلا، إشارات التداول (شراء، بيع، عقد). وقف الخسارة تأخذ مستويات الربح للوظائف التي سيتم فتحها. وبطبيعة الحال، إذا كنا البذور هذه الأوزان شبكة العصبية عشوائيا، فإن نتائج التداول تكون رهيبة. ومع ذلك، دعونا نقول نحن خلق عشرات من هذه الشبكات الوطنية. ثم يمكننا اختبار أداء كل منهم، واختيار أفضل واحد، والفائز. كان هذا هو الجيل الأول من ن. للاستمرار في الجيل الثاني، نحن بحاجة إلى السماح للفائز لدينا الإنجاب، ولكن لتجنب الحصول على نسخ متطابقة، يتيح إضافة بعض نويس عشوائي إلى الأوزان النسبية. في الجيل الثاني، لدينا لدينا الجيل الأول الفائز والنسخ ناقصة (متحور). يتيح إجراء الاختبار مرة أخرى. سيكون لدينا الفائز آخر، وهو أفضل ثم أي شبكة العصبية الأخرى في الجيل. وما إلى ذلك وهلم جرا. نحن ببساطة السماح للفائزين على السلالة، والقضاء على الخاسرين، تماما كما هو الحال في تطور الحياة الحقيقية، وسوف نحصل على أفضل شبكة التداول لدينا العصبية. دون أي معرفة مسبقة حول ما ينبغي أن يكون نظام التداول (الخوارزمية الجينية) مثل. الخوارزمية الجينية للشبكة العصبية: مثال 0 هذا هو أول مثال خوارزمي جيني. و بسيطة جدا. نحن ذاهبون إلى المشي من خلال ذلك خطوة بخطوة، لتعلم كل الحيل أن الأمثلة التالية سوف تستخدم. يحتوي الرمز على تعليقات مضمنة، لذلك يتيح التركيز فقط على اللحظات الرئيسية. أولا، أنشأنا شبكة عصبية. ويستخدم الأوزان العشوائية، ولم يتم تعليمه بعد. ثم، في دورة، ونحن جعل 14 نسخة منه، وذلك باستخدام موتاتيون فومكتيون. هذه الوظيفة يجعل نسخة من شبكة العصبية المصدر. مضيفا قيم عشوائية من 0 إلى (في حالتنا) 0.1 لجميع الأوزان. نحن نحافظ على مقابض ل 15 نونس الناتجة في صفيف، يمكننا أن نفعل ذلك، والمقبض هو مجرد عدد صحيح. السبب في أننا نستخدم 15 ننس لا علاقة له مع التداول: اللحاء الشبكات العصبية البرمجيات يمكن رسم ما يصل إلى 15 خطوط على الرسم البياني في وقت واحد. يمكننا استخدام نهج مختلفة للاختبار. أولا، يمكننا استخدام مجموعة التعلم، كل ذلك في وقت واحد. ثانيا، يمكننا اختبار على سبيل المثال، 12000 ريسوردس (من أصل 100000)، والمشي من خلال مجموعة التعلم، من البداية إلى النهاية. وهذا سيجعل ليرنيغس مختلفة، ونحن سوف ننظر للشبكة العصبية ق التي هي مربحة على أي جزء معين من البيانات، وليس فقط على مجموعة كاملة. النهج الثاني يمكن أن يعطينا مشاكل، إذا تغير البيانات، من البداية إلى النهاية. ثم ستتطور الشبكة، وستحصل على القدرة على التداول في نهاية مجموعة البيانات، وفقدان القدرة على التجارة في بدايتها. لحل هذه المشكلة، ونحن في طريقنا لاتخاذ عشوائي 12000 سجلات شظايا من البيانات، وإطعامه إلى الشبكة العصبية. هو مجرد دورة لا نهاية لها، كما 100000 دورات لن يتم الوصول إليها في سرعة لدينا. نضيف أدناه طفل واحد لكل شبكة، مع أوزان مختلفة قليلا. ملاحظة، أن 0.1 للطفرة تانج ليس الخيار الوحيد، كما هو الأمر الواقع، حتى هذه المعلمة يمكن أن يكون الأمثل باستخدام الخوارزمية الجينية. تضاف ننس التي تم إنشاؤها حديثا بعد 15 منها القائمة. بهذه الطريقة لدينا 30 ننس في صفيف، 15 القديمة و 15 جديدة. ثم سنقوم بالقيام بالدورة التالية من الاختبار، وقتل الخاسرين، من كلا الأجيال. للقيام الاختبار، ونحن نطبق الشبكة العصبية لبياناتنا، لإنتاج مخرجات، ومن ثم استدعاء وظيفة الاختبار، التي تستخدم هذه النواتج لمحاكاة التداول. يتم استخدام نتائج التداول للتنازل، والتي هي الأفضل. نحن نستخدم الفاصل الزمني لسجلات نلارن، من نستارت إلى نستارت نلارن، حيث نستارت هو نقطة عشوائية ضمن مجموعة التعلم. الرمز أدناه هو خدعة. والسبب الذي نستخدمه هو توضيح الحقيقة، أن الخوارزمية الجينية يمكن أن تخلق خوارزمية جينية. ولكن لن يكون بالضرورة أفضل واحد، وأيضا، لاقتراح، أن نتمكن من تحسين النتيجة، إذا كنا نعني بعض القيود على عملية التعلم. فمن الممكن، أن نظام التداول لدينا يعمل بشكل جيد جدا على الصفقات الطويلة، والفقيرة جدا على القصير، أو العكس بالعكس. إذا، على سبيل المثال، الصفقات الطويلة جيدة جدا، هذه الخوارزمية الجينية قد يفوز، حتى مع خسائر كبيرة على الصفقات قصيرة. لتجنب ذلك، ونحن تعيين المزيد من الوزن إلى الصفقات الطويلة في التداولات الفردية والقصيرة في دورات حتى. هذا هو مجرد مثال، ليس هناك ما يضمن، أنه سيحسن شيئا. المزيد عن ذلك أدناه، في مناقشة حول التصحيحات. من الناحية الفنية، لم يكن لديك للقيام بذلك، أو يمكن أن تجعل من مختلف. إضافة الربح إلى صفيف فرزها. فإنه يعود موضع الإدراج، ثم نستخدم هذا الموقف لإضافة مقبض الشبكة العصبية والتعلم واختبار الأرباح إلى صفائف غير فرزها. الآن لدينا بيانات للشبكة العصبية الحالية في نفس مؤشر مجموعة أرباحها. والفكرة هي الوصول إلى مجموعة من الشبكات الوطنية، مرتبة حسب الربحية. كما صفيف هو الفرز حسب الربح، لإزالة 12 من الشبكات، التي هي أقل ربحية، ونحن بحاجة فقط لإزالة ننس 0 إلى 14 تستند قرارات التداول على قيمة إشارة الشبكة العصبية، من وجهة النظر هذا البرنامج هو مطابق لأمثلة من المقال السابق. استراتيجية التداول الفوركس: مناقشة المثال 0 أولا وقبل كل شيء، يتيح إلقاء نظرة على الرسوم البيانية. الرسم البياني الأول للربح خلال التكرار الأول ليس جيدا على الإطلاق، كما ينبغي أن يتوقع، الشبكة العصبية يفقد المال (صورة تطور 00000.png نسخ بعد التكرار الأول من مجلد الصور): صورة للربح على دورة 15 هو أفضل، وأحيانا ، الخوارزمية الجينية يمكن أن تتعلم سريع حقا: ومع ذلك، لاحظ التشبع على منحنى الربح. ومن المثير للاهتمام أيضا أن ننظر في طريقة تغير الأرباح الفردية، مع الأخذ في الاعتبار، أن عدد منحنى، ويقول، 3 ليس دائما لنفس الشبكة العصبية. كما أنها ولدت وتنتهي في كل وقت: نلاحظ أيضا، أن القليل من النقد الأجنبي نظام التداول الآلي يؤدي الفقراء على الصفقات قصيرة، وأفضل بكثير على الأطوال، والتي قد تكون أو لا تكون ذات صلة للحقيقة، أن الدولار كان ينخفض مقارنة مع اليورو خلال تلك الفترة. كما قد يكون لها علاقة مع معلمات مؤشرنا (ربما، نحن بحاجة إلى فترة مختلفة للسراويل القصيرة) أو اختيار المؤشرات. هنا هو التاريخ بعد 92 و 248 دورات: لدهشتنا، خوارزمية وراثية فشلت تماما. دعونا نحاول معرفة السبب، وكيفية مساعدة الوضع. أولا وقبل كل شيء، ليس كل جيل من المفترض أن يكون أفضل من بريفيوس واحد الجواب هو لا، على الأقل ليس ضمن النموذج الذي استخدمناه. إذا أخذنا التعلم الكامل مجموعة في وقت واحد، واستخدامها مرارا وتكرارا لتعليم لدينا ننس، ثم نعم، فإنها سوف تتحسن على كل جيل. ولكن بدلا من ذلك، أخذنا شظايا عشوائية (12000 السجلات في الوقت المناسب)، واستخدامها. سؤالان: لماذا فشل النظام على شظايا عشوائية من مجموعة التعلم، ولماذا استخدمنا مجموعة تعليمية كاملة حسنا. للإجابة على السؤال الثاني، فعلت. أداء ننس بشكل كبير - على مجموعة التعلم. وفشلت في اختبار مجموعة، لنفس السبب أنه فشل عندما استخدمنا التعلم فب. لوضعها بشكل مختلف، حصلت لدينا نونس أوفرسبيسياليزد، تعلموا كيفية البقاء على قيد الحياة في البيئة التي تستخدم ل، ولكن ليس خارج ذلك. هذا يحدث الكثير في الطبيعة. كان القصد من النهج الذي أخذنا بدلا من ذلك للتعويض عن ذلك، من خلال إجبار ننس لأداء جيدة على أي جزء عشوائي من مجموعة البيانات، بحيث نأمل، فإنها يمكن أن تؤدي أيضا على مجموعة اختبار غير مألوف. بدلا من ذلك، فشلت كل من الاختبار وعلى مجموعة التعلم. تخيل الحيوانات، الذين يعيشون في الصحراء. وهناك الكثير من الشمس، لا الثلوج على الإطلاق. هذا هو ميتافور للسوق ريج، كما لدينا بيانات ننس تلعب دور البيئة. الحيوانات تعلمت أن تعيش في الصحراء. تخيل الحيوانات التي تعيش في مناخ بارد. الثلج ولا أشعة الشمس على الإطلاق. حسنا، تم تعديلها. ومع ذلك، في تجربتنا، وضعنا عشوائيا لدينا ن في الصحراء، في الثلج، في الماء، على الأشجار. من خلال تقديم لهم شظايا مختلفة من البيانات (ارتفاع عشوائيا، السقوط، شقة). ماتت الحيوانات. أو، لوضعها بشكل مختلف، اخترنا أفضل شبكة العصبية لمجموعة البيانات العشوائية 1، والتي، على سبيل المثال، كان لارتفاع السوق. ثم قدمنا، إلى الفائزين وأطفالهم، بيانات الأسواق المتساقطة. كان أداء الشبكات الوطنية ضعيفا، أخذنا أفضل أداء ضعيف، ربما، أحد الأطفال المتحولين، الذي فقد القدرة على التجارة في الأسواق الصاعدة، ولكن حصلنا على بعض القدرة على التعامل مع هبوط واحد. ثم تحولنا الجدول مرة أخرى، ومرة أخرى، حصلنا على أفضل أداء - ولكن أفضل بين الفقراء الأداء. نحن ببساطة لم نعط لدينا ننس أي فرص لتصبح عالمية. هناك تقنيات تسمح الخوارزمية الجينية لتعلم معلومات جديدة دون فقدان الأداء على المعلومات القديمة (بعد كل شيء، يمكن للحيوانات أن تعيش في الصيف وفي فصل الشتاء، والحق لذلك تطور قادر على التعامل مع التغييرات المتكررة). قد نناقش هذه التقنيات في وقت لاحق، على الرغم من أن هذه المقالة هي أكثر حول استخدام اللحاء الشبكات الشبكات العصبية البرمجيات. أكثر من بناء نظام تداول آلي فوريكس ناجح. الشبكة العصبية الخوارزمية الجينية: مثال 1 الآن حان الوقت للحديث عن التصحيحات. وهناك خوارزمية وراثية بسيطة أنشأناها خلال الخطوة السابقة لها عيوب رئيسية. أولا، فشلت في التجارة مع الربح. على ما يرام، يمكننا أن نحاول استخدام نظام مدربين جزئيا (كان مربحا في البداية). العيب الثاني هو أكثر خطورة: ليس لدينا السيطرة على الأشياء، أن هذا النظام لا. على سبيل المثال، قد تتعلم أن تكون مربحة، ولكن مع سحب ضخمة. بل هو حقيقة معروفة، أنه في واقع الحياة، يمكن للتطور تحسين أكثر من معلمة واحدة في وقت واحد. على سبيل المثال، يمكننا الحصول على حيوان، التي يمكن تشغيلها بسرعة وتكون مقاومة للبرد. لماذا لا تحاول أن تفعل الشيء نفسه في نظام التداول الآلي الفوركس لدينا. هذا عندما نستخدم التصحيحات، والتي ليست سوى مجموعة من العقوبات إضافية. قل، يتداول نظامنا مع سحب 0.5، في حين نريد أن نؤكد ذلك إلى 0 - 0.3 الفاصل الزمني. ولإخبار النظام بأنه ارتكب خطأ، فإننا نقلل أرباحه (واحدة تستخدم لتحديد، والتي فازت الخوارزمية الجينية) إلى درجة، وهذا يتناسب مع حجم د. ثم، خوارزمية التطور يعتني بقية. هناك عدد قليل من العوامل التي نريد أن نأخذها في الاعتبار: قد نرغب في الحصول على عدد متساو تقريبا من عمليات الشراء والبيع، ونحن نريد أن يكون لدينا المزيد من العمليات المربحة، ثم الإخفاقات، قد نرغب في رسم بياني للربح تكون خطية وهلم جرا. في تطور01.tsc نقوم بتنفيذ مجموعة بسيطة من التصحيحات. أولا وقبل كل شيء، نستخدم بعض العدد الكبير لقيمة تصحيح أولية. نحن نضاعف ذلك إلى القيم الصغيرة (عادة، بين 0 و 1)، اعتمادا على العقوبة التي نريد تطبيقها. ثم نقوم بضرب أرباحنا لهذا التصحيح. ونتيجة لذلك، يتم تصحيح الربح، لتعكس مدى توافق الخوارزمية الجينية مع معاييرنا الأخرى. ثم نستخدم النتيجة للعثور على الشبكة العصبية الفائز. استراتيجية التداول الفوركس: مناقشة المثال 1 المثال 1 يعمل أفضل بكثير، من المثال 0. خلال أول 100 دورة، تعلم الكثير، والرسوم البيانية الربح تبدو مطمئنة. ومع ذلك، كما هو الحال في المثال 0، الصفقات الطويلة هي أكثر ربحية بكثير، وهو ما يعني على الأرجح أن هناك مشكلة في نهجنا. ومع ذلك، وجد النظام وجود توازن بين زوجين من الظروف الأولية المتناقضة: هناك بعض الديناميات الإيجابية سواء في مجموعة التعلم، والأهم من ذلك، في مجموعة الاختبار. أما بالنسبة لمزيد من التعلم، في دورة 278 يمكننا أن نرى، أن نظامنا حصلت أوفيرترايند. وهو ما يعني أننا ما زلنا نحرز تقدما في مجموعة التعلم: لكن مجموعة الاختبارات تظهر ضعف: هذه مشكلة شائعة مع ننس: عندما نعلمها على مجموعة التعلم، فإنها تتعلم التعامل معها، وأحيانا تتعلم جيدا - درجة، عندما يفقد الأداء على مجموعة الاختبار. للتعامل مع هذه المشكلة، يتم استخدام حل تقليدي: نبقي تبحث عن الشبكة العصبية. أن أداء أفضل على مجموعة اختبار، وحفظه، الكتابة فوق أفضل واحد سابق، في كل مرة يتم التوصل إلى ذروة جديدة. هذا هو نفس النهج، استخدمنا في التدريب ففب، إلا، وهذه المرة علينا أن نفعل ذلك أنفسنا (إضافة رمز، التي تبحث عن أفضل شبكة العصبية على مجموعة اختبار، ودعوة سافن، أو تصدير الأوزان من الشبكة العصبية إلى ملف). بهذه الطريقة، عند إيقاف التدريب الخاص بك، سيكون لديك أفضل أداء على اختبار مجموعة حفظ وانتظاركم. لاحظ أيضا أنه ليس الحد الأقصى. الربح كنت بعد، ولكن الأداء الأمثل، لذلك النظر في استخدام التصحيحات، عند البحث عن أفضل أداء على مجموعة اختبار. الخوارزمية الجينية فوركس التحليل الفني: أين الآن بعد أن حصلت على الشبكة العصبية الفائز الخاص بك. يمكنك اتباع الخطوات، وصفها في المادة السابقة، لتصدير الأوزان من تلك الشبكة العصبية. ومن ثم استخدامها في منصة التداول في الوقت الحقيقي الخاص بك، مثل ميتا التاجر، محطة التجارة وهلم جرا. بدلا من ذلك، يمكنك التركيز على طرق أخرى لتحسين الشبكة العصبية. على عكس خوارزمية ففب، هنا يمكنك الحصول على أفاي من استخدام التعلم واختبار مجموعات، ونقل التعلم المتسلسل. تحميل اللحاء ترتيب اللحاء عرض قائمة الأسعار الرؤية مهمة جدا لهذا الموقع. إذا كنت ترغب في ذلك يرجى ربط هذا أورلترادينغ مكتبة المادة المكتبة أنظمة التداول باستخدام الجيل التلقائي رمز من قبل مايكل R. براينت كما المزيد والمزيد من التجار انتقلت إلى التداول الآلي، ازداد الاهتمام في استراتيجيات التداول المنهجي. في حين أن بعض التجار تطوير استراتيجيات التداول الخاصة بهم، ومنحنى التعلم الحاد اللازم لتطوير وتنفيذ نظام التداول هو عقبة أمام العديد من التجار. وهناك حل تم تطويره مؤخرا لهذه المشكلة هو استخدام خوارزميات الكمبيوتر لتوليد رمز النظام التجاري تلقائيا. والهدف من هذا النهج هو أتمتة العديد من الخطوات في العملية التقليدية لتطوير النظم التجارية. وغالبا ما تعتمد برمجيات توليد الشفرات الأوتوماتيكية لأنظمة التداول في المباني على البرمجة الجينية (غب)، التي تنتمي إلى فئة من التقنيات تسمى الخوارزميات التطورية. تم تطوير الخوارزميات التطورية و غب على وجه الخصوص من قبل الباحثين في الذكاء الاصطناعي على أساس المفاهيم البيولوجية للتكاثر والتطور. خوارزمية غب تطور مجموعة من استراتيجيات التداول من السكان الأولي من أعضاء إنشاؤه عشوائيا. يتنافس أفراد السكان ضد بعضهم البعض على أساس اللياقة البدنية. يتم اختيار أعضاء المجرب كأولياء الأمور لإنتاج عضو جديد من السكان، الذي يحل محل عضو أضعف (أقل ملاءمة). يتم الجمع بين اثنين من الآباء باستخدام تقنية تسمى كروس، الذي يحاكي كروس وراثي في التكاثر البيولوجي. في كروس، جزء من أحد الوالدين الجينوم جنبا إلى جنب مع جزء من الجينوم الآباء الآخرين لإنتاج الجينوم الطفل. بالنسبة لتوليد نظام التداول، يمكن أن تمثل الجينومات عناصر مختلفة من استراتيجية التداول، بما في ذلك المؤشرات الفنية المختلفة، مثل المتوسطات المتحركة، ستوشاستيك، وهلم جرا أنواع مختلفة من أوامر الدخول والخروج والشروط المنطقية للدخول والخروج من السوق. ويتم إنتاج أفراد آخرين من السكان عن طريق الطفرات، وهو اختيار أحد أفراد السكان ليتم تعديله عن طريق تغيير أجزاء عشوائية من جينومها. وعادة ما تنتج أغلبية (90 في المائة) من الأعضاء الجدد من السكان عبر الكروس، بينما ينتج الأعضاء المتبقون عن طريق الطفرة. على مدى أجيال متعاقبة من التكاثر، واللياقة البدنية العامة للسكان يميل إلى الزيادة. ويستند اللياقة البدنية على مجموعة من الأهداف بناء التي رتبة أو تسجيل كل استراتيجية. وتشمل أمثلة أهداف البناء مقاييس أداء مختلفة، مثل صافي الربح، والتخفيض، ونسبة الفائزين، وعامل الربح، وما إلى ذلك. ويمكن ذكرها كحد أدنى من المتطلبات، مثل عامل ربح لا يقل عن 2.0، أو كأهداف لتعظيمها، مثل تعظيم صافي الربح. إذا كان هناك أهداف بناء متعددة، يمكن استخدام المتوسط المرجح لتكوين مقياس اللياقة البدنية. يتم إيقاف العملية بعد بعض عدد الأجيال أو عندما تتوقف اللياقة البدنية زيادة. وعادة ما يؤخذ الحل كأصلح من السكان الناتج، أو قد يتم فرز جميع السكان من خلال اللياقة البدنية وحفظها لمزيد من الاستعراض. لأن البرمجة الوراثية هو نوع من التحسين، الإفراط في تركيب هو مصدر قلق. ويعالج هذا عادة باستخدام اختبار خارج العينة، حيث لا تستخدم البيانات المستخدمة لتقييم الاستراتيجيات خلال مرحلة البناء يستخدم لاختبارها بعد ذلك. أساسا، كل استراتيجية المرشح التي شيدت خلال عملية البناء هي فرضية إما أن تكون معتمدة أو دحض من قبل التقييم ومزيد من الدعم أو دحض من النتائج خارج العينة. هناك العديد من الفوائد لبناء أنظمة التداول عن طريق توليد رمز التلقائي. عملية غب تمكن من توليف استراتيجيات نظرا فقط مجموعة عالية المستوى من أهداف الأداء. الخوارزمية تفعل بقية. وهذا يقلل من الحاجة إلى معرفة مفصلة بالمؤشرات الفنية ومبادئ تصميم الاستراتيجية. أيضا، عملية غب غير منحازة. في حين أن معظم التجار قد وضعت التحيز أو ضد مؤشرات محددة منطق التداول أندور، ويسترشد غب فقط ما يعمل. وعلاوة على ذلك، من خلال دمج صحيح الدلالات قواعد التداول، ويمكن تصميم عملية غب لإنتاج قواعد التداول الصحيحة منطقيا ورمز خالية من الأخطاء. في كثير من الحالات، عملية غب تنتج نتائج ليست فقط فريدة من نوعها ولكن غير واضحة. هذه الأحجار الكريمة المخفية سيكون من المستحيل تقريبا العثور على أي طريقة أخرى. وأخيرا، من خلال أتمتة عملية البناء، والوقت اللازم لوضع استراتيجية قابلة للحياة يمكن تخفيضها من أسابيع أو أشهر إلى بضع دقائق في بعض الحالات، وهذا يتوقف على طول ملف بيانات سعر المدخلات وغيرها من إعدادات البناء. إذا كنت ترغب في أن تكون على علم بالتطورات الجديدة، والأخبار، والعروض الخاصة من أدابتريد البرمجيات، يرجى الانضمام إلى قائمة البريد الإلكتروني لدينا. شكرا لك. إخلاء المسؤولية هيبوثيتيكال أو نتائج الأداء المحاكاة لها بعض القيود إنيرنت. لا سجل الأداء الفعلي، النتائج المحاكاة لا تمثل التداول الفعلي. أيضا، وبما أن التجارة لم تكن قد تم تنفيذها بشكل فعلي، فقد تكون النتائج قد تم تعويضها أو تعويضها بشكل أكبر عن التأثيرات، إن وجدت، لبعض عوامل السوق، مثل عدم وجود السيولة. برامج التداول المحاكاة بشكل عام هي أيضا تخضع لحقيقة أنها تم تصميمها مع الاستفادة من الأذهان. لا يتم تمثيل أي حساب أو سيكون من المرجح تحقيق الأرباح أو الخسائر مماثلة لتلك التي تظهر. إيسيلانغواد و ترادستاتيون هي علامات تجارية مسجلة ل ترادستاتيون تكنولوجيز، وشركة مقدمة واحدة من أكبر الاتجاهات في تجارة التجزئة على مدى العقد الماضي كانت الزيادة في شعبية التداول الآلي. في هذا النوع من التداول، والمعروف أيضا باسم تنفيذ النظام الآلي، يتم تنفيذ شراء وبيع الإشارات الناتجة عن نظام التداول تلقائيا من قبل منصة متصلة حساب الوساطة التجار. ويتيح هذا التداول بدون استخدام اليدين، الأمر الذي يتيح سرعة التنفيذ، وقلة الأخطاء، والقدرة على تداول إطارات زمنية أقصر مع استراتيجيات ذات ترددات أعلى. ومع ازدياد عدد المتداولين إلى التداول الآلي، ازداد الاهتمام بالاستراتيجيات التجارية المنهجية. في حين أن بعض التجار تطوير استراتيجيات التداول الخاصة بهم، العديد من التجار يفتقرون إلى مهارات البرمجة اللازمة لتنفيذ أفكارهم. تجار آخرون يفتقرون إلى المعرفة المحددة لأساليب التداول الفنية أو الخبرة المطلوبة لتصميم استراتيجية قابلة للحياة. حتى بالنسبة للتجار الذين لديهم المهارات اللازمة لتطوير الأنظمة التجارية، فإن الوقت والجهد اللازمين لتطوير استراتيجية جيدة غالبا ما يكون رادعا. وهناك حل تم تطويره مؤخرا لهذه المشكلة هو استخدام خوارزميات الكمبيوتر لتوليد رمز النظام التجاري تلقائيا. والهدف من هذا النهج هو أتمتة العديد من الخطوات في العملية التقليدية لتطوير النظم التجارية. في النهج التقليدي، اليدوي لتطوير الاستراتيجية، التاجر يختار عناصر استراتيجية التداول على أساس الخبرة السابقة والمعرفة من المؤشرات الفنية، وأنواع أوامر الدخول والخروج، وتصميم الاستراتيجية. عادة، تقوم استراتيجية على فرضية السوق التي هي، فكرة عن كيفية عمل السوق. وعادة ما يتم وضع استراتيجية تداول قابلة للتطبيق من خلال عملية طويلة من التجربة والخطأ تنطوي على العديد من التكرارات، والمراجعات، والاختبار حتى يتم تحقيق نتائج مقبولة. هذه العملية التقليدية لتطوير النظم التجارية هي مضيعة للوقت للغاية، ويتضمن القضاء المنهجي على العديد من الأفكار التي ببساطة لا تعمل. كما أن جميع التجار لديهم تحيزات حول كيفية عمل الأسواق، وهذه التحيزات يمكن أن تؤثر على عملية تطوير النظام. في بعض الحالات، قد تكون هذه التحيزات مفيدة، ولكنها يمكن أن تحد أيضا من الأنظمة المحتملة التي قد ينظر فيها المتداول. بدلا من البدء بمنظر متحيز ومجموعة محدودة من القواعد، مولد رمز التلقائي يبدأ مع مجموعة كبيرة من القواعد وعمليات البحث بطريقة غير منحازة للمجموعات التي تعمل مع القضاء بسرعة على تلك التي لا. تقدم هذه الورقة لمحة عامة عن أساليب توليد الشفرات الأوتوماتيكية لبناء أنظمة التداول. وتناقش كل من الطرق البسيطة والمعقدة. يتم عرض طريقة مخصصة بسيطة التي يمكن تنفيذها في ترادستاتيونس لغة البرمجة إيسيلانغواج للعثور على الاستراتيجيات الأساسية القائمة على نمط السعر. ويناقش أيضا نهج أكثر تعقيدا يقوم على البرمجة الجينية. توليد أنظمة التداول تلقائيا هو فكرة جذابة. ومع ذلك، هناك العديد من السلبيات أيضا. ومن ناحية أخرى، فإن النهج الصارمة، مثل النهج القائمة على البرمجة الجينية، معقدة ومعقدة التنفيذ. أيضا، الجيل التلقائي رمز يعتمد عموما على المحاكاة التاريخية، وهو ما يعني لها عملية الأمثل. وعلى هذا النحو، يجب معالجة خطر الإفراط في تركيبها. وتناقش هذه التحذيرات أيضا. النهج الأساسي إن الخوارزمية الأساسية لبناء أنظمة التداول باستخدام الجيل التلقائي للشفرة موضحة أدناه في الشكل 1. وتبدأ طريقة الجمع بين العناصر المختلفة لاستراتيجية التداول. وقد تشمل هذه العناصر مؤشرات فنية مختلفة، مثل المتوسطات المتحركة، والستوكاستيك، وغير ذلك من أنواع أوامر الدخول والخروج والشروط المنطقية لدخول السوق والخروج منه. الشكل 1. الخوارزمية الأساسية لبناء الاستراتيجية الآلي. بعد دمج العناصر المختلفة في استراتيجية متماسكة، يمكن تقييمها في السوق أو الأسواق ذات الاهتمام. وهذا يتطلب أسعار بيانات السوق، وحجم، وفتح الفائدة، وما إلى ذلك لكل سوق. بشكل عام، سيكون لديك أيضا مجموعة من أهداف البناء للمساعدة في ترتيب أو تسجيل كل استراتيجية. وتشمل أمثلة أهداف البناء مقاييس أداء مختلفة، مثل صافي الربح، والتخفيض، ونسبة الفائزين، وعامل الربح، وما إلى ذلك. ويمكن ذكرها كحد أدنى من المتطلبات، مثل عامل ربح لا يقل عن 2.0، أو كأهداف لتعظيمها، مثل تعظيم صافي الربح. وتكرر خطوات توليد الاستراتيجية وتقييمها إلى حين استيفاء معايير الإنهاء. يمكن أن تكون معايير الإنهاء بسيطة مثل إنشاء عدد محدد سلفا من الاستراتيجيات المختلفة، أو قد يتم إيقاف العملية بعد تحقيق أي تحسن آخر في أهداف البناء. عادة، يتم استخدام خوارزمية التحسين لتوجيه الاستراتيجيات نحو تلك التي تلبي أهداف البناء. الاستراتيجيات النهائية هي تلك التي لديها أعلى رتبة أو النتيجة بناء على أهداف البناء. هل يمكن أن تأخذ إما أفضل استراتيجية واحدة أو حفظ بعض عدد (أو كل) من الاستراتيجيات، مرتبة حسب أهداف البناء. إذا كان هناك أهداف بناء متعددة، يمكن استخدام المتوسط المرجح لتكوين مقياس واحد. هذا هو الرأي الأساسي لبناء النظام التلقائي. ويرد أدناه وصف أكثر تفصيلا في القسم المتعلق بالبرمجة الجينية. ويتجاهل هذا الوصف أيضا مشكلة الإفراط في تركيبها، التي تتناسب فيها الاستراتيجية بشكل وثيق مع بيانات السوق المستخدمة أثناء عملية البناء التي لا تؤديها الاستراتيجية بشكل جيد في المستقبل عند تطبيقها على البيانات الجديدة. ويرد أدناه تناول هذه المسألة. الأساس النظري لتوليد الشفرات الأوتوماتيكية كما هو موضح أعلاه، فإن بناء نظام تداول باستخدام الجيل التلقائي للشفرة هو في الأساس مشكلة في التحسين. يتم وضع مزيج من عناصر الاستراتيجية التي تعظم أهداف البناء على أنها الاستراتيجية النهائية. بعض التجار يعترضون على أن أنظمة التداول يجب أن تبنى على أساس فرضية سلوك السوق أو العمل. إذا كان لديك فرضية جيدة لكيفية عمل الأسواق، يمكن بناء استراتيجية حول تلك الفرضية واختبارها. إذا كان يعمل، فإنه يدعم فرضية ويبرر تداول الاستراتيجية. والواقع أن النهج الموصوف هنا لا يختلف اختلافا جوهريا عن ذلك. إن كل استراتيجية مرشحة شيدت أثناء عملية البناء، كما هو مبين في الشكل 1، هي في الأساس فرضية يدعمها أو يفندها التقييم. إذا تم استخدام اختبار خارج العينة، يمكن دعم الاستراتيجيات النهائية أو دحضها من خلال نتائج خارج العينة. وهناك طريقة أخرى لعرض توليد التعليمات البرمجية التلقائي هي مشكلة الاستدلال الإحصائي. ويمكن اعتبار بيانات الأسعار على أنها مزيج من الإشارة والضوضاء. والإشارة هي الجزء القابل للتداول من البيانات، والضوضاء هي كل شيء آخر. وفي هذا السياق، فإن عملية بناء الإستراتيجية هي مشكلة منحنى غير خطية حيث يكون الهدف هو إيجاد استراتيجيات تناسب الإشارة مع تجاهل الضوضاء وتجنب الإفراط في تركيبها. وفي الوقت نفسه، غالبا ما تكون بيانات السوق غير ثابتة: تتغير الخصائص الإحصائية بمرور الوقت. وبالتالي فإن الاستراتيجية الناجحة هي التي تناسب العناصر الثابتة لإشارة السوق مع درجات كافية من الحرية لتجنب الإفراط في تركيب. على الرغم من أن مناقشتها بمزيد من التفصيل أدناه، وعادة ما يستخدم اختبار خارج العينة للتحقق من أن الاستراتيجيات ليست أكثر ملاءمة للسوق. Pattern System Code Generator for TradeStation This section describes an ad hoc approach to automatic code generation in which a trading system for TradeStation automatically generates other, pattern-based trading systems for TradeStation. The AutoSystemGen system searches for a set of trading rules, along with the associated parameter values, that meet a specified set of performance requirements. Depending on the performance requirements, it might find several or even dozens of trading systems that meet the requirements. It then writes the EasyLanguage code for each system to a file. For illustrative purposes, the rules for the generated systems are restricted to price patterns. In principle, this technique could be expanded to automatically generate systems drawing from a wide variety of entry and exit techniques applicable to almost any market. Price Pattern Rules While almost any type of indicator or trading logic could be included in the trading system generator described here, to keep things fairly simple, the rules of the generated systems will be restricted to price patterns. Each entry rule of a generated trading system will have the following form: where P1 and P2 are prices (open, high, low, or close), N1 and N2 are the number of bars to look back (e. g. Close2 is the close two bars ago), and Ineq is an inequality operator, either lt or gt. Examples of rules include the following: Close lt Close2 Low2 lt High10 High3 gt Close4 and so on. P1, P2, N1, N2, and Ineq are all variables to be determined by the system generation process. N1 and N2 will be restricted to the range 0 20. Also, the number of rules, NRules, will be a variable with values ranging from one to 10. A trade entry will be triggered if all the rules are true. In that case, the entry will be taken at the open of the next bar. The trade direction will be set beforehand, so that the system will be generating systems that are either all long or all short trades. To obtain trading logic for both long and short trades, the system can be run twice, once for long trades and the second time for short trades. Trades will be exited at the market after a fixed number of bars, NX, which will range from one to 20. Finding the Rules The key to this process is finding candidate trading systems. A system can consist of between one and 10 rules of the form shown above. Trades are entered at market if all the rules are true, and trades are exited a certain number of bars later. If this were coded as a traditional TradeStation system, with a maximum of 10 rules, there would be 52 inputs. This would make for a cumbersome strategy. Instead, a different approach will be used. At each step of the optimization, the values for each variable (P1, P2, N1, N2, Ineq, NRules, and NX) will be chosen randomly. A different set of values of P1, P2, N1, N2, and Ineq will be selected for each rule, for a total of NRules sets of values. Each step of the optimization will generate a different trading system as the variables are randomly selected. If the performance results of the system meet the requirements entered by the user, the generated system will be written to a file in EasyLanguage code. Putting it All Together The code for the AutoSystemGen system and its related functions is available at Breakout Futures (breakoutfutures ) on the Free Downloads page . The first input to the strategy is called OptStep. To run the system, OptStep should be optimized in TradeStation by varying it from 1 to some large number, such as 10,000, in steps of 1. This will cause AutoSystemGen to generate, for example, 10,000 different trading systems. The ones that meet the specified performance criteria are written to the file shown as an input to the WriteSystem function (e. g. C:AutoSysGen-Output1.txt). The performance criteria are specified via the system inputs (reqNetProfit, reqMaxDD, etc.). Most of the hard work is performed by the functions that the system calls. The function GetPatVars randomly selects the values for the variables that determine the trading rules. To determine whether or not a trade entry will occur on the next bar, the price pattern rules are evaluated by the function EvalPattern. Finally, if the system meets the performance criteria, the corresponding EasyLanguage code is generated and written out to a text file by the function WriteSystem. Example As an example, consider the 30-year treasury bond futures market (symbol US. P in TradeStation 8). AutoSystemGen was optimized over the past 20 years of T-bond prices with the OptStep input incremented from 1 to 10000. This means the system evaluated 10,000 different trading systems. The optimization was run twice, once for long trades and once for short trades. The following performance requirements were used: net profit of at least 30,000, worst-case drawdown no more than 7500, at least 200 trades, percent profitable of at least 50, and profit factor of at least 1.2. On a dual core computer running Vista, it took approximately 10 minutes to run each optimization (10,000 systems per optimization). The systems generated by this process are shown below. These are the systems written to the file AutoSysGen-Output1.txt by the WriteSystem function. The first ones are the long-only systems, followed by a short-only system (the only one that met the performance criteria). System 2332, US. P, 9172007 12:23:00, Long Trades Net Profit 53562.50, Max DD -7381.25, Num Trades 250, Percent Wins 56.80, Prof factor 1.631 Var: EntNext (false) EntNext Open2 gt Low16 and Low9 gt Low3 and Close14 lt Low6 and If EntNext then Buy next bar at market If BarsSinceEntry gt NBarExS then Buy to cover next bar at market If STrailOn then Buy to cover next bar at SStop stop Until recently, most applications of genetic programming to trading strategy generation have been academic studies based on limited rule sets, overly simple entry and exit logic, and custom-written code, making the results unsuitable for most traders. At the same time, most available software that implements GP for market trading has either been targeted to professional traders and priced accordingly or is very complicated to set up and use. Adaptrade Builder was designed to make GP simple to use for any trader, individual or professional, who has a basic understanding of strategy trading and the TradeStation platform. More information on Builder can be found at AdaptradeBuilder . Over-fitting 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 strategys 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. Typically, optimization is performed over one segment of data, called the optimization or in-sample segment, and tested on different data, called the test or out-of-sample segment. Over-fitting refers to the problem of optimizing a strategy so that it fits the in-sample segment well but doesnt work well on any other data, including the out-of-sample data. Poor out-of-sample performance is usually caused by one of several factors. One important factor is the so-called number of degrees-of-freedom in the in-sample segment. The number of degrees-of-freedom, which is equal to the number of trades minus the number of rules and conditions of the strategy, determines how tightly the strategy fits the data. Provided inputs are added for each parameter in the strategy, the number of strategy inputs can be used as a proxy for the number of rules and conditions. For example, if a strategy has 100 trades and 10 inputs, it has 90 degrees-of-freedom. The more degrees-of-freedom, the less likely it is that the strategy will be over-fit to the market and the more likely it is that it will have good out-of-sample performance. The number of degrees-of-freedom can be increased during the build process by including the number of trades andor the number of strategy inputs as build goals. Assuming the fitness metric is a weighted average of the build goals, all other things being equal, increasing the weighting for the number of trades will result in strategies with more trades and therefore more degrees-of-freedom. Likewise, increasing the weighting for the (negative) number of inputs will result in strategies with fewer inputs, which will also increase the number of degrees-of-freedom. Another option is to include the statistical significance as a build goal. The statistical significance can be calculated by applying the Students t test to the average trade. This will measure the probability that the average trade is greater than zero. The t test is based on the number of degrees-of-freedom but is a more complete measure of whether a strategy is over-fit than the number of degrees-of-freedom alone. One way, then, to improve out-of-sample performance is to include the significance in the fitness function, which will tend to generate strategies that have a high statistical significance. Another important factor affecting out-of-sample performance is the variety of market conditions in the in-sample segment. Generally speaking, its better to optimize over data that includes a wide variety of market conditions, such as up trending and down trending markets, periods of consolidation, high and low volatility, etc. The more variety in the in-sample segment, the more likely it is that the strategy will perform well on other data, including out-of-sample data and in real-time trading. While the future never exactly duplicates the past, provided the future (or out-of-sample data) is similar enough to at least part of the in-sample segment, the strategy should perform well on new data. The value of optimizing over a variety of market conditions presumes that good performance is achieved over each part of the in-sample segment. One way to measure this is with the correlation coefficient of the equity curve, which measures how closely the equity curve approximates a straight line. If the equity curve is a straight line, it implies that the performance is uniform over all segments of the data. Obviously, this is desirable if the goal is to achieve good performance over as many different types of market conditions as possible. The correlation coefficient for the strategies generated via automatic code generation can be increased by including the correlation coefficient as a build goal and weighting it as part of the fitness function. Unfortunately, there will be cases where even with a high significance, a correlation coefficient close to 1, and a wide variety of market conditions in the in-sample segment, the out-of-sample performance will be poor. This can happen for several reasons. First, even a simple strategy with few parameters can in some cases fit the noise rather than the signal. By definition, noise is any part of the market data that does not contribute to profitable trading signals. Secondly, the market dynamics on which the strategy logic is based (i. e. the signal) may have changed in the out-of-sample segment enough to negatively impact performance. This is sometimes due to a fundamental change in the market, such as the switch from floor-based to electronic trading. However, more subtle changes, often related to the trading patterns of market participants, are also possible, particularly for shorter-term trading. If this appears to be the problem, the solution may be as simple as rebuilding the strategy with new trading logic. Using a tool such as Adaptrade Builder makes this much easier than if a manual approach to trading strategy development were used. Another possible solution is to include the most recent data in the optimization segment and test it out-of-sample by tracking the performance in real-time. In most cases, a strategy that has a large number of trades, a high significance value and good performance on the in-sample segment will continue to perform well for some period of time post-optimization. For information on software for building trading strategies using genetic programming, please click here . If youd like to be informed of new developments, news, and special offers from Adaptrade Software, please join our email list. شكرا لكم.
No comments:
Post a Comment