Friday 5 January 2018

استراتيجية التداول أزواج كوينيغراتد


استراتيجية تداول الأزواج المشتركة
وأضيفت ورقة ذات صلة إلى:
# 12 - أزواج التداول مع الأسهم.
تيتل: التكامل المشترك والقيمة النسبية للمراجحة.
اقتباسات ملحوظة من ورقة البحث الأكاديمي:
& كوت؛ في الأدبيات التجارية للأزواج، يتم تحديد النوع الأكثر شيوعا من المراجحة القيمة النسبية، بدائل للأسهم الفردية عن طريق تقليل المسافة الإقليدية في مساحة السعر اليومي على مدى فترة تاريخية .5 مطابقة الأسهم على مساحة السعر بدلا من مساحة العودة تتفق مع استراتيجيات التداول القيمة النسبية على المدى القصير، مع إزالة الحاجة إلى تحديد العوامل. على الرغم من أن طريقة مطابقة بسيطة لأداء، من خلال التصميم، فإنه يضمن وجود نظير لكل الأسهم، وهو أمر بديهي. والأهم من ذلك أن المخزونات التي تظهر تباينا طفيفا في نمط السعر خلال فترة التشكيل (ربما بسبب عدم تدفق الأخبار) ستنتهي في نهاية المطاف إلى بدائل قريبة، على الرغم من أنها ليست ذات صلة جوهرية.
في هذه الورقة، نقترح طريقة بسيطة لتحديد بدائل اقتصادية وثيقة باستخدام التكامل المشترك. عندما يتم كوينغراتد زوج من أسعار الأسهم، سلسلة واحدة التحركات المشارك مع نسخة تحجيم من الآخر. وتبين لنا أن البدائل الاقتصادية الوثيقة يمكن أن تمثل بنظام للأسعار المشتركة، حيث يكون معامل التحجيم، أو معامل التكامل المشترك، قريبا من واحد.
نجد أنه من 1962 إلى 2018، نونباريتي، مقياس القيمة الإيجابي للقرب الذي يقيس المسافة من معامل التكامل المشترك من الوحدة، ويتنبأ بقوة على حد سواء احتمال أن التصحيح النسبي في وقت لاحق سيتم تصحيح فضلا عن ربحية تجارة المراجحة. وهناك زيادة واحدة في الانحراف المعياري في المتغير تقلل من احتمال التقارب بمقدار سبع نقاط مئوية وتزيد من الفوائد التجارية بمقدار 2.78 نقطة مئوية. وعلاوة على ذلك، فإن إمكانية التنبؤ من خلال نونباريتي تقدم أيضا فرصا تجارية مربحة. وعلی مستوى المحفظة، فإن تداول أزواج الأسهم المتراکمة المشترکة غير مربح بوجه عام. ومع ذلك، عندما يقتصر التداول على أزواج من الأسهم مع نونباريتي قريبة من الصفر، فإن الاستراتيجية مربحة بعد تقديرات معقولة للوساطة، والانزلاق، وتكاليف البيع القصيرة. على وجه التحديد، على مدى فترة العينة، متوسط ​​العائد بعد تعديل التكلفة بعد تعديل المخاطر على محفظة من الأزواج المشتركة مع نونباريتي أقل من 0.5 (0.2) هو 0.43٪ في الشهر، مع إحصائية t من 5.29 (0.58٪ في الشهر، مع إحصائية t من 4.77). & كوت؛

جيكو كوانت - التداول الكمي.
التداول الكمي، التحكيم الإحصائي، تعلم الآلة والخيارات الثنائية.
آخر الملاحة.
إربيتال أربتريج & # 8211؛ تداول زوج مشترك.
في آخر مشاركة جيكوكانت / 2018/12/17 / إحصائي-التحكيم-اختبار-ل - التكامل المشترك-زيادة-ديكي-أكمل / أثبتت التكامل المشترك، وهو اختبار رياضي لتحديد أزواج ثابتة حيث يجب أن يكون الانتشار حسب التعريف يعني العودة.
في هذا المنصب أعتزم أن أشرح كيفية تداول زوج مشترك، وسوف تستمر في تحليل أسهم رويال داتش شل A مقابل B (ونحن نعلم أنها & # 8217؛ كوينتيغراتد من آخر مشاركة بلدي). تداول زوج كوينغراتد هو مستقيم إلى الأمام، ونحن نعرف متوسط ​​والتباين في انتشار، ونحن نعلم أن تلك القيم هي ثابتة. نقطة الدخول ل أرب ستات هي مجرد البحث عن انحراف كبير بعيدا عن المتوسط.
وتتمثل الاستراتيجية الأساسية فيما يلي:
إذا انتشرت (t) & غ؛ = يعني سبرياد + 2 * الانحراف المعياري ثم انتقل شورت إف سبرياد (t) & لوت؛ = مين سبرياد & # 8211؛ 2 * الانحراف المعياري ثم يذهب طويل.
إذا كان معدل الانتشار (t) & غ؛ = ناداي موفينغ أفيراج + 2 * ناداي رولينغ ستاندارد ديفياتيون ثين غو شورت إف سبرياد (t) & لوت؛ = ناداي موفينغ أفيراج & # 8211؛ 2 * ناداي المتداول الانحراف المعياري ثم يذهب طويلا.
إذا انتشرت (t) & لوت؛ = متوسط ​​انتشار + 2 * الأمراض المنقولة جنسيا وانتشار (t-1) & غ؛ متوسط ​​انتشار + 2 * ستد إذا انتشار (t) & غ؛ = يعني سبرياد & # 8211؛ 2 * الأمراض المنقولة جنسيا وانتشار (t-1) & لوت؛ مين سبرياد & # 8211؛ 2 * ستد ميزة هي أننا التجارة فقط عندما نرى متوسط ​​انعكاس، حيث كما نماذج أخرى تأمل في متوسط ​​انعكاس على انحراف كبير عن المتوسط ​​(هو انتشار تهب؟)
ستنظر هذه المشاركة في المتوسط ​​المتحرك ونموذج الانحراف المعياري المتداول لأسهم شركة رويال داتش شل A مقابل B، وسوف تستخدم نسبة التحوط الموجودة في آخر مشاركة.
شارب راتيو شل A & أمب؛ B ستات أرب شل A.
نسبة شارب السنوية (رف = 0٪):
شل A & أمب؛ B ستات أرب 0.8224211.
شل A 0.166307.
لدى أرباب الاستثمار نسبة متفوقة من شارب أكثر من مجرد الاستثمار في شل أ. في النظرة الأولى فإن نسبة شارب 0.8 تبدو مخيبة للآمال، ولكن بما أن الاستراتيجية تنفق معظمها من وقت الخروج من السوق سيكون منخفضا سنويا نسبة محددة. لزيادة نسبة شارب يمكن للمرء أن ننظر إلى تداول ترددات أعلى أو لديك أزواج محفظة بحيث يتم قضاء المزيد من الوقت في السوق.
22 أفكار حول & لدكو؛ إربيتال أربتريج & # 8211؛ تداول زوج كوينيغراتد & رديقو؛
وهذا يعني أيضا أنه عند تحديد الاختلاف الأقصى يمكنني اتخاذ موقف في المشتقات مثل الخيارات؟
-خيار أتم دعوة النداء على الأسهم الأولى.
-buy خيار الاتصال على الثانية.
أو مع باكسبريدكال على الأولى و باكسبريدبوت على الثانية حتى أتمكن من تعيين الحماية وأنا يمكن أن لفة لهم إذا خرجوا السيطرة & # 8230؛
يجب أن تكون المراكز قصيرة المال أتم أو أوتم خفيف في رأيي.
ماذا تفكر؟
هل حاولت استخدام نهج اختبار يوهانسن من أجل إجراء اختبار أكثر صرامة للتكامل المشترك؟ ما رأيك في الجمع بين إنغل-غرانجر مع يوهانسن؟
إن الانتشار في ما سبق لا يتأرجح حوله يعني، من الناحية المثالية، يجب أن يتفاعل الزوج المشترك بين الجانبين بشكل غير متجانس كما هو مبين أعلاه & # 8230؛. لقد كانت عملية الكتابة المثالية مثالية للتكامل المشترك الصحيح الذي أظهرته. ولكن هذا الانتشار ليس انتشارا مثاليا.
أنا 100٪ أتفق معك.
ولكن لأغراض عملية طالما أن متوسط ​​العائد يحدث أسرع من متوسط ​​التغييرات ثم أنت & # 8217؛ ليرة لبنانية بشكل جيد.
أعتقد أن & # 8217؛ شيء أنا & # 8217؛ غاب، كيفية قياس نصف الحياة / سرعة الإرجاع.
يرجى ملاحظة أنه في التجريبي أعلاه نظرة فترة العودة 90 يوما. هذا قصير إلى حد ما. اختيار 200 يوما سوف يؤدي إلى يعني أن أقل استجابة / اتجاه التغييرات. ومن المرجح أن تزيد من حجم نطاقات الانحراف المعياري وتؤدي إلى صفقات أقل في السنة. وهذا يؤدي عادة إلى انخفاض نسبة شارب.
وظيفة مثيرة جدا للاهتمام. أحب أن نرى التنفيذ على سلة من أزواج.
أفعل بعض التغييرات في البرنامج الخاص بك لحساب البولنجر العصابات وأريد أن أعرف لماذا أنت & # 8217؛ وضع الانحراف المعياري إلى اليمين؟ (موفينغستد = رولابلي (سبرياد، لوكباك، سد، ألين = & # 8221؛ رايت & # 8221 ؛، na. pad = ترو))
موافق شكرا لك على الإجابة!
مدونتك تعطيني فرصة لتنفيذ وبناء أسرع استراتيجية بلدي قانون الأحوال الشخصية.
أنا ذاهب لاختبار نماذج مختلفة للمراجحة الإحصائية. أظل جميع الزوار في حلقة!
في البرنامج الخاص بك، وتأثير مارتينغال ليست هنا. كيف يمكنني إضافة هذا التأثير؟
أنا تشغيل بلدي باكتيستس إون مع برامج مختلفة (إكسيل، R إت برورالتيمي (منصة الفرنسية)) ومن أجل القيام ببعض المقارنة، ولست بحاجة لإضافة تأثير مارتينغال.
شكرا على التوضيح. بواسطة نفس الحجة، رولمان يجب أن يكون لها نفس: رولمان (سبرياد، لوكباك، na. pad = ترو، ألين = 'رايت')
مع هذا التعديل الجديد نسبة شارب تنخفض بشكل كبير ..
أشياء عظيمة!! أعتقد أن هناك اثنين من الأخطاء في التعليمات البرمجية الخاصة بك، على الرغم من. الأول هو في حساب المتوسط ​​المتحرك. لقد نسيت تعيين معلمة المحاذاة إلى & # 8220؛ اليمين & # 8221؛ (كما تفعل للإنحراف المعياري). تستخدم الدالة ديفولت & # 8220؛ سينتر & # 8221؛ والبيانات الخاصة بك & # 8211؛ لا يتم محاذاة المتوسط ​​المتحرك والمتوسط ​​المتحرك. يمكنك أن ترى هذا من المؤامرة كذلك. ينتهي متوسط ​​الانتقال قبل 45 يوما من الانتشار. العلة الثانية هي في حساب عوائد التداول. أعتقد أنك يجب أن تأخذ العودة من اليوم التالي ونحن ندخل الموقف بسعر الإغلاق.
شكرا لرمزك الأنيق. لقد لاحظت أن سطر التعليمات البرمجية:
هو تطبيق الدالة شورتبوسيتيونفونك على (-1 * أوفيروبرباند + دونمافغ).
ومع ذلك، فإن الدالة شورتبوسيتيونفونك تأخذ حجتين x و y.
هل هناك أي أخطاء مطبعية في التعليمات البرمجية؟
شكرا لتوضيحكم!
شكرا جيكو للحصول على رمز باكتستينغ. مفيد جدا. زوجين من التعليقات أدناه:
1) وقد علق قارئ آخر بالفعل على هذا أعلاه. موفينغافغ يحتاج إلى تعديل بإضافة المحاذاة = "يمين" من أجل الحصول على أول رقم أفغ تتحرك في اليوم 90:
موفينغافغ = رولمان (سبرياد، لوكباك، ألين = "رايت"، na. pad = ترو)
2) لأننا ندخل الصفقات في نهاية اليوم، والعائد على تاريخ التجارة لا ينبغي الاعتماد. يمكننا ببساطة تحويل كل عنصر في "المواقف" ناقلات أسفل باستخدام وظيفة "التحول" في مكتبة تاريفكس.
أيضا، لا أعتقد أن العائد اليومي هو (أريت - ستوكبير $ هيدجيراتيو * بريت). تخيل إذا كان لديك نسبة التحوط كبيرة، أي إذا كان سعر السهم A في 100 $ ويبلغ سعر B في $ 10، ثم سيكون هدجيراتيو في حي 10. منذ أريت و بريت هي في٪ من حيث، فإن الصيغة لا عمل. يجب أن يكون العائد اليومي أريت - بريت * (النسبة بين نسبة الدولار المحايدة مقابل نسبة التحوط).
#Calculate انتشار ريت اليومي.
دايليريت & لوت؛ - أريت - بريت * هدجيراتيوفيردولارنيوترالراتيو.
ترادينغريت & لوت؛ - دايليريت * شيفت (بوسيتيونس، -1)
أنا أبحث عن استراتيجيات جديدة في تجارة زوج الأسهم التي تحسن نهج التكامل المشترك (على سبيل المثال بدأت أبحث في تداول الزوج مع كوبولاس، الذي لا يزال يبدو & # 8220؛ غير مستقر & # 8221؛ بديل للتكامل المشترك). هل لديك أي ورقة جديدة تشير لي؟ شكرا جزيلا لكم و تهانينا لبلوق كبيرة.
النصف الثاني من الكتاب يذهب من خلال الكثير من التقنيات الأكثر تقدما للتحوط محفظة / العثور على أزواج ثابتة.
أنا مشوشة قليلا في هذه الخطوة.
عندما رسمت لونغبوسيتيونس و شورتبوسيتيونس جنبا إلى جنب مع انتشار، العصابات وخطوط المتوسط ​​المتحرك وجدت ثم هناك إشارات طويلة متتالية وإشارات قصيرة. وفقا لفهمي.
لونغبوستيونس & لوت؛ - إذا كان الانتشار أقل من النطاق السفلي.
لونغكسيت & لوت؛ - إذا كان انتشار فوق موفافغ في حين طويلة.
شورتبوستيونس & لوت؛ - إذا كان الانتشار فوق النطاق العلوي.
شورتكسيت & لوت؛ - إذا كان انتشار أقل من موفافغ في حين قصيرة.
هو نفس الشيء التعليمات البرمجية الخاصة بك هو القيام به. الرجاء مساعدتي على فهم هذا الجزء.
مرحبا جيكو، قرأت كتب إب تشان التي تتحدث عن هذا الموضوع وأنا مشوشة قليلا حول متوسط ​​الاحتياط. عندما يكون هناك نوعان من أصول آرا، فإننا نفترض أنهما سيعودان إلى متوسطهما، ولكن متوسطهما المتحرك أو متوسطهما الإجمالي في فترة محددة؟ I & # 8217؛ م إعطاء نتائج أفضل باستخدام المعلمات ثابتة من استخدام البولنجر العصابات. وسوف تظهر لك صورة مع شكلي. برنتسكر / 51jofw هل يمكن أن تكتب مقالة أخرى من انعكاس يعني! شكرا للجميع.
مرحبا جيكو. رمز عظيم. هل يمكن أن تشرح أقرب فكرة وراء هذه الدالة كابدكومسوم؟ أنا لا أفهم لحظة عندما كنت سبيسيفينغ اثنين من المتغيرات المدخلات، ولكن في ريدوس () وظيفة معلمة واحدة فقط، & # 8211؛ هل هو بسبب 0؟
هناك خطأ. خوارزمية الخاص ينظر في المستقبل، والمشكلة في وظيفة رولمان. خوارزمية باستخدام المتوسط ​​المتحرك من الأيام المستقبلية لإغلاق الصفقة.

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

التكامل المشترك في أزواج العملات الأجنبية.
التكامل المشترك في أزواج العملات الأجنبية هو أداة قيمة. بالنسبة لي، التكامل المشترك هو الأساس لاستراتيجية تجارية ميكانيكية محايدة السوق ممتازة التي تسمح لي للاستفادة في أي بيئة اقتصادية. سواء كان السوق في اتجاه صعودي، اتجاه هبوطي أو ببساطة تتحرك جانبية، وتداول أزواج الفوركس يسمح لي لحصاد المكاسب على مدار السنة.
يتم تصنيف إستراتيجية تداول أزواج العملات الأجنبية التي تستخدم التكامل المشترك كشكل من أشكال التداول التقارب على أساس المراجحة الإحصائية والرجوع إلى المتوسط. هذا النوع من الاستراتيجية كان أول شعبية من قبل فريق التداول الكمي في مورغان ستانلي في 1980s باستخدام أزواج الأسهم، على الرغم من أنني والتجار الآخرين وجدوا أنه يعمل أيضا بشكل جيد جدا لتداول أزواج الفوركس، أيضا.
تداول أزواج الفوركس على أساس التكامل المشترك.
تداول أزواج الفوركس على أساس التكامل المشترك هو في الأساس استراتيجية عودة إلى متوسط. وباختصار، عندما يكون زوجين أو أكثر من أزواج الفوركس مدمجة، فإن ذلك يعني أن انتشار السعر بين أزواج الفوركس المنفصلة يميل إلى العودة إلى قيمته المتوسطة باستمرار مع مرور الوقت.
من المهم أن نفهم أن التكامل المشترك ليس ارتباطا. الترابط هو علاقة قصيرة الأجل فيما يتعلق بالتحركات المشتركة للأسعار. ويعني الترابط أن الأسعار الفردية تتحرك معا. على الرغم من الاعتماد على بعض الارتباط من قبل التجار، في حد ذاته انها أداة غير جديرة بالثقة.
ومن ناحية أخرى، فإن التكامل المشترك هو علاقة أطول أجلا مع التحركات المشتركة للأسعار، حيث تتحرك الأسعار معا في حدود أو فروق معينة، كما لو كانت مربوطة معا. لقد وجدت التكامل المشترك ليكون أداة مفيدة جدا في تداول أزواج الفوركس.
خلال تداول أزواج العملات الأجنبية، عندما ينتشر انتشار إلى قيمة عتبة يحسبها بلدي خوارزميات التداول الميكانيكية، وأنا "قصيرة" الفرق بين أسعار أزواج. وبعبارة أخرى، أنا أراهن على انتشار سوف يعود مرة أخرى نحو الصفر بسبب التكامل المشترك بينهما.
استراتيجيات التداول أزواج العملات الأساسية بسيطة جدا، وخصوصا عند استخدام أنظمة التداول الميكانيكية: اخترت اثنين من أزواج العملات المختلفة التي تميل إلى التحرك بالمثل. إنني أشتري زوج العملات الضعيفة وبيع الزوج المتداول. عندما يتقارب الفارق بين الزوجين، أغلق موقفي لتحقيق الربح.
تداول أزواج الفوركس على أساس التكامل المشترك هو استراتيجية محايدة السوق إلى حد ما. وكمثال على ذلك، إذا انخفض زوج العملات، فإن التداول من المحتمل أن يؤدي إلى خسارة على الجانب الطويل وكسب تعويض على الجانب القصير. لذلك، ما لم تفقد جميع العملات والأدوات الأساسية فجأة قيمة، يجب أن يكون صافي التجارة بالقرب من الصفر في أسوأ السيناريوهات.
وعلى نفس المنوال، فإن تداول الأزواج في العديد من الأسواق هو استراتيجية تداول ذاتي التمويل، حيث أن العائدات من المبيعات القصيرة يمكن أن تستخدم أحيانا لفتح الصفقة الطويلة. حتى من دون هذه الفائدة، لا يزال تداول أزواج العملات الأجنبية التي تعمل بالوقود المشترك يعمل بشكل جيد جدا.
فهم التكامل المشترك لتداول أزواج الفوركس.
التكامل المشترك مفيد بالنسبة لي في أزواج الفوركس التداول لأنه يتيح لي برنامج بلدي نظام التداول الميكانيكية على أساس كل من الانحرافات على المدى القصير من أسعار التوازن وكذلك توقعات السعر على المدى الطويل، والتي أعني التصحيحات والعودة إلى التوازن.
ولفهم كيفية عمل أزواج الفوركس التي يحركها التكامل المشترك، من المهم أولا تحديد التكامل المشترك، ثم وصف كيفية عمله في أنظمة التداول الميكانيكية.
كما قلت أعلاه، يشير التكامل المشترك إلى علاقة التوازن بين مجموعات من السلاسل الزمنية، مثل أسعار أزواج الفوركس المنفصلة التي هي في حد ذاتها ليست في حالة توازن. أما في المصطلحات الرياضية، فإن التكامل المشترك هو تقنية لقياس العلاقة بين المتغيرات غير الثابتة في سلسلة زمنية.
وإذا كان لكل سلسلتين زمنيتين أو أكثر قيمة جذر مساوية للقيمة 1، إلا أن تركيبة الخطية هي ثابتة، ثم يقال إنها مركبة كوينيغراتد.
وكمثال بسيط، يجب النظر في أسعار مؤشر سوق الأسهم والعقود الآجلة ذات الصلة: على الرغم من أن أسعار كل من هذين الصكين قد يهيمون على وجوههم بشكل عشوائي على فترات قصيرة من الزمن، في نهاية المطاف سيعودون إلى التوازن، وانحرافاتهم ستكون ثابت.
هنا مثال آخر، ذكر من حيث الكلاسيكية "المشي العشوائي" سبيل المثال: دعونا نقول هناك اثنين من سكران الفردية المشي هومويارد بعد ليلة من الكاروس. دعونا نفترض أيضا أن هذين السكرين لا يعرفون بعضهم البعض، لذلك ليس هناك علاقة يمكن التنبؤ بها بين مساراتهم الفردية. لذلك، ليس هناك تكامل بين تحركاتهم.
في المقابل، والنظر في فكرة أن الفرد في حالة سكر يتجول هوموارد في حين يرافقه كلبه على المقود. في هذه الحالة، هناك صلة محددة بين مسارات هذين المخلوقات الفقيرة.
على الرغم من أن كل من اثنين لا يزال على مسار فردي على مدى فترة قصيرة من الزمن، وعلى الرغم من أن أي واحد من الزوج قد يؤدي عشوائيا أو تأخر الآخر في أي نقطة معينة في الوقت المناسب، لا يزال، وسوف تكون دائما على مقربة من بعضها البعض. المسافة بينهما يمكن التنبؤ بها إلى حد ما، وبالتالي يقال أن الزوج أن يكون كوينيغراتد.
وبعد العودة الآن إلى المصطلحات التقنية، إذا كان هناك نوعان من السلاسل الزمنية غير الثابتة، مثل مجموعة افتراضية من أزواج العملات أب و زي، التي تصبح ثابتة عند حساب الفرق بينهما، وتسمى هذه الأزواج سلسلة متكاملة من الدرجة الأولى - أيضا استدعاء I (1) سلسلة.
على الرغم من أن أيا من هذه السلسلة يبقى في قيمة ثابتة، إذا كان هناك تركيبة خطية من أب و زي التي هي ثابتة (وصفها I (0))، ثم أب و زي هي كوينيغراتد.
المثال البسيط أعلاه يتكون من سلسلتين زمنيتين فقط من أزواج الفوركس الافتراضية. ومع ذلك، فإن مفهوم التكامل المشترك ينطبق أيضا على سلسلة زمنية متعددة، وذلك باستخدام أوامر التكامل أعلى ... فكر من حيث سكر يتجول يرافقه العديد من الكلاب، كل على المقود مختلفة طول.
في اقتصاديات العالم الحقيقي، فإنه من السهل العثور على أمثلة تظهر التكامل بين الأزواج: الدخل والإنفاق، أو قسوة القوانين الجنائية وحجم السجناء. في تداول أزواج العملات الأجنبية، ينصب تركيزي على الاستفادة من العلاقة الكمية التي يمكن التنبؤ بها بين أزواج العملات المتراكمة.
على سبيل المثال، لنفترض أنني أشاهد هذين الزوجين المفترسين للعملة الافتراضية، أب و زي، والعلاقة المشتركة بينهما هي أب & # 8211؛ زي = Z، حيث يساوي Z سلسلة ثابتة بمتوسط ​​صفر، وهذا هو I (0).
ويبدو أن هذا يشير إلى استراتيجية تداول بسيطة: عندما أب - زي & غ؛ V، و V هو بلدي عتبة سعر الزناد، ثم نظام تداول أزواج الفوركس سوف تبيع أب وشراء زي، لأن التوقعات ستكون ل أب لتقليل في الأسعار و زي لزيادة. أو، عندما أب - زي & لوت؛ - V، وأتوقع لشراء أب وبيع زي.
تجنب الانحدار الهامشي في تداول أزواج الفوركس.
ومع ذلك، فإنه ليس بسيطا كما يقترح المثال أعلاه. في الممارسة العملية، يحتاج نظام التداول الميكانيكي لتداول أزواج الفوركس إلى حساب التكامل المشترك بدلا من الاعتماد على قيمة R-سكارد بين أب و زي.
وذلك لأن تحليل الانحدار العادي يقصر عند التعامل مع المتغيرات غير ثابتة. ويسبب ذلك ما يسمى الانحدار الهامشي، مما يوحي العلاقات بين المتغيرات حتى عندما لا يكون هناك أي.
لنفترض، على سبيل المثال، أنني أترتب على مسلسل زمني واحد منفصل "المشي العشوائي" ضد بعضها البعض. عندما اختبر لمعرفة ما إذا كان هناك علاقة خطية، في كثير من الأحيان سوف تجد قيم عالية ل R - التربيع وكذلك القيم P المنخفضة. ومع ذلك، لا توجد علاقة بين هذين المشيين العشوائيين.
الصيغ واختبار التكامل المشترك في تداول أزواج الفوركس.
وأبسط اختبار للتكامل المشترك هو اختبار إنغل-غرانجر الذي يعمل على النحو التالي:
التحقق من أن أب t و زي t هما على حد سواء I (1) حساب العلاقة التكامل المشترك [زي t = أب t + إت] باستخدام طريقة المربعات الصغرى تحقق من أن بقايا التكامل المشترك وثابتة باستخدام اختبار وحدة الجذر مثل المعزز ديكي فولر (أدف) الاختبار.
معادلة غرانجر مفصلة:
I (0) يصف علاقة التكامل المشترك.
ويصف زي T-1 - βAB t-1 مدى الاختلال بعيدا عن المدى الطويل، في حين أن αi هي السرعة والاتجاه الذي تصحح فيه السلاسل الزمنية لزوج العملات نفسها من الاختلال.
عند استخدام طريقة إنغل-غرانجر في تداول أزواج الفوركس، يتم استخدام قيم بيتا للانحدار لحساب أحجام التداول للأزواج.
عند استخدام طريقة إنغل-غرانجر في تداول أزواج الفوركس، يتم استخدام قيم بيتا للانحدار لحساب أحجام التداول للأزواج.
تصحيح الخطأ للتكامل المشترك في أزواج العملات الأجنبية:
عند استخدام التكامل المشترك لتداول أزواج الفوركس، من المفيد أيضا حساب كيفية ضبط المتغيرات المركزة والعودة إلى التوازن على المدى الطويل. لذلك، على سبيل المثال، وهنا هما عينة الوقت أزواج الفوركس سلسلة أظهرت أوتورجريسيفيلي:
تداول أزواج الفوركس على أساس التكامل المشترك.
عندما أستخدم نظام التداول الآلي الخاص بي لتداول أزواج الفوركس، فإن الإعداد والتنفيذ بسيطان إلى حد ما. أولا، أجد أزواج العملات التي تبدو وكأنها قد تكون مشتركة، مثل ور / أوسد و غبب / أوسد.
ثم، أحسب فروق السعر المقدرة بين الزوجين. بعد ذلك، تحقق من وجود استبانة باستخدام اختبار جذر الوحدة أو طريقة شائعة أخرى.
أتأكد من أن خلاصة البيانات الواردة تعمل بشكل مناسب، وأسمح لخوارزميات التداول الميكانيكية بإنشاء إشارات التداول. على افتراض لقد قمت بتشغيل الاختبارات الخلفية كافية لتأكيد المعلمات، وأنا أخيرا على استعداد لاستخدام التكامل المشترك في بلدي أزواج الفوركس التداول.
لقد وجدت مؤشر ميتاتريدر الذي يوفر نقطة انطلاق ممتازة لبناء نظام تداول أزواج الفوركس المشترك. يبدو وكأنه مؤشر بولينجر باند، ولكن في الواقع يظهر مذبذب الفرق السعر بين اثنين من أزواج العملات المختلفة.
عندما يتحرك هذا المذبذب نحو أعلى أو منخفض للغاية، فإنه يشير إلى أن أزواج هي فصل، مما يشير إلى الصفقات.
ومع ذلك، للتأكد من النجاح أعتمد على بلدي نظام البناء الميكانيكية بنيت بشكل جيد لتصفية الإشارات مع اختبار ديكي فولر المعزز قبل تنفيذ الصفقات المناسبة.
وبطبيعة الحال، أي شخص يريد استخدام التكامل المشترك له أو لها أزواج الفوركس التداول، ولكن يفتقر إلى المهارات المطلوبة ألغو البرمجة، ويمكن الاعتماد على مبرمج من ذوي الخبرة لخلق مستشار خبير الفوز.
من خلال سحر التداول الخوارزمي، وأنا برنامج بلدي نظام التداول الميكانيكية لتحديد ينتشر السعر على أساس تحليل البيانات. خوارزميات بلدي خوارزمية لانحرافات الأسعار، ثم تلقائيا يشتري ويبيع أزواج العملات من أجل حصاد أوجه القصور في السوق.
المخاطر التي يجب أن تكون على دراية عند استخدام التكامل المشترك مع تداول أزواج الفوركس.
تداول أزواج العملات الأجنبية ليس خاليا تماما من المخاطر. قبل كل شيء، أنا أضع في اعتبارنا أن أزواج العملات الأجنبية التداول باستخدام التكامل هو استراتيجية انعكاس المتوسط، الذي يقوم على افتراض أن القيم المتوسطة سوف تكون هي نفسها في المستقبل كما كانت في الماضي.
على الرغم من أن اختبار ديكي-فولر المعزز المذكور سابقا مفيد في التحقق من العلاقات المتآزرة لتداول أزواج الفوركس، إلا أنه لا يعني أن فروق الأسعار ستستمر في أن تكون مشتركة في المستقبل.
أنا أعتمد على قواعد قوية لإدارة المخاطر، مما يعني أن نظام التداول الآلي الخاص بي يخرج من الصفقات غير المربحة إذا أو عندما يتم إبطال العائد المحسوب إلى المتوسط.
عندما تتغير القيم المتوسطة، انها تسمى الانجراف. أحاول الكشف عن الانجراف في أقرب وقت ممكن. وبعبارة أخرى، إذا بدأت أسعار أزواج الفوركس التي تم تجميعها سابقا في التحرك في اتجاه بدلا من العودة إلى المتوسط ​​المحسوب سابقا، فقد حان الوقت لخوارزميات نظام التداول الآلي الخاص بي لإعادة حساب القيم.
عندما أستخدم نظام التداول الميكانيكي الخاص بي لتداول أزواج الفوركس، أستخدم صيغة الانحدار الذاتي المذكورة سابقا في هذه المقالة من أجل حساب المتوسط ​​المتحرك للتنبؤ بالانتشار. ثم، أنا الخروج من التجارة في بلدي حدود الخطأ المحسوبة.
التكامل المشترك هو أداة قيمة لأزواج الفوركس بلدي التداول.
استخدام التكامل في أزواج الفوركس التداول هو استراتيجية التداول الميكانيكية محايدة السوق التي تسمح لي التجارة في أي بيئة السوق. انها استراتيجية ذكية تقوم على العودة إلى يعني، ومع ذلك فإنه يساعدني على تجنب المزالق لبعض استراتيجيات العودة إلى المتوسط ​​يعني تداول العملات الأجنبية.
ونظرا لاستخدامه المحتمل في أنظمة التداول الميكانيكية المربحة، فقد اجتذب التكامل المشترك لتداول أزواج العملات الأجنبية الاهتمام من التجار المحترفين وكذلك الباحثين الأكاديميين.
هناك الكثير من المقالات التي نشرت مؤخرا، مثل هذه المادة بلوق تركز على بلوق، أو هذه المناقشة العلمية للموضوع، فضلا عن الكثير من النقاش بين التجار.
التكامل المشترك هو أداة قيمة في بلدي أزواج الفوركس التداول، وأنا أوصي أن ننظر في الأمر لنفسك.
يقول توماسو سيليان.
مادة جيدة جدا. هو ملهم. شكرا لكتابة ذلك!
يقول هاريش ناتشناني.
كما يتم تطبيق الارتباط في الأسهم (الأسهم). ماهو الفرق؟ هل يمكن تطبيق العملية المذكورة أعلاه على الأسهم؟
يقول إدي زهرة.
نعم، يمكن تطبيق نفس العملية على الأسهم وكذلك على المشتقات. ونظرا لوجود مثل هذا الكون الكبير من الأسهم عند مقارنته بأزواج الفوركس، ينبغي أن يكون هناك عدد أكبر من الفرص المحتملة للتداول. مع عدد من الطحن قوة اليوم & # 8217؛ s نظم التداول، العديد من مجموعات من العلاقات يمكن فحصها بسرعة، في الوقت الحقيقي. ويمكن أيضا استخدام التكامل المشترك من قبل التجار الخيارات؛ فإنه من المتوقع أن تنتج نتائج مثل انتشار كوكا كولا-بيبسي الشعبي الذي تسمح فيه العلاقات السعرية بين بعض الأسهم / الخيارات للمتداولين بالاشتراك في مسرحيات منخفضة المخاطر إلى حد ما مع فرصة جيدة إلى حد ما للفوز.
يقول هاريش ناتشناني.
هل تتداول في غضون يوم أو أكثر من أسابيع باستخدام هذه الاستراتيجية؟ أيضا، ما لغة البرمجة التي تنصح بها. R يستغرق وقتا طويلا لتشغيل الحسابات وإذا كان في غضون التجارة اليوم، الكمون يأتي في اللعب.
لغة البرمجة لا تهم التداول في نهاية اليوم. أي لغة رئيسية مثل بيرل، بايثون، C / C ++ و C # على ما يرام. R يمكن أن يكون سريع للغاية لكنه يبطئ إذا كان & # 8217؛ s اضطر إلى تخصيص حيوي الذاكرة.
أنا التجارة باستخدام الرسوم البيانية اليومية، وأنا البقاء في معظم الصفقات لبضعة أيام لبضعة أسابيع. شون هو مبرمج خبير، وأنا أثق دائما حكمه لاستخدام أفضل لغة البرمجة للحصول على أفضل النتائج لاستراتيجية التداول معين. في الواقع، يمكن لشون خلق برنامج متوازن، الفوز لتحقيق الاستفادة من التكامل المشترك وعوامل أخرى كذلك. إذا كنت & # 8217؛ د مثل الاقتباس، يرجى الاتصال به مباشرة في معلومات @ أونيستيبريموفيد.
يقول كريس زيمر.
وهناك بعض االهتمام بتنفيذ هذا البرنامج ل MT4. إذا كنت تستطيع تقديم بعض التفاصيل على تنفيذ هذه الاستراتيجية في التعليمات البرمجية، يرجى إرسالها إلى زيمر @ أونيستيبريموفد.
أنا أفعل مشروع صغير على استراتيجيات التكامل المشترك في فكس لبلدي ماجستير. أعتقد أنك ركض اختبارات التكامل المشترك على الكثير من أزواج العملات. ما هي تلك التي وجدت أنها ذات دلالة إحصائية مركزة بشكل كبير؟
أنا لا & # 8217؛ ر أعتقد إدي ركض في الواقع الأرقام. والمقصود من هذه المادة أن تكون دليلا شاملا لهذا المفهوم، ولكن ليس تماما لدرجة كونه استراتيجية حسن النية.
1) أوسد / جبي و ور / تشف.
2) ور / بلن و ور / هف.
3) أوسد / تري و أوسد / زار.
4) أود / أوسد و نزد / أوسد.
5) ور / نوك ور / سيك.
وأنا أعلم أن هذه ترتبط ارتباطا وثيقا للغاية، ولكن هذا لا يعني التكامل المشترك.
يقول كاميلو روميرو.
هناك أزواج الفوركس جيدة سوينغاتراتد:
لن يكون الدولار أوسجبي / ورشف زوجا متآلفا لأنه لن يكون هناك استراتيجية محايدة للسوق.
شكرا للمشاركة.
يقول كاميلو روميرو.
هل نفذ أي شخص شفرة باكتست باستخدام إستراتيجية الإرجاع المتوسط؟
هل يجب أن أقيم القيم بين أزواج الفوركس؟
هل أضاف أي شخص تكلفة العمولة إلى باكتست كود وحصلت على نتائج مربحة؟
I & # 8217؛ m متأكد من شخص ما لديه، لكنه & # 8217؛ s ليس شيئا حيث أنت & # 8217؛ سوف تجد لإجابة واضحة على الرسوم البيانية على المدى القصير. قد تجد كوانتيغراتيونس على المدى الطويل، ولكن هذا & # 8217؛ s لا البحوث أنا & # 8217؛ القيام به.
ويتمثل التكامل المشترك الوحيد بين اليورو والفرنك السويسري وبين الدولار الأسترالي والدولار النيوزيلندي حيث أن التجارة والاقتصاد الحميمين الوحيدين بين هذه البلدان والمصارف المركزية يخلقان هذا التكامل المشترك.
ليس اليورو و الجنيه الإسترليني؟
يقول روبرت J أرماغوست.
مرحبا إدي. مقال ممتاز. لقد تم اختبار مرة أخرى 10 سنوات من الرسوم البيانية التفكير & # 8221؛ لا أستطيع أن أكون أول شخص فكر في هذا! & # 8221؛ عندما وجدت هذا الموقع. شكرا جزيلا لكتابة هذا. أنا لا & # 8217؛ ر يشعر تماما حتى وحده بعد الآن. 🙂 فقط أتساءل أي وسيط كنت تستخدم أو هل تستخدم وسطاء متعددة. شكرا على وقتك.
مع خالص التقدير روبرت J. أرماغوست.
الوسيط الرئيسي الذي أستخدمه هو بيبرستون و ستو (عبر توبترادر).
مرحبا شون لقد تم تداول هذه الاستراتيجية يدويا. هل لديك برنامج لأتمتة هذا؟ (حتى أنا لا & # 8217؛ ر لديك للحصول على ما يصل في منتصف الليل بعد الآن) شكرا على وقتك.
ليس من على الرف، ولكن ذلك & # 8217؛ ق شيء يمكننا أن نبني. تبادل لاطلاق النار لي رسالة بالبريد الالكتروني مع قواعد الدخول والخروج للحصول على تقدير. معلومات @ onestepremoved.
روبرت & # 8212؛ شكرا لردود فعل طيبة. شون لديه الأدوات المناسبة لتنفيذ هذا النوع من استراتيجية التداول، وأنا أتفق تماما مع توصيات وسيط له، شكرا مرة أخرى للتعليق! EF.

استراتيجية تداول الأزواج المشتركة
تعلق هو تداول الزوج ألغو التي تسمح للمستخدم للتبديل على / قبالة اختبارات مختلفة للتكامل المشترك / يعني انحسار انتشار الزوج قبل اتخاذ أي الصفقات. إذا اخترت تشغيل أحد الاختبارات، يتم تسجيل القيمة من الاختبار كنقطة عرض قابلة للعرض من صفحة نتائج باكتست.
الزوج يجري تداولها في هذا ألغو هو إتفس والذهب إتفس (أوسو و غلد)، ولكن يمكنك تعديل هذه كما يحلو لك.
3 اختبارات مختلفة هي:
- وبفعالية، هذا هو اختبار الجذر وحدة لتحديد ما إذا كان انتشار كوينيغراتد.
- كذلك، يتم تضمين وظيفة تبين كيفية استخدام القيم الحرجة من اختبار أدف بدلا من قيمة p.
- هذا هو الوقت المحسوب نظريا، استنادا إلى نافذة تاريخية من البيانات، أن الامر سيستغرق لانتشار يعني يعني العودة نصف المسافة بعد أن تباعدت عن متوسط ​​انتشار.
- بشكل فعال هذا يعود قيمة بين 0 و 1 أن يخبرك ما إذا كانت سلسلة زمنية تتجه أو يعني العودة. كلما كانت القيمة أقرب إلى 0.5 يعني المزيد & كوت؛ راندم & كوت؛ فإن السلاسل الزمنية قد تصرفت تاريخيا. القيم أقل من 0.5 يعني أن السلاسل الزمنية هي العائد، وأعلى 0.5 يعني اتجه. وكلما اقتربت القيمة من 0 تعني مستويات أعلى من متوسط ​​الانعكاس.
- تتعارض أدبيات التداول فيما يتعلق بفائدة الأسد هورست، ولكن أنا تضمينه مع ذلك، ووضعت المفتاح الافتراضي إلى خطأ في الغو.
نتائج الاختبار الخلفي أدناه تتضمن اثنين من هذه الاختبارات:
قيمة p-أدف-تيست، المحسوبة على مدى فترة 63 يوما (مثل 3 أشهر)، مع الحد الأدنى المطلوب من قيمة p 0.20.
To modify the parameter values of the tests just look in the initialize function, for blocks of code that look like this. Here is how the ADF-test p-value parameters are defined:
Here you see how there is a dictionary defined called 'stat_filter' which you can use to store the parameters of each test. First I create another dictionary inside of 'stat_filter' named 'adf_p_value' and then I load in all of the parameter values relevent to the ADF-test that I want to define when it is acceptable to enter a trade. These exact 5 parameters (e. g. keys of the dictionary) will be defined for all of the tests, as you'll see if you look at the algo code, and notice the adf_critical_value, half_life, hurst_exponent ones are defined following it. The 5 parameters are:
'use': Boolean, True if you want the algo to use this test.
Support for Intraday Frequency.
(Let me know if you run into issues with this, as I haven't done as much testing with it as I have with just daily freq)
You can configure this algo to be run on intraday minutely data as well. مثلا construct a pair spread using 15-min bar closing prices.
First, change the variable 'context. trade_freq' from 'daily' to 'intraday':
context. trade_freq = 'daily' # 'daily' or 'intraday'
Then, look for this code block below in the initialize() function, and specify the 'intraday_freq' value for the frequency of closing prices to use (E. g. 15 minute bars). Then, set 'run_trading_logic' to be how frequently you want the logic to be applied to market data. I chose 60 which means, run this logic every 60-minutes, but if you wish, change it to 1, and the logic will be run every single minute (beware though, as this will result in really long backtest times).
The variable 'check_exit_every_minute' can be set to True if you want the logic to be run every minute if-and-only-if you are currently in a trade. مثلا it checks to see whether you need to exit the trade every minute rather than waiting to the next N periods (e. g. 60 minutes, as specified in the 'run_trading_logic_freq' variable)
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.
Same algo just start 9 month earlier.
Thanks for the share. I've noticed that there is a coint function in statsmodels. tsa. stattools. Is there a significant difference between the coint function and the ADF test? Any sense in using both?
I've attached a backtest below that attempts to find the pvalue of both tests for each pair, every day. Disclaimer: what I often think is happening in python is actually not.
I haven't tried the coint function in stattools yet, though I imagine it's very similar. I just took a quick glimpse at the code, and it's effectively running a regression of the lagged version of the input timeseries versus the unlagged version which is quite similar to ADF. The difference may lie in how the critical values are computed.
The Engle-Granger test is also sometimes used to test for co-integration, but I haven't looked at that implementation yet.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.
Great Algo. Its amazing. Very Helpful.
Hello Justin / All.
Could you suggest how I can run this algo on multiple pairs, rather than just one pair?
Try making a pairs trading class that keeps track of all the bookkeeping for each given pair. See David's generalized Kalman filters pair trading algo for a great example of class based pairs trading.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.
Thanks for sharing info.
I cloned Justin's algo, however when I run a backtest, the performance remains at 0% for the entirety of the backtest window.
I made no changes to the original source code.
Any ideas why this would be occurring?
You probably run algo in daily mode and it only work in minute mode.
Here is my latest backtest of original Justin's Lent algo started just 9 month earlier.
It's worth noting that when I post backtests, code, and research notebooks, the intent is to illustrate a methodology, and provide some code templates to spur the creative thought process of the community and save folks some time by providing cut-and-paste code fragments that can be integrated into their own code. By no means am I posting something that has been fully vetted, and immediately investable in it's exact form, by any stretch of the imagination. I often bias for simpler, rather than overly complex, examples as well, so as to benefit a broader spectrum of readers.
I see you've recognized that the backtest I posted above seems to fail pretty badly over a different timeframe. We see this a lot with strategies we look at, many of which are overfit to just the 2 year period in the contests we run. We try to work with the algo owner and provide advice as to why it may have broken down over the different timeframes. Perhaps you can extend your analysis to provide me some advice as to improving this strategy? Maybe you have some recommendations as to how to incorporate a regime switching model which is very likely to help a strategy such as this given the time frame it seems to fail (the financial/commodity futures crises that occurred in late 2008). Perhaps a stochastic volatility regime switching model might help significantly. If you have experience in this area I'm sure the community would find it a solid addition to incorporate into strategies such as these to make them more robust. I know I would.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.
Why did you choose the pair USO and GLD? I guess a broader question is can you suggest a process for scanning through a basket of stocks and determining if there are tradable pairs? I'm assuming tests for cointegration would be one method such as ADF as you used. It would be nice if there could be an algo to run through a basket of stocks and auto determine which would make "good" pairs.
I just chose USO/GLD in order to replicate this example that uses those same tickers, from this book: amazon/Quantitative-Trading-Build-Algorithmic-Business/dp/0470284889/
That book is a really good intro to stat arb pair trading (as well as his other books). All the code in the book is in Matlab, so my algo was an attempt to implement it in Python, in our backtester, and incorporate some of the other statistical techniques described throughout the book.
You are correct, that screening a bunch of potential pairs is a reasonable research idea, but you should be cognizant of simply datamining. You first want to determine a sensible economic basis for which the pairs of stocks should be tied (e. g. pairs of stocks in the same sector would be reasonable pairs of stocks to search across). Writing an algo in our backtester to accomplish this would be fairly straightforward: First you can use our Morningstar fundamentals database to grab all stocks in the Energy sector, perhaps even filtering down to stocks of companies of a certain band of marketcap (e. g. only mid-cap energy stocks), then in before_trading_starts(), you loop over each stock pair computing the ADF p-value (or other cointegration stat), keep all the stock pairs that meet your criteria, and then in handle_data() you just run the ones that meet the criteria through an algo similar to the one I shared to enter/exit the trades.
Myself or someone on our team here at Q can try to develop a template for this and share it.
As well you can look at this forum post that shows how to develop a single algo that trades a portfolio of multiple pairs:
It's the algo backtest in the first comment from David Edwards, here:
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.
I noticed in the blog section you have a notebook on using a Bayesian optimizer. would you know how i can pull it into Q? its currently on github..thanks!
@Adam, At present it's not possible to use the Bayesian optimizer from the blog post in the Q environment. It was more of a proof of concept implementation idea. As you mentioned, the code I used for the blog post is on github and you can sign up for a trial with SigOpt to get a username/API key to work with it in your own python/zipline environment locally. Offering some of these alternative methods of optimization as a service is an interesting concept which we will have to think about as we develop our Q platform in the future. Thanks for the feedback!
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.
Thanks Justin! Would be neat to be able to do that type of optimization and / or a particle swarm technique in Q. :)
I believe I found a gap in the trading logic. In the statistic filtering section (lines.
155-176) the algorithm immediately exits if a test fails. That prevents new trades from being opened but does nothing to handle existing trades. Open trades stay open until all of the statistical tests pass again and the algorithm reaches its standard exit logic.
By design we should also have a high likelihood of being in a trade when this happens so the impact could be quite high. The problem in detecting this is that if the relationship re-establishes quickly the performance won't suffer. But if we include a time period in which the relationship doesn't return quickly, as Vladimir did, the results are noticeable.
I added a few lines to close any positions that are open when the statistical tests break down. There are probably better ways of handling the exit logic, but this simple change shows the benefit of having it there. The algorithm doesn't do as well during the original test period but the performance improves over the extended period.
(I also made minor change on lines 20 and 21 to use sid() function to set x and y assets rather than symbol(). The rest of the algorithm is unchanged.)
Could someone kindly explain to me the use of ' hedge Ratio' , Its purpose and construction. I have been working on a Pair trade of my own ( in multicharts )and have been defining the spread as 'stock A / stock B' then using that in a Z-score, with some promising (ish)results and am wondering if a HR can improve my results but I don't understand its impact on the system.
Thanks in advance,
Pair trading using Copula methods instead of cointegration is the new rage. Anyone tried it?
Sorry, something went wrong. Try again or contact us by sending feedback.
You've successfully submitted a support ticket.
Our support team will be in touch soon.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian.
In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian.
In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

No comments:

Post a Comment