Sunday 4 March 2018

إزدوج، إستراتيجية التداول، بيثون


تداول أزواج مع بيثون.
19 مايو 2018.
تشير المراجحة النسبية القيمة أو أكثر شيوعا باسم "تداول الأزواج" إلى استراتيجيات التداول التي تنطوي على التقارب المتوقع لأسعار الأصول (الأسهم والسندات والفوركس ...) إلى حالة التوازن. وبالتالي فإن هذه الاستراتيجية محايدة السوق تمكن (نظريا) لتحقيق أرباح ثابتة، إنديبندنت ما يفعله السوق بشكل عام. ولا سيما في الثمانينيات من القرن الماضي، كان هذا النوع من مخططات التجارة التقارب شائعا جدا بين صناديق التحوط واستمر في ذلك، وإن كان بطريقة أكثر تطورا.
كجزء من ندوة في الاقتصاد القياسي المالي في جامعتي قمت بتنفيذ أزواج بسيطة التداول في بايثون. وكان أساس عملي هو ورقة غاتيف إت. آل (2006) 1. وتحدد الورقة استراتيجيتها، فضلا عن تنفيذها والتي تمكنت من تحقيق عوائد سنوية باردة بنسبة 11٪. أنا تحميل البرامج النصية كتبت مع بيثون على هذا إبيثون الدفتري الذي يسمح لك أن تذهب من خلال كل خطوة نفسك (لا تتردد في تحسين!)
وراء تداول أزواج يكمن الفكرة، أن هناك علاقة خفية بين زوج الأسهم سيتين. هذا الزوج يميل إلى التحرك معا أكثر من مرة، وبالتالي يظهر علاقة تاريخية معينة.
والمثال الكلاسيكي للزوج المرشح للتجارة هو كوكا كولا (كو) وشركة بيبسي (بيب)، انظر المؤامرة أدناه.
أسعار الأسهم العادية لشركة بيبسي وكوكا كولا (كو) بين شباط / فبراير 1997 وحزيران / يونيه 1998.
وتنتج الشركتان خطا مشابها من المشروبات وتعملان في نفس الأسواق في جميع أنحاء العالم، وبالتالي تتأثر أسعار أسهمهما بصدمات نفس الصناعة. وعندما يتم العثور على مثل هذا الزوج، يتم إدخال صفقة بمجرد انحراف المخزونات بما فيه الكفاية (غيتيف وآخرون يوصي بانحرافين معياريين لأسعار الأسهم العادية). ويأمل أزواج التاجر أن تكون حالة عدم التوازن هذه مؤقتة فقط، وبالتالي الرهانات على التقارب بين الأسعار عن طريق تقصير في وقت واحد على الأسهم المفرطة الثمن وطويلة على واحد بأقل من قيمتها. إذا كانت أسعار الأسهم تتلاقى مع المستويات التاريخية، فإن كلا المنصبين قد خرجا من الربح (على الأقل هذه هي النظرية!).
الجزء الصعب في هذا النوع من المخططات التجارية هو بالطبع لإيجاد طريقة مناسبة للعثور على مثل هذه الأزواج. الاعتماد على الارتباطات التاريخية وحدها قد يكون بسيطا جدا لهذا الغرض، فإن الأساليب الأكثر تطورا تشمل اختبارات التكامل المشترك.
تحسينات.
العائد السنوي من 1.04٪ تمكنت من الحصول مع بلدي عينة محفظة كانت مخيبة للآمال ولكن لا يزال لدي أفكار لمزيد من التحسين.
واختيار نفس أزواج القطاع توسيع الأسهم الكون محاولة مختلفة عتبات دخول / الخروج.
لا تتردد في ترك تعليق إذا كان لديك أي أفكار بشأن هذا المشروع.
تداول أزواج: أداء قاعدة مرجعية ذات قيمة نسبية، E غيتيف، ون غوتزمان، كغ روينهورست - استعراض الدراسات المالية، 2006 & # 8617؛

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

QuantStart.
الانضمام إلى كوانتكاديمي بوابة العضوية الخاصة التي تلبي احتياجات التجزئة المتزايد بسرعة المجتمع تاجر الكمي. سوف تجد مجموعة من ذوي الخبرة مثل التفكير من التجار الكميون على استعداد للرد على أسئلة التداول الكمي الأكثر إلحاحا.
تحقق من بلدي يبوك على التداول الكمي حيث أنا يعلمك كيفية بناء مربحة استراتيجيات التداول المنهجي مع أدوات بايثون، من الصفر.
نلقي نظرة على بلدي الكتاب الاليكتروني الجديد على استراتيجيات التداول المتقدمة باستخدام تحليل سلسلة زمنية، والتعلم الآلي والإحصاءات بايزي، مع بيثون و R.
من قبل مايكل هالز مور في 21 سبتمبر، 2018.
في السابق على كوانتستارت لقد نظرنا في الأسس الرياضية لنماذج الفضاء الدولة و كالمان مرشحات، فضلا عن تطبيق مكتبة بيكالمان لزوج من صناديق الاستثمار المتداولة لضبط حيوي نسبة التحوط كأساس لاستراتيجية التداول عائد المتوسطة.
في هذه المقالة سوف نناقش استراتيجية التداول في الأصل بسبب إرنست تشان (2018) [1] واختبارها من قبل إيدان أوماهوني في كوانتوبيان [2]. سوف نستفيد من الإطار المفتوح كسترادر ​​باكتستينغ المصدر المفتوح بايثون من أجل تنفيذ الاستراتيجية. وستقوم كسترادر ​​بتنفيذ "الرفع الثقيل" لتتبع الموقف، والتعامل مع محفظة ومعالجة البيانات، في حين أننا نركز فقط على التعليمات البرمجية التي تولد إشارات التداول.
إستراتيجية التداول.
يتم تطبيق استراتيجية التداول أزواج على اثنين من الصناديق المتداولة في البورصة (إتف) التي تتبع كل من أداء متفاوتة المدة سندات الخزينة الأمريكية. هم انهم:
والهدف من ذلك هو بناء استراتيجية متوسطة العودة من هذا الزوج من صناديق الاستثمار المتداولة.
"الانتشار" الاصطناعي بين تلت و إي هو السلاسل الزمنية التي نحن مهتمون فعلا بالتوق أو التقصير. يتم استخدام فلتر كالمان لتتبع نسبة التحوط بشكل حيوي بين الاثنين من أجل الحفاظ على الفارق الثابت (وبالتالي يعني التراجع).
لإنشاء قواعد التداول فمن الضروري تحديد متى انتقلت الفارق بعيدا جدا عن القيمة المتوقعة. كيف نحدد ما هو "بعيد جدا"؟ يمكننا استخدام مجموعة من القيم المطلقة الثابتة، ولكن هذه يجب أن يكون تحديد تجريبيا. وهذا من شأنه أن يدخل معلمة حرة أخرى في النظام الذي يتطلب التحسين (وخطر إضافي من الإفراط في الإمداد).
نهج واحد "بارامتريليس" لإنشاء هذه القيم هو النظر في مضاعف الانحراف المعياري للفرق واستخدامها كحدود. للبساطة يمكننا تعيين معامل متعددة لتكون مساوية لأحد.
وبالتالي يمكننا أن نذهب "فترة طويلة انتشار" إذا كان الخطأ توقعات قطرات أقل من الانحراف المعياري السلبي للفرق. على التوالي يمكننا أن نذهب "قصيرة انتشار" إذا تجاوز الخطأ التنبؤ الانحراف المعياري الإيجابي للفرق. قواعد الخروج هي ببساطة عكس قواعد الدخول.
وتمثل نسبة التحوط الديناميكية بمكون واحد من متجه الحالة المخفي في الوقت $ t $، $ \ theta_t $، والذي سنشير إليه على أنه $ \ ثيتا ^ 0_t $. هذا هو قيمة "بيتا" المنحدر المعروف جيدا من الانحدار الخطي.
"شوق انتشار" هنا يعني شراء (شوق) $ N $ وحدات من تلت وبيع (تقصير) $ \ لفلور $، حيث $ \ لفلور $ هو "الكلمة" التي تمثل أعلى عدد صحيح أقل من $ X $. هذا الأخير ضروري لأنه يجب علينا التعامل مع عدد كامل من وحدات صناديق الاستثمار المتداولة. "تقصير انتشار" هو عكس ذلك. يتحكم $ N $ في الحجم الإجمالي للموقف.
يمثل $ e_t $ خطأ التنبؤ أو الخطأ المتبقي للتنبؤ في الوقت $ t $، في حين أن $ Q_t $ تمثل تباين هذا التنبؤ في الوقت $ t $.
من أجل الاكتمال، يتم تحديد القواعد هنا:
$ e_t \ لوت - \ سرت $ - طول الفارق: اذهب طويلا $ $ $ سهم من تلت و اقصر $ \ لفلور $ وحدات إيي $ e_t \ غي - \ سرت $ - خروج طويل: أغلق كل المواقف الطويلة ل تلت و إيي $ e_t \ غ \ سرت $ - اختصار الفارق: اذهب قصير $ N $ سهم من تلت وذهب $ $ لفلور $ وحدات إيي $ e_t \ لي \ سرت $ - خروج قصير: أغلق كل المراكز القصيرة من تلت و إيي .
دور فلتر كالمان هو مساعدتنا في حساب $ \ theta_t $، وكذلك $ e_t $ و $ Q_t $. يمثل $ \ theta_t $ متجه قيم الاعتراض والمنحدرات في الانحدار الخطي بين تلت و إيي في الوقت $ t $. ويقدر من قبل مرشح كالمان. الخطأ المتوقع / المتبقي $ e_t = y_t - \ هات _t $ هو الفرق بين القيمة المتوقعة للعلاج تلت اليوم وتقدير عامل تصفية كالمان ل تلت اليوم. $ Q_t $ هو التباين في التوقعات، وبالتالي $ \ سرت $ هو الانحراف المعياري للتنبؤ.
ويشمل تنفيذ الاستراتيجية الخطوات التالية:
تلقي الحانات السوق اليومية أوهلكف لكل من تلت و إيي استخدام المتكرر "على الانترنت" فلتر كالمان لتقدير سعر تلت اليوم استنادا إلى ملاحظات الأمس من إيي تأخذ الفرق بين تقدير كالمان من تلت والقيمة الفعلية، وغالبا ما تسمى خطأ التوقعات أو خطأ متبقي، وهو مقياس لمدى انتشار انتقال تل و إيي بعيدا عن قيمته المتوقعة طول الفارق عندما تكون الحركة بعيدة كل البعد عن القيمة المتوقعة وتقابل في المقابل الفارق عندما تكون الحركة بعيدة عن المتوقع القيمة قم بإنهاء المراكز الطويلة والقصيرة عندما تعود السلسلة إلى قيمتها المتوقعة.
من أجل تنفيذ هذه الاستراتيجية من الضروري أن يكون لديك بيانات التسعير أوهلكف للفترة التي يغطيها هذا باكتست. وعلى وجه الخصوص، من الضروري تنزيل ما يلي:
تلت - للفترة من 3 أغسطس 2009 إلى 1 أغسطس 2018 (الرابط هنا) إيي للفترة من 3 أغسطس 2009 إلى 1 أغسطس 2018 (الرابط هنا).
سوف تحتاج هذه البيانات إلى وضعها في الدليل المحدد بواسطة ملف إعدادات كسترادر ​​إذا كنت ترغب في تكرار النتائج.
بيثون كسترادر ​​التنفيذ.
منذ كسترادر ​​يعالج تتبع الموقف، وإدارة المحافظ، وإدارة البيانات وإدارة النظام الرمز الوحيد الذي نحتاج إلى الكتابة ينطوي على كائن استراتيجية نفسها.
وتتصل الاستراتيجية مع بورتفوليوهاندلر عبر طابور الحدث، والاستفادة من الأجسام سيغناليفنت للقيام بذلك. وبالإضافة إلى ذلك يجب علينا استيراد قاعدة استراتيجية مجردة قاعدة، أبستراكتستراتيجي.
لاحظ أنه في إصدار ألفا الحالي من كسترادر ​​يجب علينا أيضا استيراد فئة بريسيبارسر. ويستخدم هذا لمضاعفة جميع الأسعار على المدخلات من قبل متعددة كبيرة ($ 10 ^ 8 $) وأداء الحساب الصحيح عند تتبع المواقف. هذا يتجنب العائمة نقطة تقريب القضايا التي يمكن أن تتراكم على مدى فترة طويلة من باكتست. يجب علينا تقسيم جميع الأسعار عن طريق PriceParser. PRICE_MULTIPLIER للحصول على القيم الصحيحة:
الخطوة التالية هي إنشاء فئة كالمانبايرسترادينغستراتيغي. مهمة هذه الفئة هي تحديد متى يتم إنشاء كائنات سيغناليفنت استنادا إلى باريفنت تلقى من قضبان أوهلكف اليومية من تلت و إيي من ياهو المالية.
هناك العديد من الطرق المختلفة لتنظيم هذه الفئة. لقد اخترت هاردكود جميع المعلمات في الصف لوضوح التفسير. ومن الجدير بالذكر أنني قمت بتثبيت قيمة $ \ دلتا = 10 ^ $ و $ v_t = 10 ^ $. وهي تمثل اختلاف ضوضاء النظام وقياس الضوضاء في نموذج تصفية كالمان. ويمكن أيضا تنفيذ هذا كوسيط للكلمة الرئيسية في منشئ __init__ للفئة. ومن شأن هذا النهج أن يتيح تحسين المعلمة مباشرة.
المهمة الأولى هي تعيين الوقت والأعضاء المستثمرة لتكون مساوية ل نون، كما سيتم تحديثها كما يتم قبول بيانات السوق وإشارات التجارة ولدت. last_prices هو اثنين من مجموعة من الأسعار الحالية من تلت و إيي، وتستخدم لراحة من خلال الطبقة.
المجموعة التالية من المعلمات كلها تتعلق تصفية كالمان ويتم شرحها في العمق في المادتين السابقتين هنا وهنا.
وتشمل المجموعة النهائية من المعلمات أيام، وتستخدم لتتبع عدد الأيام التي مرت فضلا عن الكمية و cur_hedge_qty، وتستخدم لتتبع الكميات المطلقة من صناديق الاستثمار المتداولة لشراء لكلا الجانبين الطويل والقصير. لقد وضعت هذا ليكون 2000 وحدة على حقوق المساهمين من 100،000 دولار أمريكي.
الطريقة التالية _set_correct_time_and_price هي طريقة "المساعد" المستخدمة لضمان أن تصفية كالمان لديه كل المعلومات التسعير الصحيحة المتاحة في النقطة الصحيحة. وهذا أمر ضروري لأنه في نظام باكتست يحركها الحدث مثل معلومات سوق كسترادر ​​تصل بالتتابع.
قد نكون في وضع على اليوم $ K $ حيث تلقينا سعر إيي، ولكن ليس تفت. وبالتالي يجب علينا الانتظار حتى كل من تفت وأحداث السوق إيي وصلت من حلقة باكتست، من خلال قائمة انتظار الأحداث. في التداول المباشر هذه ليست قضية لأنها سوف تصل على الفور تقريبا مقارنة مع فترة التداول لبضعة أيام. ومع ذلك، في باكتست يحركها الحدث يجب علينا الانتظار لكلا السعرين للوصول قبل حساب التحديث مرشح كالمان الجديد.
تحقق التعليمات البرمجية بشكل أساسي إذا كان الحدث اللاحق لليوم الحالي. إذا كان هو، ثم يتم إضافة السعر الصحيح إلى قائمة أحدث_price من تلت و إيي. إذا كان يوم جديد ثم يتم إعادة تعيين أحدث الأسعار ويتم إضافة الأسعار الصحيحة مرة أخرى.
هذا النوع من طريقة "التدبير المنزلي" من المحتمل أن يتم استيعابها في قاعدة كسترادر ​​في المستقبل، مما يقلل من ضرورة كتابة "نمطي" رمز، ولكن في الوقت الراهن يجب أن تشكل جزءا من الاستراتيجية نفسها.
يتم تنفيذ جوهر الاستراتيجية في أسلوب account_signals. أولا وضعنا الأوقات الصحيحة والأسعار (كما هو موضح أعلاه). ثم نتحقق من أن لدينا كل من أسعار تلت و إيي، وعند هذه النقطة يمكننا أن ننظر إشارات تجارية جديدة.
يتم تعيين $ y $ يساوي أحدث سعر ل إيي، في حين أن $ F $ هي مصفوفة الملاحظة التي تحتوي على أحدث سعر ل تلت، فضلا عن عنصر نائب الوحدة لتمثيل اعتراض في الانحدار الخطي. يتم تحديث فلتر كالمان في وقت لاحق مع هذه أحدث الأسعار. وأخيرا نحسب خطأ التنبؤ $ e_t $ والانحراف المعياري للتنبؤات، $ \ سرت $. دعونا تشغيل من خلال هذه التعليمات البرمجية خطوة بخطوة، كما يبدو قليلا معقدة.
وتتمثل المهمة الأولى في تشكيل القيمة العددية y ومصفوفة الملاحظة F التي تحتوي على أسعار إيي و تلت على التوالي. نقوم بحساب مصفوفة التباين-التغاير R أو تعيينه إلى مصفوفة الصفر إذا لم يتم إضفاء الطابع المبدئي عليه بعد. وفي وقت لاحق نحن حساب التنبؤ الجديد من يهات الملاحظة وكذلك خطأ التنبؤ وآخرون.
ثم نحسب تباين توقعات الملاحظة كيو تي وكذلك الانحراف المعياري sqrt_Qt. نحن نستخدم قواعد التحديث المستمدة هنا للحصول على التوزيع الخلفي للولايات ثيتا، التي تحتوي على نسبة التحوط / المنحدر بين السعرين:
وأخيرا نولد إشارات التداول استنادا إلى قيم $ e_t $ و $ \ سرت $. وللقيام بذلك، نحتاج إلى التحقق من الحالة "المستثمرة" - إما "طويلة" أو "قصيرة" أو "بلا". لاحظ كيف نحتاج لضبط cur_hedge_qty كمية التحوط الحالية عندما نذهب طويلة أو قصيرة كما المنحدر $ \ ثيتا ^ 0_t $ يتم ضبط باستمرار في الوقت المناسب:
هذا هو كل من التعليمات البرمجية اللازمة لعنصر الاستراتيجية. نحن بحاجة أيضا إلى إنشاء ملف باكتست لتغليف كل من منطقتنا التداول وخيارات الطبقة. النسخة الخاصة هي مشابهة جدا لتلك المستخدمة في دليل الأمثلة ويستبدل حقوق الملكية من 500،000 دولار أمريكي مع 100،000 دولار أمريكي.
كما أنه يغير فيكسيدبوسيتيونزيزر إلى نيفيبوسيتيونزيزر. يستخدم هذا الأخير ل "ساذجة" قبول اقتراحات الكميات المطلقة من وحدات إتف للتجارة كما هو محدد في فئة كالمانبايرسترادينغستراتيغي. وفي بيئة الإنتاج، سيكون من الضروري تعديل ذلك تبعا لأهداف إدارة المخاطر للمحفظة.
في ما يلي الكود الكامل ل kalman_qstrader_backtest. py:
طالما تم تثبيت كسترادر ​​بشكل صحيح وتم تحميل البيانات من ياهو المالية يمكن تنفيذ التعليمات البرمجية عبر الأمر التالي في المحطة:
بفضل جهود العديد من المطورين المتطوعين، وخاصةryankennedyio و فيمتوترادر، رمز هو الأمثل جيدا ل أوهلفف شريط البيانات وتنفيذ باكتستينغ بسرعة.
نتائج الاستراتيجية.
واحدة من أحدث الميزات التي يمكن أن تضاف إلى كسترادر ​​هو أن من "تيرشيت" وضعت في المقام الأول من قبلnwillemse. هذه الميزة لا تزال في مرحلة مبكرة من التنمية ولكن سيتم توضيحها هنا.
يتم استخدام ورقة تيرشيت في المقام الأول في إطار المؤسسات باعتبارها وصفا "بيجر واحد" لاستراتيجية التداول. الطبقة تيرشيتستاتيستيكش في كسترادر ​​كستبراس يكرر العديد من الإحصاءات الموجودة في تقرير أداء استراتيجية نموذجي.
يمثل الرسمان البيانيان العلويان منحنى رأس المال ونسبة السحب، على التوالي. تحت هذا هي لوحات الأداء الشهرية والسنوية. وأخيرا يتم عرض منحنى رأس المال، والإحصاءات على مستوى التجارة والإحصاءات القائمة على الوقت:
اضغط على الصورة لعرض أكبر.
يبدأ منحنى األسهم بشكل مسطح نسبيا للسنة األولى من االستراتيجية ولكنه يتصاعد بسرعة خالل عام 2018. خالل عام 2018، تصبح االستراتيجية أكثر تقلبا بكثير "تحت الماء" حتى عام 2018، وتصل إلى نسبة سحب يومية قصوى تبلغ 15.79٪. ويزداد الأداء تدريجيا من الحد الأقصى للتخفيض في أواخر 2018 وحتى 2018.
وقد بلغ معدل النمو السنوي المركب للاستراتيجية 8.73٪ مع نسبة شارب 0.75. كما أن لديها أطول مدة السحب القصوى 777 يوما - أكثر من عامين! لاحظ أن هذه الإستراتيجية يتم إجراؤها من إجمالي تكاليف المعاملات بحيث من المرجح أن يكون الأداء الحقيقي أسوأ.
الخطوات التالية.
هناك الكثير من الأعمال البحثية اللازمة لتحويل هذا إلى استراتيجية مربحة التي سوف نشر في بيئة حية. وتشمل السبل الممكنة للبحث ما يلي:
المعلمة الأمثل - متغير المعلمات من تصفية كالمان عبر البحث عبر شبكة التحقق من صحة أو بعض شكل من أشكال التعلم آلة الأمثل. ومع ذلك، فإن هذا يقدم إمكانية متميزة للإفراط في تجهيز البيانات التاريخية. اختيار الأصول - من شأن اختيار أزواج إضافية أو بديلة من صناديق الاستثمار المتداولة أن يساعد على إضافة التنويع إلى المحفظة، ولكنه يزيد من تعقيد الاستراتيجية وكذلك عدد الصفقات (وبالتالي تكاليف المعاملات).
في المقالات المستقبلية سوف ننظر في كيفية تنفيذ هذه الإجراءات لمختلف استراتيجيات التداول.
المراجع.
مجرد بدء مع التداول الكمي؟
3 أسباب الاشتراك في قائمة البريد الإلكتروني كوانتستارت:
1. دروس التداول الكمي.
سوف تحصل على إمكانية الوصول الفوري إلى دورة مجانية 10-البريد الإلكتروني معبأة مع تلميحات ونصائح لمساعدتك على البدء في التداول الكمي!
2. جميع أحدث المحتوى.
كل أسبوع سوف نرسل لك التفاف جميع الأنشطة على كوانتستارت لذلك عليك أن لا يفوتون وظيفة مرة أخرى.
ريال مدريد، وقابلة للتنفيذ نصائح التداول الكمي مع أي هراء.

التداول مع بيثون.
السبت، 20 مايو 2017.
ياهو ميت، يعيش ياهو!
ملاحظة: يبدو أن البيانات المقدمة يتم تعديلها بسبب الانقسامات، ولكن ليس لتوزيعات الأرباح.
السبت 20 فبراير 2018.
وهناك ميزة إحصائية بسيطة في سبي.
حدث لي أن معظم الوقت الذي تحدث فيه الكثير من وسائل الإعلام حول تحطم السوق (بعد خسائر كبيرة على مدى عدة أيام من الزمن)، تماما انتعاش كبير يتبع في بعض الأحيان.
في الماضي كنت قد ارتكبت اثنين من الأخطاء عن طريق إغلاق مواقف بلدي لخفض الخسائر قصيرة، لمجرد تفويت الانتعاش في الأيام التالية.
بعد فترة من الخسائر المتتالية، فإن العديد من التجار تصفية مواقفهم من الخوف على خسارة أكبر. ويخضع الكثير من هذا السلوك للخوف بدلا من المخاطر المحسوبة. يأتي التجار أكثر ذكاء في ذلك الحين للمساومات.
بعد كونسكتيوتيف 3 أو أكثر من الخسائر، تذهب طويلة. اخرج من الإغلاق التالي.
هذا لا تبدو سيئة على الإطلاق! وبالنظر إلى نسب شارب، فإن الإستراتيجية تدل على النسب 2.2 مقابل 0.44 ل B & أمب؛ H. هذا هو في الواقع جيدة جدا! (لا تحصل على متحمس جدا على الرغم من أنني لم حساب لتكاليف لجنة، الانزلاق الخ).
في حين أن الاستراتيجية أعلاه ليست شيئا أود أن التجارة ببساطة بسبب فترة طويلة، نظرية نفسها تثير أفكارا أكثر ثراء التي يمكن أن تنتج شيئا مفيدا. إذا كان نفس المبدأ ينطبق على البيانات اللحظية، ويمكن بناء شكل من أشكال استراتيجية سلخ فروة الرأس. في المثال أعلاه لقد تبسيطا في العالم قليلا من خلال عد فقط * عدد * من الأيام السفلية، دون الالتفات إلى عمق السحب. أيضا، موقف الخروج هو مجرد الأساسية "في اليوم التالي إغلاق". هناك الكثير مما ينبغي تحسينه، ولكن الجوهر في رأيي هو:
الاثنين، 17 نوفمبر 2017.
تداول فس مع أقرب الجيران التنبؤ.
تعريفي لهذين هو:
تقلب قسط = فيكس-أدركسيفول دلتا (المنحدر هيكل المدى) = فيكس-فكسف.
كان الجمع بين قسط ودلتا في نموذج واحد تحديا بالنسبة لي، ولكن أردت دائما أن تفعل تقريب إحصائي. في جوهرها، لمزيج من (دلتا، قسط)، أود أن تجد كل القيم التاريخية التي هي الأقرب إلى القيم الحالية وجعل تقدير العوائد المستقبلية على أساس لهم. بضع مرات لقد بدأت كتابة بلدي خوارزميات الاستيفاء الأقرب الجيران، ولكن في كل مرة اضطررت للتخلي عنها. حتى جئت عبر سكيت أقرب الجيران الانحدار. لقد مكنني من بناء بسرعة متنبأ على أساس اثنين من المدخلات والنتائج هي جيدة جدا، وأنا قلق قليلا بأنني ارتكبت خطأ في مكان ما.
إنشاء مجموعة بيانات من [دلتا، بريميوم] - & غ؛ [فكس عودة اليوم التالي] (في عينة) إنشاء أقرب الجيران التنبؤ استنادا إلى مجموعة البيانات أعلاه استراتيجية التجارة (خارج العينة) مع القواعد: يذهب طويلا إذا توقعت العودة & غ؛ 0 انتقل قصير إذا كان متوقعا العودة & لوت؛ 0.
في المؤامرتين الأخيرتين، يبدو أن الاستراتيجية تؤدي نفس العينة داخل وخارج العينة. نسبة شارب حوالي 2.3.
أنا مسرورة جدا مع النتائج، ولدي شعور بأنني كنت فقط خدش سطح ما هو ممكن مع هذه التقنية.
الأربعاء، 16 يوليو، 2017.
وحدة باكتستينغ بسيطة.
بحثي عن أداة باكتستينغ مثالية (تعريفي ل 'مثالية' وصفها في السابق 'باكتستينغ المعضلات' المشاركات) لم يؤدي إلى شيء ما يمكنني استخدامها على الفور. ومع ذلك، ساعدت مراجعة الخيارات المتاحة لي على فهم أفضل ما أريد حقا. من الخيارات التي نظرت إليها، كان بيباكتيست واحد أحببت أكثر بسبب بساطته وسرعته. بعد الذهاب من خلال شفرة المصدر، لقد حصلت على بعض الأفكار لجعله أكثر بساطة وأكثر قليلا أنيقة. من هناك، كان مجرد خطوة صغيرة لكتابة بلدي باكتستر، وهو متاح الآن في المكتبة ترادينغويثبيثون.
العثور على الدخول والمخارج - & غ؛ حساب بنل وجعل المؤامرات مع باكتستر - & غ؛ بيانات استراتيجية ما بعد العملية.
السبت، 7 يونيو 2017.
تعزيز الأداء مع سيثون.
5K عينات كبيانات الاختبار. هنا يأتي النسخة الأصلية من بلدي وظيفة السحب (كما يتم تنفيذه الآن في مكتبة ترادينغويثبيثون)
هم 1.2 ثانية ليست سريعة جدا لمثل هذه وظيفة بسيطة. هناك بعض الأشياء هنا التي يمكن أن يكون سحب كبير للأداء، مثل قائمة * هيتواترمارك * التي يتم إلحاقها على كل تكرار حلقة. الوصول إلى سلسلة من خلال فهرسهم يجب أن تشمل أيضا بعض المعالجة التي ليست نيسيزاري بدقة. دعونا نلقي نظرة على ما يحدث عند إعادة كتابة هذه الوظيفة للعمل مع البيانات نومبي.
حسنا، هذا هو أسرع بكثير من وظيفة الأصلي، ما يقرب من 40x زيادة السرعة. لا يزال هناك مجال كبير للتحسين من خلال الانتقال إلى التعليمات البرمجية المترجمة مع سيثون الآن إعادة كتابة وظيفة د من فوق، ولكن باستخدام نصائح التحسين التي وجدت على البرنامج التعليمي سيثون. لاحظ أن هذا هو أول محاولة لي من أي وقت مضى في تحسين وظائف مع سيثون.
نجاح باهر، وهذا الإصدار يعمل في 122 ثانية الصغرى، مما يجعلها عشرة آلاف مرة أسرع من النسخة الأصلية! يجب أن أقول إنني معجب جدا بما حققته فرق سيثون و إبيثون! سرعة مقارنة مع سهولة الاستخدام هو مجرد رهيبة!
ملاحظة اعتدت أن تفعل كود التحسينات في ماتلاب باستخدام C النقي و. ميكس التفاف، كان كل ألم فقط في الحمار مقارنة مع هذا.
الثلاثاء، 27 مايو 2017.
معضلات الاختبار الخلفي: مراجعة بيالغوتريد.
الانطباع الأول: وضعت بنشاط، وثائق جيدة جدا، أكثر من كافية فيوتشرز (مؤشرات تا، أمثلية الخ). تبدو جيدة، لذلك ذهبت مع التثبيت الذي ذهب أيضا بسلاسة.
البرنامج التعليمي يبدو أن قليلا من التاريخ، كما الأمر الأول yahoofinance. get_daily_csv () يلقي خطأ حول وظيفة غير معروفة. لا تقلق، والوثائق هي حتى الآن، وأجد أن وظيفة مفقودة والآن تسميته إلى yahoofinance. download_daily_bars (رمز، سنة، كسفيل). المشكلة هي أن هذه الوظيفة فقط بتحميل البيانات لمدة سنة واحدة بدلا من كل شيء من ذلك العام إلى التاريخ الحالي. جميلة جدا عديمة الفائدة.
بعد تحميل البيانات نفسي وحفظها إلى كسف، كنت بحاجة إلى ضبط أسماء الأعمدة لأنه يبدو بيالغوتراد يتوقع تاريخ، إغلاق إغلاق، إغلاق، عالية، منخفضة، فتح، المجلد ليكون في رأس. هذا هو كل مشكلة بسيطة.
بعد ذلك إلى اختبار الأداء على استراتيجية سما التي يتم توفيرها في البرنامج التعليمي. تتكون مجموعة البيانات الخاصة بي من 5370 يوما من سبي:
هذا هو في الواقع جيدة جدا للإطار القائم على الحدث.
ولكن بعد ذلك حاولت البحث في الوثائق عن الوظائف اللازمة ل باكتست ينتشر ومحافظ الأصول متعددة و فقط لا يمكن العثور على أي. ثم حاولت أن تجد وسيلة لتغذية الباندا داتافريم كمدخلات لاستراتيجية ويحدث أن يكون غير ممكن، والذي هو مرة أخرى خيبة أمل كبيرة. لم أشر إلى أنه شرط في الوظيفة السابقة، ولكن الآن أتيت إلى إدراك أن دعم الباندا أمر لا بد منه لأي إطار يعمل مع البيانات سلسلة زمنية. الباندا كان سببا في التحول من ماتلاب إلى بيثون، وأريد أبدا أن أعود.
خاتمة بيالوتغراد لا يلبي ريكوريمنت للمرونة. يبدو أنه تم تصميمه مع تا الكلاسيكية في الاعتبار وتداول أداة واحدة. لا أرى أنها أداة جيدة لاستراتيجيات الاختبار المسبق التي تنطوي على أصول متعددة، والتحوط وما إلى ذلك.
الاثنين، 26 مايو 2017.
معضلات باكتستينغ.
يكون تقريب جيد من العالم الحقيقي. هذا هو بالطبع أهم شرط. السماح بمرونة غير محدودة: الأدوات لا ينبغي أن تقف في طريق اختبار الأفكار من خارج المربع. وينبغي أن يكون كل ما يمكن قياسه كميا. يكون من السهل لتنفيذ & أمب؛ الحفاظ. هو كل شيء عن الإنتاجية والقدرة على اختبار العديد من الأفكار للعثور على واحد أن يعمل. السماح للمسح الضوئي المعلمة، المشي إلى الأمام الاختبار والتحسينات. وهذا مطلوب للتحقيق في أداء الاستراتيجية والاستقرار اعتمادا على معايير الاستراتيجية. وتتمثل المشكلة في استيفاء جميع المتطلبات أعلاه في أن الرقمين 2 و 3 متضاربين. لا توجد أداة يمكن أن تفعل كل شيء دون تكلفة عالية التعقيد (= مينتينابليتي منخفضة). عادة، فإن أداة نقطة ونقطة طرف ثالث سوف تحد بشدة من الحرية لاختبار مع إشارات مخصصة والمحافظ الفردية، بينما في الطرف الآخر من الطيف حل دي مرمزة مخصصة تتطلب عشرات أو أكثر من ساعات لتنفيذ مع فرص كبيرة من تنتهي مع رمز تشوش وغير قابل للقراءة. حتى في محاولة للجمع بين أفضل من كلا العالمين، دعونا نبدأ سومويهير في الوسط: استخدام إطار باكتستينغ القائمة والتكيف مع ذوقنا.
في الوظائف التالية أنا & # 8217؛ ليرة لبنانية النظر في ثلاثة مرشحين ممكن I & # 8217؛ وجدت:
زيبلين هو معروف على نطاق واسع و هو المحرك وراء كوانتوبيان بيالغوتراد ويبدو أن تكون وضعت بنشاط و بيباكتست موثقة جيدا هو الإطار القائم على ناقلات خفيفة الوزن مع التي قد تكون مثيرة للاهتمام بسبب بساطته والأداء. أنا سوف تبحث في ملاءمة هذه الأدوات قياسها ضد استراتيجية التداول الافتراضية. إذا لم يكن أي من هذه الخيارات يناسب متطلبات بلدي سوف تضطر إلى أن تقرر ما إذا كنت ترغب في الاستثمار في كتابة الإطار الخاص بي (على الأقل من خلال النظر في الخيارات المتاحة أنا & # 8217؛ ليرة لبنانية معرفة ما لا يعمل) أو عصا مع رمز مخصص لكل إستراتيجية.
أول واحد للتقييم هو زيبلين.
انطباعي الأول عن زيبلين و كوانتوبيان هو واحد إيجابي. ويدعم زيبلين من قبل فريق من المطورين ويتم اختبارها في الإنتاج، لذلك نوعية (البق) يجب أن تكون كبيرة. هناك وثائق جيدة على الموقع ومثال على الكمبيوتر المحمول جيثب.
للحصول على تعليق منه، وأنا تحميل دفتر إكسامب وبدأ اللعب معها. لخيبة أمل سرعان ما واجهت مشكلة في المثال الأول أبسط خوارزمية زيبلين: شراء أبل. مجموعة البيانات لديها 3028 يوما فقط، ولكن تشغيل هذا المثال استغرق للتو إلى الأبد. هنا هو ما قمت بقياسه:
لم أكن أتوقع أداء ممتاز كما زيبلين هو باكتستر القائم على الحدث، ولكن دقيقة تقريبا ل 3000 عينات هو مجرد سيئة للغاية. هذا النوع من الأداء سيكون باهظا لأي نوع من المسح الضوئي أو التحسين. وهناك مشكلة أخرى قد تنشأ عند العمل مع مجموعات البيانات الكبيرة مثل البيانات اللحظية أو الأوراق المالية متعددة، والتي يمكن أن تحتوي بسهولة مئات الآلاف من العينات.
لسوء الحظ، سوف تضطر إلى إسقاط زيبلين من قائمة باكتسترس صالحة للاستعمال لأنها لا تلبي متطلبات بلدي رقم 4 بهامش الدهون.
في المنصب التالي سأبحث في بيالغوتراد.
ملاحظة: النظام الحالي هو بضع سنوات من العمر، تشغيل أمد أثلون إي X2 @ 2800MHZ مع 3GB من ذاكرة الوصول العشوائي. مع باكتستينغ القائم على ناقلات I & # 8217؛ م تستخدم لحساب مرات أقل من ثانية واحدة باكتست ودقيقة أو اثنين لمسح المعلمة. وهناك اختبار المشي إلى الأمام الأساسية مع 10 خطوات والمسح الضوئي المعلمة لشبكة 20X20 من شأنه أن يؤدي إلى الديك 66 ساعة مع زيبلين. أنا & # 8217؛ م ليس بيتينت.
الأربعاء، 15 يناير 2017.
بدء إبيثون دفتر من إكسيلورر ملف ويندوز.
الاثنين، 13 يناير، 2017.
صناديق الاستثمار المتداولة في عام 2018، أين هو الانحلال الخاص بك الآن؟
ومع العلم بسلوك إتف المرتفع، أتوقع أن يتفوق إتفس المستقر على المؤشر المعياري، وبالتالي فإن الإستراتيجية التي تحاول الربح من الاضمحلال ستفقد المال.
بمجرد تطبيع الأسعار إلى 100 $ في بداية فترة باكتست (250 يوما) من الواضح أن 2x إتف يتفوق 1x إتف.
شفرة المصدر الكامل للحسابات متاح للمشتركين في التداول مع بيثون بالطبع. نوتيبوك # 307.
الخميس 2 يناير 2017.
وضع سعر على توتر.
السعر المستمد من قيمة المستخدم.
توتر حاليا أكثر قيمة لكل مستخدم أن فب أو لكد. هذا ليس منطقيا حيث أن كلا المنافسين لديهم بيانات شخصية أكثر قيمة تحت تصرفهم. وقد تفوقت غوغ في استخراج أرباح الإعلانات من مستخدميها. للقيام بذلك، لديها مجموعة من عروض متنوعة للغاية، من محرك البحث إلى جوجل، محرر المستندات و غميل. توتر ليس له شيء يشبه ذلك، في حين أن قيمته لكل مستخدم أقل بنسبة 35٪ فقط من قيمة غوغل. وتوتر لديها غرفة محدودة لتنمو قاعدة المستخدمين لأنها لا تقدم منتجات مماثلة ل فب أو غوغ العروض. وقد توتر حول لمدة سبع سنوات الآن ومعظم الناس الذين يريدون الحصول على فرصة حصلت على فرصتهم. والباقي فقط لا يهمني. قاعدة المستخدمين توتر متقلبة ومن المرجح أن تتحرك إلى الشيء الساخن المقبل عندما تصبح متاحة.
السعر المستمد من الأرباح المستقبلية.
استنتاج.
الخميس، 19 سبتمبر، 2018.
التداول مع دورة بايثون المتاحة!
الأحد، 18 أغسطس، 2018.
إستراتيجية قصيرة فس.
في عالم مثالي، إذا كنت تحمل ذلك لفترة طويلة بما فيه الكفاية، ويضمن الربح الناتجة عن تسوس الوقت في العقود الآجلة وإعادة التوازن إتن، ولكن على المدى القصير، وكنت قد للذهاب من خلال بعض السحب الثقيلة جدا. مجرد إلقاء نظرة إلى الوراء في صيف عام 2018. لقد كان من المؤسف (أو حمقاء) ما يكفي لعقد موقف فس قصيرة قبل أن ارتفع فيكس. لقد تقريبا في مهب حسابي من قبل ثم: 80٪ تراجع في بضعة أيام مما أدى إلى تهديد هامش الدعوة من قبل وسيط بلدي. نداء الهامش يعني صرف الخسارة. هذه ليست حالة أود أن أكون في مرة أخرى. كنت أعرف أنه لن يكون من السهل للحفاظ على رئيس بارد في جميع الأوقات، ولكن تعاني من الضغط والضغط من الوضع كان شيئا مختلفا. لحسن الحظ كنت أعرف كيف فس تميل إلى التصرف، لذلك لم أكن الذعر، ولكن تحولت إلى الرابع عشر لتجنب مكالمة الهامش. القصة تنتهي بشكل جيد، بعد 8 أشهر حافظت محفظتي مرة أخرى في قوة ولقد تعلمت درسا قيمة جدا.
بعد أن قلت ذلك، دعونا نلقي نظرة على استراتيجية تقلل بعض المخاطر من خلال تقصير فس فقط عندما يكون ذلك مناسبا.
يظهر الرسم البياني أعلاه بيانات فيكس-فكسف منذ يناير 2018. تظهر نقاط البيانات من العام الماضي باللون الأحمر.
لقد اخترت استخدام تناسب من الدرجة الثانية بين اثنين، تقريب فسف = f (فيكس). يتم رسم f (فيكس) كخط أزرق.
وتمثل القيم فوق الخط حالة عندما تكون العقود الآجلة أقوى من كونتانغو العادي. الآن أنا أعرف مؤشر دلتا، وهو الانحراف عن صالح: دلتا = فكسف-f (فيكس).
ومن الواضح أن المناطق الخضراء تتوافق مع عوائد سلبية في فس.
شورت فس عند دلتا & غ؛ 0 رأس المال الثابت (الرهان على كل يوم هو 100 $) أي انزلاق أو تكاليف المعاملات.
الحصول على حجم قصير من باتس.
الخميس، 15 أغسطس، 2018.
بناء مؤشر من البيانات قصيرة الحجم.
نحن بحاجة إلى مزيد من المعلومات إضافية إلى ما يتضمن السعر لجعل تخمين أكثر استنارة حول ما سيحدث في المستقبل القريب. ويمكن العثور على مثال ممتاز للجمع بين جميع أنواع المعلومات إلى تحليل ذكي على الجانب القصير من بلوق طويلة. إنتاج هذا النوع من التحليل يتطلب قدرا كبيرا من العمل، وأنا ببساطة لم يكن لديك الوقت وأنا التجارة فقط بدوام جزئي.
لذلك أنا بنيت بلدي 'لوحة القيادة السوق' التي تجمع تلقائيا المعلومات بالنسبة لي ويعرضها في شكل سهل الهضم. في هذا المنصب سوف أشرح كيفية بناء مؤشر يعتمد على بيانات الحجم القصير. وستوضح هذه الوظيفة عملية جمع البيانات ومعالجتها.
يوفر تبادل باتس بيانات حجم اليومية مجانا على موقعهم.
يتم تضمين بيانات حجم قصيرة من تبادل باتس في ملف نصي مضغوط. كل يوم لديه ملف مضغوط خاص به. بعد تحميل وفك ملف تكست، وهذا هو ما في الداخل (أول عدة أسطر):
هذه البيانات تحتاج إلى بعض العمل قبل أن يمكن تقديمها بطريقة هادفة.
ما أريد حقا ليس فقط البيانات ليوم واحد، ولكن نسبة من حجم قصير إلى الحجم الكلي للسنوات القليلة الماضية، وأنا لا أشعر حقا مثل تحميل ملفات زيب 500+ ونسخ لصق لهم في التفوق يدويا.
لحسن الحظ، أتمتة كاملة ليست سوى بضعة خطوط رمز بعيدا:
أولا نحتاج إلى إنشاء عنوان ورل حيوي يتم تنزيل الملف منه:
الخطوة الخامسة: إنشاء مخطط:
الأحد، 17 مارس، 2018.
التداول مع دورة بايثون - تحديث الحالة.
ابتداء من اليوم سأقوم بإعداد موقع جديد على شبكة الإنترنت والمواد اللازمة للدورة، والتي ستبدأ في الأسبوع الثاني من أبريل.
الخميس، 12 يناير، 2018.
إعادة بناء فس من كبو الآجلة البيانات.
النصوص أدناه أتمتة هذه العملية. أول واحد، downloadVixFutures. py، يحصل على البيانات من كبو، يحفظ كل ملف في دليل بيانات ثم يجمع بينهما في ملف كسف واحد، vix_futures. csv.
يقوم البرنامج النصي الثاني ريكونستروكشيون VXX. py بتحليل vix_futures. csv، ويحسب العوائد اليومية ل فس ويحفظ النتائج على إعادة الإنشاء VXX. csv.
للتحقق من الحسابات، لقد قارنت النتائج المحاكاة بلدي مع بيانات مؤشر سبفستر، وهما يتفق بشكل جيد جدا، انظر الرسوم البيانية أدناه.
رمز لإعادة بناء فس.
الاثنين، 26 ديسمبر، 2018.
هوتو: نمط المراقب.
فئة المستمع يمكن أن يكون من أي نوع، وهنا أصنع حفنة من الطبقات إكسامبلليستينر، واسمه بوب، ديف & أمب؛ تشارلي. كل منهم لديهم طريقة، وهذا هو الذي اشتركت في المرسل. The only special thing about the subscribed method is that it should contain three parameters: sender, event, message . Sender is the class reference of the Sender class, so a listener would know who sent the message. Event is an identifier, for which I usually use a string. Optionally, a message is the data that is passed to a function.
A nice detail is that if a listener method throws an exception, it is automatically unsubscribed from further events.
الأربعاء، 14 ديسمبر، 2018.
Plotting with guiqwt.
data aquisition: ibpy & tradingWithPython. lib. yahooData - check.
data container: pandas & sqlite - check.
plotting library: matplotlib - ehm. لا.
But as it often happens with Python, somebody, somewhere has already written a kick-ass toolkit that is just perfect for the job. And it looks like guiqwt is just it. Interactive charts are just a couple of code lines away now, take a look at an example here: Creating curve dialog . For this I used guiqwt example code with some minor tweaks.
. If only I knew how to set dates on the x-axis.
Friday, November 4, 2018.
How to setup Python development environment.
2. Install Tortoise SVN. This is a utility that you need to pull the source code from Google Code.
3. Install Pandas (time series library)
To get the code, use 'Svn Checkout' windows explorer context menu that is available after installing Tortoise SVN. Checkout like this (change Checkout directory to the location you want, but it should end with tradingWithPython ):
Ok, all done, now you can run the examples from \cookbok dir.
Friday, October 28, 2018.
الكونغ فو الباندا سوف يحل مشاكل البيانات الخاصة بك.
Some time ago I've come across a data analysis toolkit pandas especially suited for working with financial data. After just scratching the surface of its capabilities I'm already blown away by what it delivers. The package is being actively developed by Wes McKinney and his ambition is to create the most powerful and flexible open source data analysis/manipulation tool available. Well, I think he is well on the way!
Here is the result:
Man, this could have saved me a ton of time! But it still will help me in the future, as I'll be using its DataFrame object as a standard in my further work.

QuantStart.
الانضمام إلى كوانتكاديمي بوابة العضوية الخاصة التي تلبي احتياجات التجزئة المتزايد بسرعة المجتمع تاجر الكمي. سوف تجد مجموعة من ذوي الخبرة مثل التفكير من التجار الكميون على استعداد للرد على أسئلة التداول الكمي الأكثر إلحاحا.
تحقق من بلدي يبوك على التداول الكمي حيث أنا يعلمك كيفية بناء مربحة استراتيجيات التداول المنهجي مع أدوات بايثون، من الصفر.
نلقي نظرة على بلدي الكتاب الاليكتروني الجديد على استراتيجيات التداول المتقدمة باستخدام تحليل سلسلة زمنية، والتعلم الآلي والإحصاءات بايزي، مع بيثون و R.
By Michael Halls-Moore on February 20th, 2017.
في هذه المقالة سوف ننظر في أول استراتيجية التداول اللحظي. وسوف تستخدم فكرة التداول الكلاسيكية، أن من "أزواج التداول". في هذه الحالة سوف نستفيد من صندوقين متداولين للصرافة (إتفس) و سبي و إوم، يتم تداولهما في بورصة نيويورك (نيس) ومحاولة تمثيل مؤشرات سوق الأسهم الأمريكية، ومؤشر S & أمب؛ P500 و وراسل 2000، على التوالي.
The strategy broadly creates a "spread" between the pair of ETFs by longing one and shorting an amount of the other. يمكن تعريف نسبة طويلة إلى قصيرة بطرق عديدة مثل استخدام تقنيات التسلسل الزمني الإحصائي المشترك. في هذا السيناريو نحن نذهب لحساب نسبة التحوط بين سبي و إوم عن طريق الانحدار الخطي المتداول. وهذا سوف يسمح لنا بعد ذلك لخلق "انتشار" بين سبي و إوم التي تطبيع إلى درجة Z. سيتم إنشاء إشارات التداول عندما تتجاوز درجة Z عتبات معينة تحت الاعتقاد بأن الانتشار سيعود إلى المتوسط.
والأساس المنطقي للاستراتيجية هو أن سبي و إوم توصف تقريبا نفس الوضع، أن من اقتصاديات مجموعة من الشركات الكبيرة والصغيرة كاب الأمريكية. الفرضية هي أنه إذا كان المرء يأخذ انتشار الأسعار فإنه يجب أن يكون مقلوبا، لأنه في حين أن الأحداث "المحلية" (في الوقت المناسب) قد تؤثر إما مؤشرات S & P500 أو رسل 2000 بشكل منفصل (مثل صغير كاب / الاختلافات في الحد الأقصى، والتوازن إعادة التوازن أو الصفقات كتلة)، وسلسلة السعر على المدى الطويل من اثنين من المرجح أن يكون كوينتيغراتد.
الاستراتيجية.
وتنفذ الاستراتيجية في الخطوات التالية:
البيانات - يتم الحصول على أشرطة 1 دقيقة من سبي و إوم من أبريل 2007 حتى فبراير 2017. تجهيز - يتم محاذاة البيانات بشكل صحيح ويتم تجاهل الحانات المفقودة متبادل. الانتشار - يتم حساب نسبة التحوط بين صندوقي الاستثمار المتداولين عن طريق أخذ الانحدار الخطي المتداول. ويعرف هذا معامل الانحدار $ \ بيتا $ باستخدام نافذة المراجعة التي تتحول إلى الأمام بواسطة 1 بار ويعاد حساب معاملات الانحدار. وبالتالي يتم حساب نسبة التحوط $ \ beta_i $، للبار $ b_i $ عبر النقاط $ b_ $ إلى $ b_ $ لاسترجاع القضبان $ k $. Z - نقاط - يتم احتساب النتيجة القياسية للفرق بالطريقة المعتادة. وهذا يعني طرح (عينة) متوسط ​​الفارق والانقسام عن طريق (العينة) الانحراف المعياري للفرق. والأساس المنطقي لذلك هو جعل معلمات العتبة أكثر وضوحا للتداخل بما أن درجة Z هي كمية لا أبعاد لها. لقد عرضت عمدا انحياز لوكهيد في الحسابات من أجل إظهار كيف خفية يمكن أن يكون. محاولة والبحث عن ذلك! الصفقات - تتولد إشارات طويلة عندما تنخفض درجة Z السلبية تحت عتبة محددة مسبقا (أو ما بعد التحسين)، في حين أن الإشارات القصيرة هي العكس من ذلك. يتم إنشاء إشارات الخروج عند انخفاض درجة Z المطلقة تحت عتبة إضافية. بالنسبة لهذه الإستراتيجية، اخترت (بشكل تعسفي إلى حد ما) عتبة دخول مطلقة $ | z | = 2 $ وعتبة خروج $ | z | = 1 $. وبافتراض أن السلوك المعاد للعودة في الانتشار، سيؤمل ذلك في التقاط هذه العلاقة وتقديم أداء إيجابي.
ولعل أفضل طريقة لفهم الاستراتيجية في العمق هي تنفيذها فعليا. The following section describes a full Python code (single file) for implementing this mean-reverting strategy. لقد علقت بشكل حر على القانون من أجل المساعدة على التفاهم.
بيثون التنفيذ.
كما هو الحال مع جميع الدروس بيثون / الباندا من الضروري أن يكون الإعداد بيئة البحث بيثون كما هو موضح في هذا البرنامج التعليمي. مرة واحدة الإعداد، والمهمة الأولى هي استيراد مكتبات بيثون اللازمة. لهذا باكتست ماتبلوتليب والباندا مطلوبة.
إصدارات المكتبة المحددة التي أستخدمها هي كما يلي:
دعونا نمضي قدما واستيراد ليبرراراريز:
الدالة التالية create_pairs_dataframe تستورد ملفين كسف يحتويان على أشرطة لحظية لرمزين. في حالتنا هذا سيكون سبي و إوم. ثم يقوم بإنشاء أزواج داتافريم منفصلة، ​​والذي يستخدم فهارس كل من الملفات الأصلية. وبما أن الطوابع الزمنية الخاصة بهم من المرجح أن تكون مختلفة بسبب الصفقات والأخطاء غاب، وهذا يضمن أننا سوف يكون مطابقة البيانات. هذا هو واحد من الفوائد الرئيسية لاستخدام مكتبة تحليل البيانات مثل الباندا. يتم التعامل مع التعليمات البرمجية "النمطي" بالنسبة لنا بطريقة فعالة جدا.
الخطوة التالية هي تنفيذ الانحدار الخطي المتداول بين سبي و إوم. في هذه الحالة إوم هو التنبؤ ('س') و سبي هو الاستجابة ('ص'). لقد وضعت نافذة الرجعية الافتراضية من 100 القضبان. وكما نوقش أعلاه، فهذه هي معلمة الاستراتيجية. من أجل أن تعتبر الاستراتيجية قوية نحن نريد بشكل مثالي أن نرى لمحة عوائد (أو غيرها من قياس الأداء) كدالة محدبة من فترة الاسترجاع. Thus at a later stage in the code we will carry out a sensitivity analysis by varying the lookback period over a range.
مرة واحدة يتم حساب معامل بيتا المتداول في نموذج الانحدار الخطي ل سبي-إوم، نضيفه إلى أزواج داتافريم وإسقاط الصفوف الفارغة. وهذا يشكل المجموعة الأولى من الحانات مساوية لحجم المراجعة كتدبير تقليم. ثم نقوم بإنشاء انتشار صناديق الاستثمار المتداولة اثنين باعتبارها وحدة من سبي و $ - \ beta_i $ وحدات من إوم. ومن الواضح أن هذا ليس وضعا واقعيا ونحن نتخذ كميات كسرية من إوم، وهو أمر غير ممكن في التنفيذ الحقيقي.
وأخيرا، فإننا خلق Z - درجة من انتشار، والتي يتم حسابها عن طريق طرح متوسط ​​انتشار وتطبيع من الانحراف المعياري للفرق. نلاحظ أن هناك انحياز لوحياد خفية نوعا ما يحدث هنا. تركت عمدا في التعليمات البرمجية كما أردت أن أؤكد كم هو سهل لجعل مثل هذا الخطأ في البحث. ويحسب المتوسط ​​والانحراف المعياري لكامل السلاسل الزمنية للانتشار. إذا كان هذا لتعكس دقة تاريخية حقيقية فإن هذه المعلومات لن تكون متاحة لأنها تستخدم ضمنا المعلومات المستقبلية. وبالتالي يجب علينا استخدام المتوسط ​​المتداول و ستديف لحساب درجة Z.
في create_long_short_market_signals يتم إنشاء إشارات التداول. وتحسب هذه القيم عن طريق تمديد فترة الانتشار عندما تتجاوز درجة z سالبة سالبة وتقلل من الانتشار عندما تتجاوز درجة Z إيجابيا درجة Z موجبة. وتعطى إشارة الخروج عندما تكون القيمة المطلقة للزاوية Z أقل من أو تساوي عتبة أخرى (أصغر حجما).
من أجل تحقيق هذا الوضع من الضروري أن نعرف، لكل شريط، ما إذا كانت الاستراتيجية "في" أو "الخروج" من السوق. لونغ-ماركيتينغ و short_market هي متغيرين محددين لتعقب مواقف السوق الطويلة والقصيرة. لسوء الحظ هذا هو أبسط بكثير لرمز بطريقة تكرارية بدلا من نهج فيكتوريسد وبالتالي فهو بطيء لحساب. على الرغم من 1 دقيقة الحانات التي تتطلب.
700،000 نقطة البيانات في ملف كسف أنها لا تزال سريعة نسبيا لحساب على جهاز سطح المكتب القديم بلدي!
لتكرار أكثر من الباندا داتافريم (الذي اعترف ليس عملية مشتركة) فمن الضروري استخدام طريقة إيتيروس، الذي يوفر مولد التي لتكرار:
في هذه المرحلة قمنا بتحديث أزواج لاحتواء إشارات طويلة / قصيرة الفعلية، والذي يسمح لنا لتحديد ما إذا كنا بحاجة إلى أن تكون في السوق. الآن نحن بحاجة إلى إنشاء محفظة لتتبع القيمة السوقية للمواقف. المهمة الأولى هي إنشاء عمود المواضع الذي يجمع بين الإشارات الطويلة والقصيرة. سيحتوي هذا على قائمة بالعناصر من $ (1، 1) $، مع $ 1 $ تمثل مركزا طويلا في السوق، $ 0 $ لا تمثل أي موقف (يجب أن يتم الخروج) و $ -1 دولار يمثل وضعية قصيرة / . ويمثل العمودان سيم 1 و sym2 القيم السوقية لمواقع سبي و إوم عند إغلاق كل شريط.
وبمجرد إنشاء قيم سوق إتف، نجمعها لإنتاج قيمة سوقية إجمالية في نهاية كل شريط. ثم يتم تحويل هذا إلى تيار إرجاع بواسطة طريقة pct_change لهذا الكائن سلسلة. خطوط لاحقة من التعليمات البرمجية مسح الإدخالات سيئة (نان والعناصر إنف) وأخيرا حساب منحنى الأسهم الكامل.
وظيفة __main__ يجلب كل ذلك معا. توجد ملفات كسف اللحظية في مسار داتادير. تأكد من تعديل الشفرة أدناه للإشارة إلى الدليل الخاص بك.
من أجل تحديد مدى حساسية الاستراتيجية لفترة المراجعة، من الضروري حساب مقياس الأداء لمجموعة من عمليات المراجعة. لقد اخترت إجمالي النسبة المئوية النهائية للعائد من المحفظة كمقياس الأداء ونطاق المراجعة في $ [50،200] $ مع زيادات من 10. يمكنك أن ترى في التعليمات البرمجية التالية التي يتم لفها الوظائف السابقة في ل حلقة عبر هذا النطاق ، مع عتبات أخرى ثابتة. المهمة النهائية هي استخدام ماتبلوتليب لإنشاء مخطط خطي من الاستعراضات مقابل العوائد:
ويمكن الآن أن ينظر إلى الرسم البياني فترة الرجعية مقابل العودة. لاحظ أن هناك حد أقصى "عالمي" حول استرجاع يساوي 110 بار. وإذا كنا قد رأينا حالة كان فيها الاستطلاع مستقلا عن العوائد، فقد يكون ذلك مدعاة للقلق:
سبي-إوم الخطي الانحدار التحوط نسبة تحليل حساسية فترة الاسترجاع.
لا تكون المادة باكتستينغ كاملة دون منحني منحنى الأسهم صعودا! وبالتالي إذا كنت ترغب في رسم منحنى العوائد المتراكمة مقابل الوقت، يمكنك استخدام التعليمات البرمجية التالية. فإنه سيتم رسم المحفظة النهائية التي تم إنشاؤها من دراسة المعلمة الاسترجاع. وبالتالي سيكون من الضروري اختيار الاسترجاع اعتمادا على الرسم البياني الذي ترغب في تصور. الرسم البياني أيضا مؤامرات عوائد سبي في نفس الفترة للمساعدة في المقارنة:
إن مخطط منحنى الأسهم التالي هو لفترة استرجاع 100 يوم:
سبي-إوم الخطي الانحدار التحوط نسبة تحليل حساسية فترة الاسترجاع.
نلاحظ أن السحب من سبي هو كبير في عام 2009 خلال فترة الأزمة المالية. The strategy also had a volatile period at this stage. ونلاحظ أيضا أن الأداء قد تدهور إلى حد ما في العام الماضي نظرا لطبيعة تتجه بقوة من سبي في هذه الفترة، مما يعكس مؤشر S & أمب؛ P500.
لاحظ أنه لا يزال يتعين علينا أن نأخذ بعين الاعتبار التحيز لوكهيد عند حساب درجة Z من انتشار. وعلاوة على ذلك، أجريت جميع هذه الحسابات دون تكاليف المعاملات. ومن المؤكد أن هذه الاستراتيجية ستكون ضعيفة جدا بمجرد أخذ هذه العوامل في الاعتبار. لا يتم حاليا حساب الرسوم أو عرض السعر / العرض أو الانزلاق. وبالإضافة إلى ذلك يتم تداول الاستراتيجية في وحدات كسور من صناديق الاستثمار المتداولة، وهو أيضا غير واقعي جدا.
في مقالات لاحقة سوف نقوم بإنشاء باكتستر أكثر تعقيدا الحدث الذي يحركها من شأنها أن تأخذ هذه العوامل في الاعتبار وتعطينا ثقة أكبر بكثير في منحنى الأسهم ومقاييس الأداء.
مجرد بدء مع التداول الكمي؟
3 أسباب الاشتراك في قائمة البريد الإلكتروني كوانتستارت:
1. دروس التداول الكمي.
سوف تحصل على إمكانية الوصول الفوري إلى دورة مجانية 10-البريد الإلكتروني معبأة مع تلميحات ونصائح لمساعدتك على البدء في التداول الكمي!
2. جميع أحدث المحتوى.
كل أسبوع سوف نرسل لك التفاف جميع الأنشطة على كوانتستارت لذلك عليك أن لا يفوتون وظيفة مرة أخرى.
ريال مدريد، وقابلة للتنفيذ نصائح التداول الكمي مع أي هراء.

No comments:

Post a Comment