Friday 16 February 2018

اختبار استراتيجيات التداول في ص


استراتيجيات باكتستينغ مع R.


2018/05/06.


الفصل 1 مقدمة.


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


اختبار استراتيجية؛ ترفض إذا كانت النتائج غير واعدة.


تطبيق مجموعة من المعلمات لاستراتيجيات التحسين.


محاولة قتل أي استراتيجية تبدو واعدة.


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


1.1 الموارد R.


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


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


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


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


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


1.2 المكتبات.


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


يتضمن هذا الإصدار من كوانستراتات الحزم التالية، من بين أمور أخرى:


مع هذه المكتبات سيكون لدينا كل ما نحتاج إليه لاختبار كامل الاستراتيجيات وقياس الأداء. راجع 1.3 سيسيونينفو لمزيد من التفاصيل.


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


باكتستينغ إستراتيجية تداول الأسهم البسيطة.


ملاحظة: هذه المشاركة ليست المشورة المالية! هذا هو مجرد وسيلة ممتعة لاستكشاف بعض من قدرات R لاستيراد البيانات والتلاعب بها.


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


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


أولا وقبل كل شيء، نقوم بتحميل البيانات ل غسيك باستخدام كوانتمود. (غسيك) تقف على مؤشر S & أمب؛ P 500). بعد ذلك، نقوم بإنشاء دالة لحساب عدد الأيام منذ ارتفاع n-داي في سلسلة زمنية، ووظيفة لتنفيذ استراتيجية التداول لدينا. هذه الوظيفة الأخيرة يأخذ 2 المعلمات: ن-يوم عالية كنت ترغب في استخدام، وأرقام من الأيام الماضية أن عالية سوف تعقد الأسهم. المثال هو 200 و 100، ولكن هل يمكن بسهولة تغيير هذا إلى أعلى مستوى 500 يوم ونرى ما سيحدث إذا كنت تحتفظ الأسهم 300 يوما الماضية أن قبل انقاذ. وبما أن هذه الوظيفة هي بارامتريزد، يمكننا بسهولة اختبار العديد من الإصدارات الأخرى من استراتيجيتنا. نحن سادة بداية استراتيجيتنا مع الأصفار لذلك سيكون نفس طول البيانات المدخلات لدينا. (إذا كنت ترغب في شرح أكثر تفصيلا للأيام وظيفة سينسهيغ، انظر المناقشة حول عبر التحقق من صحة).


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


وكما ترون، فإن هذه الاستراتيجية تقارن بشكل إيجابي بالنهج الافتراضي "الشراء والاستمرار".


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


مراجعة استراتيجية التداول.


في هذه الأثناء، جئت عبر استراتيجية التداول أثناء قراءة مقال يقدم على جون مولدين "أكثر من كتفي" الخدمة (والتي أوصي بشدة). وكان جوهر ذلك أنه في السوق الدب التي بدأت مع تحطم فقاعة التكنولوجيا، استراتيجية الرهان على عكس انعكاس S & أمبير؛ P500 ولدت عوائد كبيرة. بالطبع أردت اختبار.


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


وتتمثل الاستراتيجية في إيقاف مؤشر S & أمب؛ P500 عند إغلاق السوق بحد أقصى خلال الثلاثة أيام السابقة. قم بعكس التداول وذهب لفترة طويلة عند إغلاق السوق عند أدنى مستوى خلال الأيام الثلاثة السابقة. صناديق الاستثمار المتداولة تجعل هذه الاستراتيجية سهلة نسبيا للتجارة. سبي سوف تكون سيارتنا لكونها طويلة S & أمبير؛ P500 و ش سيكون لدينا سيارة للذهاب قصيرة.


بدأت شركة ش في التداول بتاريخ 2006/6/26 م. ونحن نركز لدينا باكتستينغ من تلك النقطة حتى الآن.


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


نحن بحاجة إلى إنشاء بعض الوقتالوقت إضافية لعقد.


استراتيجية التداول الكمية باستخدام حزمة كوانتسترات في R: دليل خطوة بخطوة.


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


عملية أربع خطوات من أي استراتيجية تجارة أساسية.


تكوين الفرضية اختبار تكرير الإنتاج.


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


وضعنا مستوى عتبة لمقارنة التقلبات في السعر. في حالة ارتفاع / نقص السعر نقوم بتحديث عمود العتبة. يتم مقارنة سعر الإغلاق مع الفرقة العليا ومع الفرقة السفلى. عندما يتم عبر الشريط العلوي، هو إشارة للبيع. وبالمثل عندما يتم عبور النطاق السفلي، بل هو إشارة شراء.


ويمكن تلخيص قسم الترميز على النحو التالي،


ويرد في الرسم البياني أدناه عرض لطائرات الهليكوبتر باتجاه إنتاج الاستراتيجية.


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


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


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


الملامح الرئيسية ل كوانسترات هي،


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


في هذا المنصب نبني استراتيجية تتضمن المؤشرات والإشارات والقواعد.


وفيما يتعلق بالنموذج العام القائم على الإشارة التالية،


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


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


تقوم مجموعة الأوامر التالية بتثبيت الحزم الضرورية.


بمجرد تثبيت الحزم التي استيرادها لمزيد من الاستخدام.


قراءة البيانات من ملف كسف وتحويله إلى كائن شتس.


نقوم بتهيئة المحفظة مع المخزون والعملة وحقوق الملكية الأولية ونوع الاستراتيجية.


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


إنشاء كائن الاستراتيجية.


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


أضف المؤشر والإشارة وقاعدة التداول.


تشغيل الاستراتيجية وإلقاء نظرة على كتاب النظام.


تحديث محفظة وعرض إحصاءات التجارة.


هنا هو رمز كامل.


مرة واحدة كنت على دراية بهذه الأساسيات يمكن أن نلقي نظرة على كيفية البدء في استخدام حزمة كوانتيمود في R. أو في حال كنت & # 8217؛ جيدة في C ++، نلقي نظرة على استراتيجية نموذج مشفرة في C ++.


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


مثال لاستراتيجية تداول مشفرة باستخدام حزمة كوانتمود في R.


ويمكن تنفيذ الاختبار الخلفي لاستراتيجية التداول على أربع مراحل.


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


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


يوفر كوانتمود ميزات مختلفة لتصور البيانات. الأمر أدناه يخلق الرسم البياني للبيانات نس.


تا = "نول" يشير إلى عدم استخدام أي مؤشر تقني. سنرى قريبا تطبيق مؤشر فني على الرسم البياني. الخطوة التالية هي اختيار استراتيجية التداول. سوف نختار ماكد (متوسط ​​الانتقال التقارب التقارب) لهذا المثال. في المتوسط ​​المتحرك المتوسط، يتم حساب متوسطين، متوسط ​​متحرك بطيء ومتوسط ​​متحرك سريع. الفرق بين المتوسط ​​المتحرك السريع والمتوسط ​​البطيء المتحرك يسمى خط ماكد. متوسط ​​ثالث يسمى خط الإشارة. وهو متوسط ​​متحرك أسي لمدة 9 أيام لإشارة ماسد. إذا خط الماكد يعبر فوق خط الإشارة فإنه علامة صعودية ونذهب طويلا. إذا كان خط الماكد يعبر دون خط الإشارة، فإنه علامة هبوطية ونذهب قصيرة. نختار سعر إغلاق بيانات نس لحساب المتوسطات. القيادة التالية تفي بهذه المهمة.


الأمر أدناه يحسب ماسد لسعر الإغلاق.


يمكن للمرء أن يختار المعلمات المتغيرة لمعدلات سريعة وبطيئة والإشارة اعتمادا على متطلبات التداول. هنا نحن التمسك المعايير القياسية. ماسد هو الدالة في كوانتمود التي تحسب تباعد التقارب المتوسط ​​المتحرك، البيانات هي سعر إغلاق نس، نفاست هو المتوسط ​​المتحرك السريع، نسلو هو المتوسط ​​المتحرك البطيء، ماتب = سما يشير إلى أننا اخترنا المتوسط ​​المتحرك البسيط، النسبة المئوية = فالس يعني أننا نحسب الفرق بين المتوسط ​​المتحرك السريع والمتوسط ​​البطيء للحركة. سيؤدي تعيين ترو إلى إعادة الفرق بين المتوسط ​​المتحرك السريع والمتوسط ​​المتحرك البطيء.


يقوم الأمر التالي بتخطيط المخطط لسعر إغلاق نس مع معلمات ماسد.


كما نوقش قبل أن نحدد إشارة التداول لدينا على النحو التالي: -


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


يؤدي الأمر التالي إلى إنشاء إشارة التداول وفقا لذلك. نحن نستخدم عامل التأخر للقضاء على نظرة التحيز قدما.


سيغنال = لاغ (إفيلز (ماسد $ ماسد & لوت؛ ماسد $ سيغنال، -1، 1))


سنطبق هذه الاستراتيجية على البيانات التاريخية لل نس من 2007-09-17 إلى 2018-09-22. يتم تطبيق إشارة التداول على سعر الإغلاق للحصول على عوائد إستراتيجيتنا.


وتوفر وظيفة روك النسبة المئوية للفرق بين سعري الإقفال. يمكننا اختيار المدة التي نريد أن نرى العوائد. يختار الأمر التالي العوائد بين 2008-06-02 و 2018-09-22.


يمكن حساب العوائد التراكمية ورسمها باستخدام الأوامر التالية: -


والخطوة الرابعة من الاختبار الخلفي هي تقييم مقاييس الأداء. توفر حزمة تحليلات الأداء في R منصة موحدة لمراقبة المعلمات المتعلقة بالأداء. ويمكن ملاحظة العديد من المقاييس مثل السحب، والمخاطر الهبوطية في R.


يوفر الأمر التالي ملخص المعلمات المذكورة أعلاه وأكثر من ذلك بكثير!


هنا هو نسخة موجزة من التعليمات البرمجية.


ماسد = ماسد (داتا، نفاست = 12، نسلو = 26، نسيغ = 9، ماتيب = سما، بيرسنت = فالس)


سيغنال = لاغ (إفيلز (ماسد $ ماسد & لوت؛ ماسد $ سيغنال، -1، 1))


بعد الذهاب على الرغم من هذا المثال، كنت & # 8217؛ تعلمت أساسيات كيفية تصميم استراتيجية التداول الكمي باستخدام R. الآن يمكنك البدء في تعلم كيفية البدء مع حزمة كوانتمود في R. مرة واحدة كنت & # 8217؛ لقد تعلمت بنجاح هذه الأساسيات يمكنك اختبار المهارات الخاصة بك في لدينا التفاعلية 10 ساعة طويلة داتاكامب بالطبع "نموذج استراتيجية التداول الكمي في R '


الوظائف ذات الصلة:


فكر واحد على "مثال لاستراتيجية التداول مشفرة باستخدام حزمة كوانتمود في R"


20 ديسمبر 2018.


لقد نفذت R النصي أعلاه وأنها مؤامرة لي الرسوم البيانية 3 ولكن كيفية تفسيرها.

No comments:

Post a Comment