A - ص - المتاجرة النظام


نجمة. ترادينغ سيستيم انضم في سبتمبر 2009 الحالة: نقطة واحدة في المرة الواحدة. 177 المشاركات مرحبا. لقد جئت مؤخرا عبر هذا S. T.A. R. نظام التداول أو سوبر نظام التجارة. supertradesystemindex. html وتساءل ما الآخرين هنا أن أقول عن ذلك. من المفترض بدلا من استخدام المتوسطات المتحركة، مثل معظم الروبوتات وهذا يقوم على مبدأ الموجة إليوت ونوع ما من الروبوت مشينال. كما استعرضت ما كتبه الناس على جيش الفوركس للسلام. forexpeacearmypublic. راديسيستم فقط أتساءل ما الناس التجار أن أقول عن هذا النظام معين أو غيرها بشكل عام. هم عملية احتيال. أو القيام ببعض حقا العمل أنا مؤلف سوبيرتراديسيستم والقاعدة الجديدة إليوت موجة. اسمحوا لي أن أشير إلى بعض الأشياء التي سوبيرتراديسيستم أو سوبر ترادس أت ريتريس (ستار) هو وما هو ليس كذلك. على الرغم من أن كتابة قاعدة جديدة ل إليوت موجة يعني أنا عميق في إو، ستار لا تستخدم أي إو العد أو الاعتماد عليه. وتستخدم فيبوناتشي العلاقات التي تجعل عمل إو والسوق بالفعل من قبل الأدوات التي يتم توفيرها. هذا هو نظام التداول اليدوي، وليس الروبوت من أي نوع. وتسمح المؤشرات بتحليل التغيرات السريعة. كل موجة جديدة تعمل بسرعة مختلفة وأحجام شريط التعسفي لن تكون قادرة على التقاط إشارات السوق يرسل دون مطابقة الأدوات الخاصة بك إلى سرعات متنوعة أولا. ثات صلصة سرية لنجوم. فإنه ديكونتينيرزس أساسا البيانات وترجم لك تحليل السرعة. يستخدم ستار الأداة الأولى لاستخراج المعلومات سرعة من السوق للحصول على الإعدادات التي تحتاج إليها أداة إشارة. هذا هو ما يعطي النظام دقتها. لا يمكن لمؤشرات الزخم البسيط أن تفعل ذلك لأنهم أيضا هم كوتوبوم و بيلينكوت إلى التغييرات السرعة. إذا كنت ببساطة اتخاذ الإطار الزمني التعسفي لتطبيق تقنية التحليل الخاص بك سوف تكون قادرة على أن يكون لديك دقة إذا كنت محظوظا واختيار الخاص بك يحدث أن يكون نفس السرعة تتطابق هذه المرة. للأسف هذا النهج هو الرغبة لأن السرعات التي يمكن أن تختار السوق هي كثيرة. الرياضيات والنمذجة الثاني (فينك 621) هي فئة مستوى الدراسات العليا التي يتم تقديمها حاليا في جامعة لويولا في شيكاغو خلال الربع الشتاء. تستكشف فينك 621 موضوعات في التمويل الكمي والرياضيات والبرمجة. الصف هو عملي في الطبيعة، ويتألف من كل من محاضرة وعنصر المختبر. تستخدم المختبرات لغة البرمجة R ويطلب من الطلاب تقديم مهامهم الفردية في نهاية كل فصل. الهدف النهائي من فينك 621 هو تزويد الطلاب مع الأدوات العملية التي يمكن استخدامها لإنشاء ونموذج وتحليل استراتيجيات التداول بسيطة. بعض الروابط R مفيدة حول المعلم هاري G. هو تاجر كمي كبير لشركة تجارية هفت في شيكاغو. وهو حاصل على درجة الماجستير 8217s في الهندسة الكهربائية ودرجة الماجستير في الرياضيات المالية من جامعة شيكاغو. في وقت فراغه، هاري يعلم دورة على مستوى الدراسات العليا في التمويل الكمي في جامعة لويولا في شيكاغو. هو أيضا مؤلف من التداول الكمي مع R. نوفمبر 30، 2018، 12:34 بعد بضعة أشهر القارئ يشير لي من هذه الطريقة الجديدة لربط R و إكسيل. أنا don8217t أعرف كم من الوقت كان هذا حولها، ولكن أنا لم تأتي عبر ذلك و I8217ve لم أر أي مدونة أو مقال حول هذا الموضوع. لذلك قررت أن أكتب وظيفة كأداة حقا يستحق كل هذا العناء وقبل أي شخص يسأل، I8217m لا علاقة للشركة بأي شكل من الأشكال. يقف بيرت لمجموعة أدوات إكسيل R الأساسية. it8217s مجانا (مرخص تحت غل V2) وقد تم تطويره من قبل هيكلة البيانات ليك. في وقت كتابة النسخة الحالية من بيرت هو 1.07. ويمكن الاطلاع على مزيد من المعلومات هنا. من منظور أكثر تقنية، تم تصميم بيرت لدعم تشغيل وظائف R من خلايا جداول البيانات إكسل. في مصطلحات إكسيل، فإنه 8217s لكتابة الدالات المعرفة من قبل المستخدم (أودف) في R. في هذه المشاركة I8217m لن تظهر لك كيفية تفاعل R و إكسيل عبر بيرت. هناك دروس جيدة جدا هنا. هنا وهنا. بدلا من ذلك أريد أن تظهر لك كيف اعتدت بيرت لبناء برج 8220control 8221 لتداول بلدي. يتم إنشاء إشارات التداول الخاصة بي باستخدام قائمة طويلة من الملفات R ولكن أنا بحاجة إلى مرونة إكسيل لعرض النتائج بسرعة وكفاءة. كما هو مبين أعلاه بيرت يمكن أن تفعل هذا بالنسبة لي ولكن أريد أيضا أن خياط التطبيق لاحتياجاتي. من خلال الجمع بين قوة شمل، فبا، R و بيرت يمكنني إنشاء تطبيق جيد حتى الآن قوية في شكل ملف إكسيل مع الحد الأدنى من التعليمات البرمجية فبا. في نهاية المطاف لدي ملف إكسيل واحد يجمع كل المهام اللازمة لإدارة محفظتي: تحديث قاعدة البيانات، توليد إشارة، تقديم الطلبات الخ 8230 يمكن تقسيم نهجي أسفل في 3 خطوات أدناه: استخدام شمل لبناء القوائم المحددة المستخدم والأزرار في إكسيل ملف. القوائم المذكورة أعلاه وأزرار هي أساسا يدعو إلى وظائف فبا. تلك الوظائف فبا هي التفاف حول وظائف R المعرفة باستخدام بيرت. مع هذا النهج يمكنني الحفاظ على تمييز واضح بين جوهر بلدي رمز الاحتفاظ بها في R، سكل وبيثون وكل ما يستخدم لعرض وتنسيق النتائج المحفوظة في إكسيل، فبا أمبير شمل. في الأقسام التالية أقدم الشرط الأساسي لتطوير مثل هذا النهج ودليل خطوة بخطوة يوضح كيف يمكن استخدام بيرت لمجرد تمرير البيانات من R إلى إكسيل مع الحد الأدنى من التعليمات البرمجية فبا. 1 8211 تحميل وتثبيت بيرت من هذا الرابط. بمجرد اكتمال التثبيت يجب أن يكون لديك قائمة الوظائف الإضافية الجديدة في إكسيل مع الأزرار كما هو موضح أدناه. هذه هي الطريقة التي تحققت بيرت في إكسيل. 2 8211 قم بتنزيل وتثبيت محرر واجهة المستخدم المخصص. يسمح محرر واجهة المستخدم المخصصة بإنشاء قوائم وأزرار محددة من قبل المستخدم في شريط إكسيل. يتوفر إجراء خطوة بخطوة هنا. دليل خطوة بخطوة 1 8211 R كود: وظيفة R أدناه هي قطعة بسيطة جدا من التعليمات البرمجية لأغراض التوضيح فقط. ويحسب ويعيد البقايا من الانحدار الخطي. هذا هو ما نريد استرداد في إكسيل. حفظ هذا في ملف يسمى myRCode. R (أي اسم آخر على ما يرام) في دليل من اختيارك. 2 8211 function. R في بيرت. من إكسيل حدد الوظائف الإضافية - gt الصفحة الرئيسية الدليل وفتح الملف يسمى functions. R. في هذا الملف قم بلصق التعليمة البرمجية التالية. تأكد من إدراج المسار الصحيح. هذا هو مجرد مصادر في بيرت ملف R قمت بإنشائه أعلاه. ثم حفظ وإغلاق الملف functions. R. إذا كنت تريد إجراء أي تغيير على ملف R التي تم إنشاؤها في الخطوة 1 سيكون لديك لإعادة تحميله باستخدام زر بيرت 8220Reload ستارتوب File8221 من القائمة الوظائف الإضافية في إكسيل 3 8211 في إكسيل: إنشاء وحفظ ملف يسمى myFile. xslm (أي اسم آخر على ما يرام). هذا هو ملف تمكين ماكرو الذي تقوم بحفظه في الدليل الذي تختاره. مرة واحدة يتم حفظ الملف إغلاقه. 4 8211 افتح الملف الذي تم إنشاؤه أعلاه في محرر واجهة المستخدم المخصصة: بعد فتح الملف، الصق الرمز أدناه. يجب أن يكون لديك شيء من هذا القبيل في محرر شمل: أساسا هذه القطعة من رمز شمل بإنشاء قائمة إضافية (رترادر)، مجموعة جديدة (مجموعتي) وزر تعريف المستخدم (زر جديد) في الشريط إكسيل. بمجرد الانتهاء من 8217re، افتح myFile. xslm في إكسيل وأغلق محرر واجهة المستخدم المخصص. يجب أن نرى شيئا من هذا القبيل. 5 8211 فتح محرر فبا. في myFile. xlsm إدراج وحدة نمطية جديدة. قم بلصق التعليمة البرمجية أدناه في الوحدة النمطية التي تم إنشاؤها حديثا. يؤدي ذلك إلى محو النتائج السابقة في ورقة العمل قبل التعامل مع نتائج جديدة. 6 8211 انقر فوق زر جديد. الآن ارجع إلى جدول البيانات وفي القائمة رترادر ​​انقر فوق الزر 8220New Button8221. يجب أن تشاهد شيئا مثل ما يظهر أدناه. الدليل أعلاه هو نسخة أساسية جدا من ما يمكن تحقيقه باستخدام بيرت لكنه يظهر لك كيفية الجمع بين قوة عدة أدوات محددة لبناء التطبيق المخصص الخاص بك. من وجهة نظري مصلحة هذا النهج هو القدرة على الغراء معا R و إكسيل الواضح ولكن أيضا لتشمل عن طريق شمل (والدفعة) قطعة من التعليمات البرمجية من بايثون، سكل وأكثر من ذلك. هذا هو بالضبط ما كنت بحاجة إليه. وأخيرا أود أن يكون من الغريب أن نعرف ما إذا كان أي شخص لديه أي خبرة مع بيرت 19 أغسطس 2018، 9:26 صباحا عند اختبار استراتيجيات التداول نهج مشترك هو تقسيم مجموعة البيانات الأولية في البيانات عينة: الجزء من البيانات المصممة لمعايرة النموذج والخروج من بيانات العينة: جزء من البيانات المستخدمة للتحقق من صحة المعايرة والتأكد من أن الأداء الذي تم إنشاؤه في العينة سوف تنعكس في العالم الحقيقي. وكقاعدة عامة يمكن استخدام حوالي 70 من البيانات الأولية للمعايرة (أي في العينة) و 30 للتحقق من صحة (أي من العينة). ثم تساعد مقارنة البيانات داخل وخارج العينة على تحديد ما إذا كان النموذج قويا بما فيه الكفاية. ويهدف هذا المنصب إلى المضي قدما خطوة أخرى ويوفر طريقة إحصائية لتقرير ما إذا كان خارج العينة البيانات يتماشى مع ما تم إنشاؤه في العينة. في الرسم البياني أدناه تمثل المنطقة الزرقاء خارج أداء العينة لأحد استراتيجياتي. الفحص البصري البسيط يكشف عن ملاءمة جيدة بين أداء العينة وخارجها ولكن درجة الثقة لدي في هذا في هذه المرحلة ليس كثيرا وهذا هو القضية. والمطلوب حقا هو مقياس للتشابه بين مجموعات البيانات داخل وخارج العينة. ومن الناحية الإحصائية، يمكن ترجمة ذلك على أنه احتمال أن تأتي أرقام أداء العينة وخارجها من نفس التوزيع. هناك اختبار إحصائي غير بارامتري الذي يفعل بالضبط هذا: اختبار كروسكال واليس. ويمكن العثور على تعريف جيد لهذا الاختبار على جمع R-توتور 8220A من عينات البيانات مستقلة إذا كانت تأتي من السكان غير ذات الصلة والعينات لا تؤثر على بعضها البعض. باستخدام اختبار كروسكال واليس. یمکننا أن نقرر ما إذا کانت توزیعات السکان متطابقة دون افتراض أنھم یتبعون التوزیع الطبیعي. 8221 الفائدة المضافة لھذا الاختبار لا تفترض توزیع طبیعي. وتوجد اختبارات أخرى من نفس الطبيعة يمكن أن تتلاءم مع هذا الإطار. اختبار مان-ويتني-ويلكوكسون أو اختبارات كولموغوروف-سميرنوف يناسب تماما الإطار يصف هنا ولكن هذا خارج نطاق هذه المقالة لمناقشة إيجابيات وسلبيات كل من هذه الاختبارات. ويمكن الاطلاع على وصف جيد جنبا إلى جنب مع الأمثلة R هنا. Here8217s الكود المستخدم لإنشاء الرسم البياني أعلاه والتحليل: في المثال أعلاه في فترة العينة أطول من خارج الفترة عينة لذلك أنا عشوائيا إنشاء 1000 مجموعات فرعية من البيانات في العينة كل واحد منهم نفس طول كما خارج من بيانات العينة. ثم اختبرت كل عينة فرعية في مقابل عينة من البيانات وسجلت قيم p. هذه العملية لا تخلق قيمة P واحدة لاختبار كروسكال واليس ولكن التوزيع يجعل التحليل أكثر قوة. في هذا المثال يكون متوسط ​​قيم p أعلى بكثير من الصفر (0.478) مما يشير إلى أنه يجب قبول الفرضية الصفرية: فهناك أدلة قوية على أن البيانات داخل وخارج العينة تأتي من نفس التوزيع. كالمعتاد ما هو عرض في هذا المنصب هو مثال لعبة أن خدوش فقط على سطح المشكلة ويجب أن تكون مصممة لتلبية الاحتياجات الفردية. ومع ذلك أعتقد أنه يقترح إطارا إحصائيا للاهتمام والعقلاني لتقييم نتائج العينة. هذا المقال مستوحى من الورقتين التاليتين: فيجير ألكسندر، شميل سوان (2007)، آثار وظائف التحسين المختلفة على الخروج من عينة أداء استراتيجيات التداول المتطورة وراثيا، والتنبؤ مؤتمر الأسواق المالية فيجير ألكسندر، شميل سوان (2018)، و عملية التحسين لتحسين إنوت من عينة الاتساق، حالة سوق الأسهم، مؤتمر مورغان كازينوف الأسهم الكمية، لندن أكتوبر 2018 13 ديسمبر 2018، 2:03 بعد الظهر القيام البحوث الكمية ينطوي على الكثير من البيانات الطحن واحد يحتاج إلى بيانات نظيفة وموثوق بها إلى تحقيق ذلك. ما هو مطلوب حقا هو البيانات النظيفة التي يمكن الوصول إليها بسهولة (حتى من دون اتصال بالإنترنت). وكانت الطريقة الأكثر فعالية للقيام بذلك بالنسبة لي للحفاظ على مجموعة من ملفات كسف. من الواضح أن هذه العملية يمكن التعامل معها في نواح كثيرة ولكن وجدت العمل الإضافي فعالة جدا وبسيطة للحفاظ على الدليل حيث يمكنني تخزين وتحديث ملفات كسف. لدي ملف كسف واحد لكل أداة ويسمى كل ملف بعد الصك أنه يحتوي على. والسبب في أنني تفعل ذلك هو شقين: أولا، أنا don8217t تريد تحميل البيانات (السعر) من ياهو، جوجل الخ 8230 في كل مرة أريد أن اختبار فكرة جديدة ولكن الأهم من ذلك مرة واحدة حددت وتحديد المشكلة، وأنا don8217t تريد أن تضطر إلى تفعل ذلك مرة أخرى في المرة القادمة أحتاج نفس الصك. بسيطة لكنها فعالة جدا حتى الآن. يتم تلخيص العملية في الرسم البياني أدناه. في كل ما يلي، أفترض أن البيانات تأتي من ياهو. وسوف يكون رمز لتعديل البيانات من جوجل، كواندل الخ 8230 وبالإضافة إلى ذلك أقدم عملية تحديث بيانات الأسعار اليومية. سيكون الإعداد مختلفا عن بيانات التردد الأعلى والنوع الآخر من مجموعات البيانات (أي مختلف عن الأسعار). 1 8211 تحميل البيانات الأولية (listOfInstruments. R أمب HistoryData. R) الملف listOfInstruments. R هو ملف يحتوي فقط على قائمة بجميع الأدوات. إذا كان أداة isn8217t جزء من قائمتي (أي ملف كسف في مجلد البيانات) أو إذا كنت تفعل ذلك للمرة الأولى لديك لتحميل مجموعة البيانات التاريخية الأولية. المثال أدناه ينزل مجموعة من صناديق المؤشرات المتداولة يوميا من ياهو فينانس إلى يناير 2000 وتخزين البيانات في ملف كسف. 2 8211 تحديث البيانات الموجودة (updateData. R) يبدأ الرمز التالي من الملفات الموجودة في المجلد المخصص ويقوم بتحديث كل واحد منهم بعد الآخر. أنا عادة تشغيل هذه العملية كل يوم إلا عندما I8217m في عطلة. لإضافة أداة جديدة، ببساطة تشغيل الخطوة 1 أعلاه لهذا الصك وحده. 3 8211 إنشاء ملف دفعي (updateDailyPrices. bat) جزء مهم آخر من المهمة إنشاء ملف دفعي يقوم بأتمتة عملية التحديث أعلاه (I8217m مستخدم ويندوز). هذا يتجنب فتح رستوديو وتشغيل التعليمات البرمجية من هناك. يتم وضع التعليمات البرمجية أدناه على ملف. bat (المسار يجب أن يتم تعديله مع إعداد القارئ 8217s). لاحظ أنني أضفت ملف الإخراج (updateLog. txt) لتتبع التنفيذ. العملية المذكورة أعلاه بسيطة للغاية لأنها تصف فقط كيفية تحديث بيانات الأسعار اليومية. I8217ve تم استخدام هذا لفترة من الوقت، وأنها كانت تعمل بسلاسة جدا بالنسبة لي حتى الآن. لمزيد من البيانات المتقدمة أندور ترددات أعلى، يمكن للأشياء الحصول على أكثر صعوبة. كالمعتاد أي تعليقات ترحيب 15 أغسطس 2018، 09:03 م صناعة إدارة الأصول على وشك تغيير كبير. على مدى العامين الماضيين ظهرت الروبوتات المستشارين (را) لاعبين جدد. المصطلح نفسه يصعب تعريفه لأنه يشمل مجموعة كبيرة ومتنوعة من الخدمات. تم تصميم بعضها لمساعدة المستشارين التقليديين لتخصيص أفضل أموال عملائها والبعض الحقيقي 8220black box8221. المستخدم إدخال بعض المعايير (العمر والدخل والأطفال الخ 8230) والروبوت يقترح تخصيص مصممة خصيصا. بين هذين النقيضين مجموعة كاملة من العروض المتاحة. لقد وجدت تعريف ويكيبيديا جيدة جدا. 8220 وهم فئة من المستشار المالي الذي يوفر إدارة المحافظ على الانترنت مع الحد الأدنى من التدخل البشري 8221. وبشكل أدق، يستخدمون إدارة الحافظة القائمة على الخوارزميات لتقديم مجموعة كاملة من الخدمات التي سيقدمها مستشار تقليدي: إعادة استثمار الأرباح، وتقارير الامتثال، وإعادة توازن المحفظة، وحصاد الخسائر الضريبية، وما إلى ذلك (8230) (وهذا ما يفعله مجتمع الاستثمار الكمي على مدى عقود). هذه الصناعة لا تزال في مهدها مع معظم اللاعبين لا تزال تدير كمية صغيرة من المال ولكن أدركت فقط مدى عميق كان التغيير عندما كنت في مدينة نيويورك قبل بضعة أيام. عندما را الحصول على أسمائهم على التلفزيون يضيف أو على سقف سيارة أجرة مدينة نيويورك كنت أعلم شيئا كبيرا هو happinger8230 هو الحصول على المزيد والمزيد من الاهتمام من وسائل الإعلام وقبل كل شيء يجعل الكثير من الشعور من وجهة نظر المستثمرين. هناك بالفعل ميزتان رئيسيتان في استخدام را: رسوم أقل بكثير على المستشارين التقليديين يتم جعل الاستثمار أكثر شفافية وأبسط وأكثر جاذبية للأشخاص ذوي المعرفة المالية المحدودة في هذا المنصب R هو مجرد ذريعة لتقديم لطيف ما هو الاتجاه الرئيسي في صناعة إدارة الأصول. ويبين الرسم البياني أدناه حصص السوق من را الأكثر شعبية اعتبارا من نهاية عام 2018. التعليمات البرمجية المستخدمة لتوليد الرسم البياني أدناه يمكن العثور عليها في نهاية هذا المنصب والبيانات هنا. هذه الأرقام هي مؤرخة قليلا نظرا لمدى سرعة هذه الصناعة تتطور ولكن لا تزال مفيدة للغاية. ليس من المستغرب أن يهيمن على السوق من قبل مقدمي الولايات المتحدة مثل ويالثفرونت و بيترمنت ولكن را لا تظهر في جميع أنحاء العالم: آسيا (8Now)، سويسرا (إنفستغلاس)، فرنسا (ماري كوانتييه) 8230. وبدأت تؤثر تأثيرا كبيرا على طريقة مديري الأصول التقليدية يقومون بأعمالهم التجارية. ومن الأمثلة البارزة على ذلك الشراكة بين "الإخلاص" و "بيترمنت". منذ ديسمبر 2018 بيترمنت الماضي علامة 2000000000 أوم. على الرغم من كل ما سبق، أعتقد أن التغيير الحقيقي هو أمامنا. ولأنهم يستخدمون وسطاء أقل ومنتجات عمولة منخفضة (مثل صناديق الاستثمار المتداولة)، فإنهم يتقاضون رسوما أقل بكثير من الرسوم التي يحصل عليها المستشارون التقليديون. ومن المؤكد أن إدارة األبحاث ستكتسب حصصا سوقية كبيرة ولكنها ستخفض أيضا الرسوم التي تتحملها الصناعة ككل. في نهاية المطاف سوف تؤثر على طريقة الشركات الاستثمارية التقليدية القيام بأعمال تجارية. إدارة محفظة النشطة التي تواجه وقتا صعبا لبعض سنوات الآن سوف تعاني أكثر من ذلك. إن الرسوم المرتفعة التي تتكبدها ستكون أكثر صعوبة لتبريرها ما لم تعيد اختراع نفسها. ومن الآثار المحتملة الأخرى ارتفاع صنادیق الاستثمار المتداولة والمنتجات المالیة منخفضة العمولات بشکل عام. ومن الواضح أن هذا قد بدأ منذ فترة ولكنني أعتقد أن التأثير سيكون أكثر وضوحا في السنوات المقبلة. وتتبع الأجيال الجديدة لصناديق الاستثمار المتداولة مؤشرات أكثر تعقيدا واستراتيجيات مخصصة. وسيزداد حتما هذا الاتجاه. كالمعتاد أي تعليقات ترحيب 7 يوليو 2018، 08:04 ص هناك العديد من R سلسلة الدروس الوقت العائمة حول على شبكة الإنترنت لم يتم تصميم هذا المنصب ليكون واحدا منهم. بدلا من ذلك أريد أن أعرض قائمة من الحيل الأكثر فائدة جئت عبر التعامل مع سلسلة الوقت المالي في R. بعض من الوظائف المقدمة هنا قوية بشكل لا يصدق ولكن للأسف دفن في الوثائق وبالتالي رغبتي في إنشاء وظيفة مخصصة. أنا فقط عنوان اليومية أو أقل تردد مرات سلسلة. يتطلب التعامل مع البيانات ذات التردد العالي أدوات محددة: حزم البيانات أو حزم التردد العالي هي بعض منها. شتس. حزمة شتس هو يجب أن يكون عندما يتعلق الأمر إلى سلسلة مرات في R. المثال أدناه تحميل الحزمة ويخلق سلسلة زمنية يومية من 400 يوما نورمال توزيع عوائد merge. xts (حزمة شتس): هذا هو قوي بشكل لا يصدق عندما يتعلق الأمر ملزمة مرتين أو أكثر سلسلة مرات معا سواء لديهم نفس الطول أم لا. الوسيطة الانضمام يفعل السحر أنه يحدد كيفية تنفيذ application. yearlyapply. monthly (حزمة شتس): تطبيق دالة محددة إلى كل فترة متميزة في كائن سلسلة زمنية معينة. المثال التالي يحسب العائدات الشهرية والسنوية من السلسلة الثانية في كائن تسينتر. لاحظ أن أستخدم مجموع عوائد (لا كومبوندينغ) إندبوانتس (باكستس شتس): استخراج قيم فهرس كائن شتس معين المقابلة للملاحظات الأخيرة نظرا لفترة محددة من قبل. يعطي المثال اليوم الأخير من الشهر إرجاع لكل سلسلة في كائن تسينتر باستخدام نقطة النهاية لتحديد التاريخ. na. locf (حزمة حديقة الحيوان): وظيفة عامة لاستبدال كل نا مع أحدث غير نا قبل ذلك. مفيدة للغاية عند التعامل مع سلسلة زمنية مع عدد قليل من 8220holes8221 وعندما يتم استخدام هذه السلسلة الزمنية لاحقا كإدخال لوظائف R التي لا تقبل الحجج مع نا. في المثال أنا إنشاء سلسلة زمنية من أسعار عشوائية ثم يتضمن مصطنع عدد قليل من المنظمات غير الحكومية في ذلك واستبدالها مع أحدث قيمة. charts. PerformanceSummary (باكيج بيرفورمانساناليتيكش): بالنسبة لمجموعة من العوائد، قم بإنشاء مخطط مؤشر الثروة، أشرطة لأداء كل فترة، والمخطط تحت الماء للتخفيض. هذا مفيد بشكل لا يصدق كما أنه يعرض على نافذة واحدة جميع المعلومات ذات الصلة لفحص بصري سريع لاستراتيجية التداول. المثال أدناه يحول سلسلة الأسعار إلى كائن شتس ثم يعرض نافذة مع 3 المخططات المذكورة أعلاه. القائمة أعلاه ليست بأي حال من الأحوال شاملة ولكن بمجرد السيطرة على وظائف تصف في هذا المنصب فإنه يجعل التلاعب من سلسلة الوقت المالي أسهل كثيرا، رمز أقصر وقراءة من التعليمات البرمجية بشكل أفضل. كالمعتاد أي تعليقات نرحب مارس 23، 2018، 8:55 بيإم عندما يتعلق الأمر بإدارة محفظة الأسهم مقابل معيار المشكلة هي مختلفة جدا عن تحديد استراتيجية العودة المطلقة. في السابق يجب أن تعقد المزيد من الأسهم مما كانت عليه في وقت لاحق حيث لا يمكن الاحتفاظ بأي أسهم على الإطلاق إذا لم تكن هناك فرصة جيدة بما فيه الكفاية. والسبب في ذلك هو خطأ التتبع. ويعرف هذا على أنه الانحراف المعياري لعائد المحفظة مطروحا منه العائد المرجعي. وكلما قلت المخزونات مقابل مقياس مرجعي كلما زاد خطأ التتبع (مثل ارتفاع المخاطر). التحليل التالي هو مستوحى إلى حد كبير من كتاب 8220Active إدارة المحافظ 8221 من قبل غرينولد أمب كان. هذا هو الكتاب المقدس لأي شخص مهتم في تشغيل محفظة ضد المعيار. وأنا أشجع بقوة أي شخص لديه مصلحة في هذا الموضوع لقراءة الكتاب من البداية إلى النهاية. It8217s مكتوبة بشكل جيد للغاية ويضع أسس إدارة محفظة نشطة منهجية (ليس لدي أي انتماء إلى المحرر أو المؤلفين). 1 8211 تحليل عامل هنا we8217re تحاول ترتيب بأكبر قدر ممكن الأسهم في عالم الاستثمار على أساس العودة إلى الأمام. العديد من الناس جاءوا مع العديد من الأدوات و تم تطوير عدد لا يحصى من تلك الأدوات لتحقيق ذلك. في هذا المنصب، أركز على مقياسين بسيطين ومستخدمين على نطاق واسع: معامل المعلومات (إيك) وعائد الكميات (ريال قطري). 1.1 معامل المعلومات 8211 يجب أن يحدد المحلل الأفق للعوائد الآجلة وهو 8217s دالة لاستراتيجية دوران 8217s وتحلل ألفا (كان هذا موضوع بحث موسع). من الواضح أن المراآز يجب أن تكون على أعلى مستوى ممكن من حيث القيمة المطلقة. بالنسبة للقارئ الحريص، في كتاب غرينولد أمب كان الصيغة التي تربط نسبة المعلومات (إر) و إيك تعطى: مع اتساع عدد من الرهانات المستقلة (الحرف). وتعرف هذه الصيغة بالقانون الأساسي للإدارة الفعالة. المشكلة هي أنه في كثير من الأحيان، وتحديد اتساع بدقة ليست سهلة كما يبدو. 1.2 8211 كوانتيز ريتورن من أجل الحصول على تقدير أدق لعامل القدرة التنبؤية له 8217s الضروري للانتقال خطوة أخرى، ثم تجميع الأسهم حسب كمية قيم العوامل ثم تحليل متوسط ​​العائد الآجل (أو أي مقياس ميل مركزي آخر) لكل من تلك quantiles. فائدة هذه الأداة هي واضحة. يمكن أن يكون لعامل إيك جيد ولكن قد تنحصر قدرته التنبؤية على عدد قليل من الأسهم. هذا ليس جيدا كما مدير محفظة سيكون لديك لاختيار الأسهم داخل الكون كله من أجل تلبية قيود خطأ التتبع. وتتميز عودة الكميات الجيدة بعلاقة رتيبة بين الكميات الفردية والعوائد الآجلة. جميع الأسهم في مؤشر SampP500 (في وقت كتابة هذا التقرير). من الواضح أن هناك تحيز سفينة البقاء على قيد الحياة: قائمة الأسهم في المؤشر قد تغيرت بشكل ملحوظ بين بداية ونهاية فترة العينة، ومع ذلك فإنه 8217s جيدة بما فيه الكفاية لأغراض التوضيح فقط. التعليمات البرمجية أدناه تحميل أسعار الأسهم الفردية في SampP500 بين يناير 2005 واليوم (يستغرق بعض الوقت) ويحول أسعار الخام في العودة على مدى الأشهر ال 12 الماضية والشهر الماضي. الأول هو عاملنا، وسيتم استخدام هذا الأخير كمقياس العودة إلى الأمام. وفيما يلي رمز لحساب معامل المعلومات وعودة الكميات. لاحظ أنني استخدمت الخماسي في هذا المثال ولكن يمكن استخدام أي طريقة تجميع أخرى (تيرسيلز، ديسيلز etc.8230). فإنه يعتمد حقا على حجم العينة، ما تريد التقاط والطقس تريد أن يكون لمحة عامة أو التركيز على ذيول التوزيع. ولتقدير العائدات في كل خمسية، استخدم الوسيط كمقدر للنزعة المركزية. هذا المقياس أقل حساسية بكثير من القيم المتطرفة من الوسط الحسابي. وأخيرا رمز لإنتاج الرسم البياني كوانتيز ريتورن. 3 8211 كيفية استغلال المعلومات أعلاه في الرسم البياني أعلاه Q1 هو أدنى 12 شهرا الماضية العودة و Q5 أعلى. هناك زيادة رتيبة تقريبا في العائد الكمي بين Q1 و Q5 مما يشير بوضوح إلى أن الأسهم التي تندرج في Q5 تفوق تلك التي تقع في الربع الأول بنحو 1 في الشهر. هذا مهم جدا وقوية لمثل هذا عامل بسيط (ليس حقا مفاجأة على الرغم 8230). لذلك هناك فرص أكبر للتغلب على المؤشر من خلال زيادة الوزن للأسهم المتساقطة في Q5 وتخفيض الوزن لتلك التي تقع في الربع الأول بالنسبة إلى المؤشر المعياري. إيك من 0.0206 قد لا يعني الكثير في حد ذاته لكنه 8217s يختلف اختلافا كبيرا عن 0 ويشير إلى قوة تنبؤية جيدة من الأشهر ال 12 الماضية يعود عموما. يمكن تقييم اختبارات الأهمية الرسمية ولكن هذا خارج نطاق هذه المقالة. 4 8211 القيود العملية الإطار السابق ممتاز لتقييم جودة الاستثمارات 8217s الجودة ولكن هناك عدد من القيود العملية التي يجب معالجتها لتنفيذ الحياة الحقيقية: إعادة التوازن. في الوصف أعلاه، يفترض 8217s أنه في نهاية كل شهر يتم إعادة توازن محفظة بالكامل. وهذا يعني أن جميع الأسهم التي تندرج في الربع الأول من هذا العام تعاني من نقص الوزن، وأن جميع الأسهم التي تندرج في Q5 هي زيادة في الوزن مقارنة بالمؤشر المعياري. هذا ليس دائما ممكنا لأسباب عملية: بعض الأسهم قد تكون مستبعدة من عالم الاستثمار، هناك قيود على الصناعة أو وزن القطاع، وهناك قيود على دوران الخ 8230 تكاليف المعاملات. هذا لم يؤخذ في الاعتبار في التحليل أعلاه وهذا هو فرملة خطيرة لتنفيذ الحياة الحقيقية. وعادة ما يتم تنفيذ اعتبارات دوران في الحياة الحقيقية في شكل عقوبة على جودة عامل. معامل النقل. هذا هو امتداد للقانون الأساسي للإدارة النشطة ويخفف من افتراض نموذج غرينولد 8217s أن المديرين لا تواجه أي قيود مما يمنعهم من ترجمة رؤى استثماراتهم مباشرة إلى الرهانات محفظة. وأخيرا، I8217m دهشتها ما يمكن تحقيقه في أقل من 80 سطر من التعليمات البرمجية مع R8230 كالمعتاد أي تعليقات ولكنوفنمبر 30، 2018، 12:34 م قبل بضعة أشهر قارئ يشير لي من هذه الطريقة الجديدة لربط R و إكسيل. أنا don8217t أعرف كم من الوقت كان هذا حولها، ولكن أنا لم تأتي عبر ذلك و I8217ve لم أر أي مدونة أو مقال حول هذا الموضوع. لذلك قررت أن أكتب وظيفة كأداة حقا يستحق كل هذا العناء وقبل أي شخص يسأل، I8217m لا علاقة للشركة بأي شكل من الأشكال. يقف بيرت لمجموعة أدوات إكسيل R الأساسية. it8217s مجانا (المرخصة تحت V2 غل) وقد تم تطويره من قبل هيكلة البيانات ليك. في وقت كتابة النسخة الحالية من بيرت هو 1.07. ويمكن الاطلاع على مزيد من المعلومات هنا. من منظور أكثر تقنية، تم تصميم بيرت لدعم تشغيل وظائف R من خلايا جداول البيانات إكسل. في مصطلحات إكسيل، فإنه 8217s لكتابة الدالات المعرفة من قبل المستخدم (أودف) في R. في هذه المشاركة I8217m لن تظهر لك كيفية تفاعل R و إكسيل عبر بيرت. هناك دروس جيدة جدا هنا. هنا وهنا. بدلا من ذلك أريد أن تظهر لك كيف اعتدت بيرت لبناء برج 8220control 8221 لتداول بلدي. يتم إنشاء إشارات التداول الخاصة بي باستخدام قائمة طويلة من الملفات R ولكن أنا بحاجة إلى مرونة إكسيل لعرض النتائج بسرعة وكفاءة. كما هو مبين أعلاه بيرت يمكن أن تفعل هذا بالنسبة لي ولكن أريد أيضا أن خياط التطبيق لاحتياجاتي. من خلال الجمع بين قوة شمل، فبا، R و بيرت يمكنني إنشاء تطبيق جيد حتى الآن قوية في شكل ملف إكسيل مع الحد الأدنى من التعليمات البرمجية فبا. في نهاية المطاف لدي ملف إكسيل واحد يجمع كل المهام اللازمة لإدارة محفظتي: تحديث قاعدة البيانات، توليد إشارة، تقديم الطلبات الخ 8230 يمكن تقسيم نهجي أسفل في 3 خطوات أدناه: استخدام شمل لبناء القوائم المحددة المستخدم والأزرار في إكسيل ملف. القوائم المذكورة أعلاه وأزرار هي أساسا يدعو إلى وظائف فبا. تلك الوظائف فبا هي التفاف حول وظائف R المعرفة باستخدام بيرت. مع هذا النهج يمكنني الحفاظ على تمييز واضح بين جوهر بلدي رمز الاحتفاظ بها في R، سكل وبيثون وكل ما يستخدم لعرض وتنسيق النتائج المحفوظة في إكسيل، فبا أمبير شمل. في الأقسام التالية أقدم الشرط الأساسي لتطوير مثل هذا النهج ودليل خطوة بخطوة يوضح كيف يمكن استخدام بيرت لمجرد تمرير البيانات من R إلى إكسيل مع الحد الأدنى من التعليمات البرمجية فبا. 1 8211 تحميل وتثبيت بيرت من هذا الرابط. بمجرد اكتمال التثبيت يجب أن يكون لديك قائمة الوظائف الإضافية الجديدة في إكسيل مع الأزرار كما هو موضح أدناه. هذه هي الطريقة التي تحققت بيرت في إكسيل. 2 8211 قم بتنزيل وتثبيت محرر واجهة المستخدم المخصص. يسمح محرر واجهة المستخدم المخصصة بإنشاء قوائم وأزرار محددة من قبل المستخدم في شريط إكسيل. يتوفر إجراء خطوة بخطوة هنا. دليل خطوة بخطوة 1 8211 R كود: وظيفة R أدناه هي قطعة بسيطة جدا من التعليمات البرمجية لأغراض التوضيح فقط. ويحسب ويعيد البقايا من الانحدار الخطي. هذا هو ما نريد استرداد في إكسيل. حفظ هذا في ملف يسمى myRCode. R (أي اسم آخر على ما يرام) في دليل من اختيارك. 2 8211 function. R في بيرت. من إكسيل حدد الوظائف الإضافية - gt الصفحة الرئيسية الدليل وفتح الملف يسمى functions. R. في هذا الملف قم بلصق التعليمة البرمجية التالية. تأكد من إدراج المسار الصحيح. هذا هو مجرد مصادر في بيرت ملف R قمت بإنشائه أعلاه. ثم حفظ وإغلاق الملف functions. R. إذا كنت تريد إجراء أي تغيير على ملف R التي تم إنشاؤها في الخطوة 1 سيكون لديك لإعادة تحميله باستخدام زر بيرت 8220Reload ستارتوب File8221 من القائمة الوظائف الإضافية في إكسيل 3 8211 في إكسيل: إنشاء وحفظ ملف يسمى myFile. xslm (أي اسم آخر على ما يرام). هذا هو ملف تمكين ماكرو الذي تقوم بحفظه في الدليل الذي تختاره. مرة واحدة يتم حفظ الملف إغلاقه. 4 8211 افتح الملف الذي تم إنشاؤه أعلاه في محرر واجهة المستخدم المخصصة: بعد فتح الملف، الصق الرمز أدناه. يجب أن يكون لديك شيء من هذا القبيل في محرر شمل: أساسا هذه القطعة من رمز شمل بإنشاء قائمة إضافية (رترادر)، مجموعة جديدة (مجموعتي) وزر تعريف المستخدم (زر جديد) في الشريط إكسيل. بمجرد الانتهاء من 8217re، افتح myFile. xslm في إكسيل وأغلق محرر واجهة المستخدم المخصص. يجب أن نرى شيئا من هذا القبيل. 5 8211 فتح محرر فبا. في myFile. xlsm إدراج وحدة نمطية جديدة. قم بلصق التعليمة البرمجية أدناه في الوحدة النمطية التي تم إنشاؤها حديثا. يؤدي ذلك إلى محو النتائج السابقة في ورقة العمل قبل التعامل مع نتائج جديدة. 6 8211 انقر فوق زر جديد. الآن ارجع إلى جدول البيانات وفي القائمة رترادر ​​انقر فوق الزر 8220New Button8221. يجب أن تشاهد شيئا مثل ما يظهر أدناه. الدليل أعلاه هو نسخة أساسية جدا من ما يمكن تحقيقه باستخدام بيرت لكنه يظهر لك كيفية الجمع بين قوة عدة أدوات محددة لبناء التطبيق المخصص الخاص بك. من وجهة نظري مصلحة هذا النهج هو القدرة على الغراء معا R و إكسيل الواضح ولكن أيضا لتشمل عن طريق شمل (والدفعة) قطعة من التعليمات البرمجية من بايثون، سكل وأكثر من ذلك. هذا هو بالضبط ما كنت بحاجة إليه. وأخيرا سأكون من الغريب أن نعرف ما إذا كان أي شخص لديه أي خبرة مع بيرت 19 أغسطس 2018، 9:26 صباحا عند اختبار استراتيجيات التداول نهج مشترك هو تقسيم مجموعة البيانات الأولية في البيانات عينة: الجزء من البيانات المصممة لمعايرة النموذج والخروج من بيانات العينة: جزء من البيانات المستخدمة للتحقق من صحة المعايرة والتأكد من أن الأداء الذي تم إنشاؤه في العينة سوف تنعكس في العالم الحقيقي. وكقاعدة عامة يمكن استخدام حوالي 70 من البيانات الأولية للمعايرة (أي في العينة) و 30 للتحقق من صحة (أي من العينة). ثم تساعد مقارنة البيانات داخل وخارج العينة على تحديد ما إذا كان النموذج قويا بما فيه الكفاية. ويهدف هذا المنصب إلى المضي قدما خطوة أخرى ويوفر طريقة إحصائية لتقرير ما إذا كان خارج العينة البيانات يتماشى مع ما تم إنشاؤه في العينة. في الرسم البياني أدناه تمثل المنطقة الزرقاء خارج أداء العينة لأحد استراتيجياتي. الفحص البصري البسيط يكشف عن ملاءمة جيدة بين أداء العينة وخارجها ولكن درجة الثقة لدي في هذا في هذه المرحلة ليس كثيرا وهذا هو القضية. والمطلوب حقا هو مقياس للتشابه بين مجموعات البيانات داخل وخارج العينة. ومن الناحية الإحصائية، يمكن ترجمة ذلك على أنه احتمال أن تأتي أرقام أداء العينة وخارجها من نفس التوزيع. هناك اختبار إحصائي غير بارامتري الذي يفعل بالضبط هذا: اختبار كروسكال واليس. ويمكن العثور على تعريف جيد لهذا الاختبار على جمع R-توتور 8220A من عينات البيانات مستقلة إذا كانت تأتي من السكان غير ذات الصلة والعينات لا تؤثر على بعضها البعض. باستخدام اختبار كروسكال واليس. یمکننا أن نقرر ما إذا کانت توزیعات السکان متطابقة دون افتراض أنھم یتبعون التوزیع الطبیعي. 8221 الفائدة المضافة لھذا الاختبار لا تفترض توزیع طبیعي. وتوجد اختبارات أخرى من نفس الطبيعة يمكن أن تتلاءم مع هذا الإطار. The Mann-Whitney-Wilcoxon test or the Kolmogorov-Smirnov tests would perfectly suits the framework describes here however this is beyond the scope of this article to discuss the pros and cons of each of these tests. A good description along with R examples can be found here . Here8217s the code used to generate the chart above and the analysis: In the example above the in sample period is longer than the out of sample period therefore I randomly created 1000 subsets of the in sample data each of them having the same length as the out of sample data. Then I tested each in sample subset against the out of sample data and I recorded the p-values. This process creates not a single p-value for the Kruskall-Wallis test but a distribution making the analysis more robust. In this example the mean of the p-values is well above zero (0.478) indicating that the null hypothesis should be accepted: there are strong evidences that the in and out of sample data is coming from the same distribution. As usual what is presented in this post is a toy example that only scratches the surface of the problem and should be tailored to individual needs. However I think it proposes an interesting and rational statistical framework to evaluate out of sample results. This post is inspired by the following two papers: Vigier Alexandre, Chmil Swann (2007), Effects of Various Optimization Functions on the Out of Sample Performance of Genetically Evolved Trading Strategies, Forecasting Financial Markets Conference Vigier Alexandre, Chmil Swann (2018), An optimization process to improve inout of sample consistency, a Stock Market case, JP Morgan Cazenove Equity Quantitative Conference, London October 2018 December 13, 2018, 2:03 pm Doing quantitative research implies a lot of data crunching and one needs clean and reliable data to achieve this. What is really needed is clean data that is easily accessible (even without an internet connection). The most efficient way to do this for me has been to maintain a set of csv files. Obviously this process can be handled in many ways but I found very efficient and simple overtime to maintain a directory where I store and update csv files. I have one csv file per instrument and each file is named after the instrument it contains. The reason I do so is twofold: First, I don8217t want to download (price) data from Yahoo, Google etc8230 every time I want to test a new idea but more importantly once I identified and fixed a problem, I don8217t want to have to do it again the next time I need the same instrument. Simple yet very efficient so far. The process is summarized in the chart below. In everything that follows, I assume that data is coming from Yahoo. The code will have to be amended for data from Google, Quandl etc8230 In addition I present the process of updating daily price data. The setup will be different for higher frequency data and other type of dataset (i. e. different from prices). 1 8211 Initial data downloading (listOfInstruments. R amp historicalData. R) The file listOfInstruments. R is a file containing only the list of all instruments. If an instrument isn8217t part of my list (i. e. no csv file in my data folder) or if you do it for the very first time you have to download the initial historical data set. The example below downloads a set of ETFs daily prices from Yahoo Finance back to January 2000 and store the data in a csv file. 2 8211 Update existing data (updateData. R) The below code starts from existing files in the dedicated folder and updates all of them one after the other. I usually run this process everyday except when I8217m on holiday. To add a new instrument, simply run step 1 above for this instrument alone. 3 8211 Create a batch file (updateDailyPrices. bat) Another important part of the job is creating a batch file that automates the updating process above (I8217m a Windows user). This avoids opening RRStudio and run the code from there. The code below is placed on a. bat file (the path has to be amended with the reader8217s setup). Note that I added an output file (updateLog. txt) to track the execution. The process above is extremely simple because it only describes how to update daily price data. I8217ve been using this for a while and it has been working very smoothly for me so far. For more advanced data andor higher frequencies, things can get much trickier. As usual any comments welcome March 23, 2018, 8:55 pm When it comes to managing a portfolio of stocks versus a benchmark the problem is very different from defining an absolute return strategy. In the former one has to hold more stocks than in the later where no stocks at all can be held if there is not good enough opportunity. The reason for that is the tracking error . This is defined as the standard deviation of the portfolio return minus the benchmark return. The less stocks is held vs. a benchmark the higher the tracking error (e. g higher risk). The analysis that follows is largely inspired by the book 8220Active Portfolio Management8221 by Grinold amp Kahn. This is the bible for anyone interested in running a portfolio against a benchmark. I strongly encourage anyone with an interest in the topic to read the book from the beginning to the end. It8217s very well written and lays the foundations of systematic active portfolio management (I have no affiliation to the editor or the authors). 1 8211 Factor Analysis Here we8217re trying to rank as accurately as possible the stocks in the investment universe on a forward return basis. Many people came up with many tools and countless variant of those tools have been developed to achieve this. In this post I focus on two simple and widely used metrics: Information Coefficient (IC) and Quantiles Return (QR). 1.1 8211 Information Coefficient The horizon for the forward return has to be defined by the analyst and it8217s a function of the strategy8217s turnover and the alpha decay (this has been the subject of extensive research). Obviously ICs must be as high as possible in absolute terms. For the keen reader, in the book by Grinold amp Kahn a formula linking Information Ratio (IR) and IC is given: with breadth being the number of independent bets (trades). This formula is known as the fundamental law of active management . The problem is that often, defining breadth accurately is not as easy as it sounds. 1.2 8211 Quantiles Return In order to have a more accurate estimate of the factor predictive power it8217s necessary to go a step further and group stocks by quantile of factor values then analyse the average forward return (or any other central tendency metric) of each of those quantiles. The usefulness of this tool is straightforward. A factor can have a good IC but its predictive power might be limited to a small number of stocks. This is not good as a portfolio manager will have to pick stocks within the entire universe in order to meet its tracking error constraint. Good quantiles return are characterised by a monotonous relationship between the individual quantiles and forward returns. All the stocks in the SampP500 index (at the time of writing). Obviously there is a survival ship bias: the list of stocks in the index has changed significantly between the start and the end of the sample period, however it8217s good enough for illustration purposes only. The code below downloads individual stock prices in the SampP500 between Jan 2005 and today (it takes a while) and turns the raw prices into return over the last 12 months and the last month. The former is our factor, the latter will be used as the forward return measure. Below is the code to compute Information Coefficient and Quantiles Return. Note that I used quintiles in this example but any other grouping method (terciles, deciles etc8230) can be used. it really depends on the sample size, what you want to capture and wether you want to have a broad overview or focus on distribution tails. For estimating returns within each quintile, median has been used as the central tendency estimator. This measure is much less sensitive to outliers than arithmetic mean. And finally the code to produce the Quantiles Return chart. 3 8211 How to exploit the information above In the chart above Q1 is lowest past 12 months return and Q5 highest. There is an almost monotonic increase in the quantiles return between Q1 and Q5 which clearly indicates that stocks falling into Q5 outperform those falling into Q1 by about 1 per month. This is very significant and powerful for such a simple factor (not really a surprise though8230). Therefore there are greater chances to beat the index by overweighting the stocks falling into Q5 and underweighting those falling into Q1 relative to the benchmark. An IC of 0.0206 might not mean a great deal in itself but it8217s significantly different from 0 and indicates a good predictive power of the past 12 months return overall. Formal significance tests can be evaluated but this is beyond the scope of this article. 4 8211 Practical limitations The above framework is excellent for evaluating investments factor8217s quality however there are a number of practical limitations that have to be addressed for real life implementation: Rebalancing . In the description above, it8217s assumed that at the end of each month the portfolio is fully rebalanced. This means all stocks falling in Q1 are underweight and all stocks falling in Q5 are overweight relative to the benchmark. This is not always possible for practical reasons: some stocks might be excluded from the investment universe, there are constraints on industry or sector weight, there are constraints on turnover etc8230 Transaction Costs . This has not be taken into account in the analysis above and this is a serious brake to real life implementation. Turnover considerations are usually implemented in real life in a form of penalty on factor quality. Transfer coefficient . This is an extension of the fundamental law of active management and it relaxes the assumption of Grinold8217s model that managers face no constraints which preclude them from translating their investments insights directly into portfolio bets. And finally, I8217m amazed by what can be achieved in less than 80 lines of code with R8230 As usual any comments welcome March 14, 2018, 1:07 pm The question one should always asked himherself when using technical indicators is what would be an objective criteria to select indicators parameters (e. g. why using a 14 days RSI rather than 15 or 20 days). Genetic algorithms (GA) are well suited tools to answer that question. In this post I8217ll show you how to set up the problem in R. Before I proceed the usual reminder: What I present in this post is just a toy example and not an invitation to invest. Its not a finished strategy either but a research idea that needs to be further researched, developed and tailored to individual needs. What are genetic algorithms The best description of GA I came across comes from Cybernatic Trading a book by Murray A. Ruggiero. 8220Genetic Algorithms were invented by John Holland in the mid-1970 to solve hard optimisation problems. This method uses natural selection, survival of the fittest8221. The general process follows the steps below: Encode the problem into chromosomes Using the encoding, develop a fitness function for use in evaluating each chromosome8217s value in solving a given problem Initialize a population of chromosomes Evaluate each chromosome in the population Create new chromosomes by mating two chromosomes. This is done by muting and recombining two parents to form two children (parents are selected randomly but biased by their fitness) Evaluate the new chromosome Delete a member of the population that is less fit than the new chromosome and insert the new chromosome in the population. If the stop criteria is reached (maximum number of generations, fitness criteria is good enough8230) then return the best chromosome alternatively go to step 4 From a trading perspective GA are very useful because they are good at dealing with highly nonlinear problems. However they exhibit some nasty features that are worth mentioning: Over fitting: This is the main problem and it8217s down to the analyst to set up the problem in a way that minimises this risk. Computing time . If the problem isn8217t properly defined, it can be extremely long to reach a decent solution and the complexity increases exponentially with the number of variables. Hence the necessity to carefully select the parameters. There are several R packages dealing with GA, I chose to use the most common one: rgenoud Daily closing prices for most liquid ETFs from Yahoo finance going back to January 2000. The in sample period goes from January 2000 to December 2018. The Out of sample period starts on January 2018. The logic is as following: the fitness function is optimised over the in sample period to obtain a set of optimal parameters for the selected technical indicators. The performance of those indicators is then evaluated in the out of sample period. But before doing so the technical indicators have to be selected. The equity market exhibits two main characteristics that are familiar to anyone with some trading experience. Long term momentum and short term reversal. Those features can be translated in term of technical indicators by: moving averages cross over and RSI. This represents a set of 4 parameters: Look-back periods for long and short term moving averages, look-back period for RSI and RSI threshold. The sets of parameters are the chromosomes . The other key element is the fitness function . We might want to use something like: maximum return or Sharpe ratio or minimum average Drawdown. In what follows, I chose to maximise the Sharpe ratio. The R implementation is a set of 3 functions: fitnessFunction . defines the fitness function (e. g. maximum Sharpe ratio) to be used within the GA engine tradingStatistics . summary of trading statistics for the in and out of sample periods for comparison purposes genoud . the GA engine from the rgenoud package The genoud function is rather complex but I8217m not going to explain what each parameter means as I want to keep this post short (and the documentation is really good). In the table below I present for each instrument the optimal parameters (RSI look-back period, RSI threshold, Short Term Moving Average, and Long Term Moving Average) along with the in and out of sample trading statistics. Before commenting the above results, I want to explain a few important points. To match the logic defined above, I bounded the parameters to make sure the look-back period for the long term moving average is always longer that the shorter moving average. I also constrained the optimiser to choose only the solutions with more than 50 trades in the in sample period (e. g, statistical significance). Overall the out of sample results are far from impressive. The returns are low even if the number of trades is small to make the outcome really significant. However there8217s a significant loss of efficiency between in and out of sample period for Japan (EWJ) which very likely means over fitting. This post is intended to give the reader the tools to properly use GA in a quantitative trading framework. Once again, It8217s just an example that needs to be further refined. A few potential improvement to explore would be: fitness function . maximising the Sharpe ratio is very simplistic. A 8220smarter8221 function would certainly improve the out of sample trading statistics pattern . we try to capture a very straightforward pattern. A more in depth pattern research is definitely needed. optimisation . there are many ways to improve the way the optimisation is conducted. This would improve both the computation speed and the rationality of the results. The code used in this post is available on a Gist repository . As usual any comments welcome February 28, 2018, 3:52 pm There is an enormous body of literature both academic and empirical about market forecasting. Most of the time it mixes two market features: Magnitude and Direction. In this article I want to focus on identifying the market direction only. The goal I set myself, is to identify market conditions when the odds are significantly biased toward an up or a down market. This post gives an example of how CART (Classification And Regression Trees) can be used in this context. Before I proceed the usual reminder: What I present in this post is just a toy example and not an invitation to invest. Its not a finished strategy either but a research idea that needs to be further researched, developed and tailored to individual needs. 1 8211 What is CART and why using it From statistics, CART are a set of techniques for classification and prediction. The technique is aimed at producing rules that predict the value of an outcome (target) variable from known values of predictor (explanatory) variables. There are many different implementations but they are all sharing a general characteristic and thats what Im interested in. From Wikipedia, Algorithms for constructing decision trees usually work top-down, by choosing a variable at each step that best splits the set of items. Different algorithms use different metrics for measuring 8220best8221. These generally measure the homogeneity of the target variable within the subsets. These metrics are applied to each candidate subset, and the resulting values are combined (e. g. averaged) to provide a measure of the quality of the split. CART methodology exhibits some characteristics that are very well suited for market analysis: Non parametric . CART can handle any type of statistical distributions Non linear . CART can handle a large spectrum of dependency between variables (e. g. not limited to linear relationships) Robust to outliers There are various R packages dealing with Recursive Partitioning, I use here rpart for trees estimation and rpart. plot for trees drawing. 2 8211 Data amp Experiment Design Daily OHLC prices for most liquid ETFs from January 2000 to December 2018 extracted from Google finance. The in sample period goes from January 2000 to December 2018 the rest of the dataset is the out of sample period. Before running any type of analysis the dataset has to be prepared for the task. The target variable is the ETF weekly forward return defined as a two states of the world outcome (UP or DOWN). If weekly forward return gt 0 then the market in the UP state, DOWN state otherwise The explanatory variables are a set of technical indicators derived from the initial daily OHLC dataset. Each indicator represents a well-documented market behavior. In order to reduce the noise in the data and to try to identify robust relationships, each independent variable is considered to have a binary outcome. Volatility (VAR1) . High volatility is usually associated with a down market and low volatility with an up market. Volatility is defined as the 20 days raw ATR (Average True Range) spread to its moving average (MA). If raw ATR gt MA then VAR1 1, else VAR1 -1. Short term momentum (VAR2) . The equity market exhibits short term momentum behavior captured here by a 5 days simple moving averages (SMA). If Price gt SMA then VAR2 1 else VAR2 -1 Long term momentum (VAR3) . The equity market exhibits long term momentum behavior captured here by a 50 days simple moving averages (LMA). If Price gt LMA then VAR3 1 else VAR3 -1 Short term reversal (VAR4) . This is captured by the CRTDR which stands for Close Relative To Daily Range and calculated as following: . If CRTDR gt 0.5, then VAR4 1 else VAR4 -1 Autocorrelation regime (VAR5) . The equity market tends to go through periods of negative and positive autocorrelation regimes. If returns autocorrelation over the last 5 days gt 0 then VAR5 1 else VAR5 -1 I put below a tree example with some explanations In the tree above, the path to reach node 4 is: VAR3 gt0 (Long Term Momentum gt 0) and VAR4 gt 0 (CRTDR gt 0). The red rectangle indicates this is a DOWN leaf (e. g. terminal node) with a probability of 58 (1 8211 0.42). In market terms this means that if Long Term Momentum is Up and CRTDR is gt 0.5 then the probability of a positive return next week is 42 based on the in sample sample data. 18 indicates the proportion of the data set that falls into that terminal node (e. g. leaf). There are many ways to use the above approach, I chose to estimate and combine all possible trees. From the in sample data, I collect all leaves from all possible trees and I gather them into a matrix. This is the 8220rules matrix8221 giving the probability of next week beeing UP or DOWN. I apply the rules in the above matrix to the out of sample data (Jan 2018 8211 Dec 2018) and I compare the results to the real outcome. The problem with this approach is that a single point (week) can fall into several rules and even belong to UP and DOWN rules simultaneously. Therefore I apply a voting scheme . For a given week I sum up all the rules that apply to that week giving a 1 for an UP rule and -1 for a DOWN rule. If the sum is greater than 0 the week is classified as UP, if the sum is negative it8217s a DOWN week and if the sum is equal to 0 there will be no position taken that week (return 0) The above methodology is applied to a set of very liquid ETFs. I plot below the out of sample equity curves along with the buy and hold strategy over the same period. Initial results seem encouraging even if the quality of the outcome varies greatly by instrument. However there is a huge room for improvement. I put below some directions for further analysis Path optimality . The algorithm used here for defining the trees is optimal at each split but it doesn8217t guarantee the optimality of the path. Adding a metric to measure the optimality of the path would certainly improve the above results. Other variables . I chose the explanatory variables solely based on experience. It8217s very likely that this choice is neither good nor optimal. Backtest methodology . I used a simple In and Out of sample methodology. In a more formal backtest I would rather use a rolling or expanding window of in and out sample sub-periods (e. g. walk forward analysis) As usual, any comments welcome

Comments

Popular posts from this blog

الفوركس سلخ فروة الرأس خالية من الإشارات

Premier - # 1 - الفوركس تداول بالطبع

الفوركس التداول منصات في نيجيريا في الوقت