Saturday 10 March 2018

استراتيجية التداول r


استراتيجية التداول r
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
R: إعادة اختبار استراتيجية التداول. مبتدئين إلى كوانتمود و R.
أنا جديدة جدا ل R ومحاولة ل باكتست استراتيجية لقد برمجت بالفعل في ويالثلاب.
عدة أشياء لا أفهمها (ولا تعمل بشكل واضح :)
أنا لا تحصل على أسعار قريبة بشكل جيد في ناقلات. أو نوع من ناقلات ولكن يبدأ مع بنية وأنا لا أفهم حقا ما هذه الوظيفة لا. ولهذا السبب قد لا تعمل دعوتي [1] على الأرجح.
n & لوت؛ - نرو (سيريز) لا يعمل إما، ولكن أنا بحاجة إلى ذلك ل حلقة.
لذلك أعتقد إذا حصلت على هذه الأسئلة 2 أجاب استراتيجيتي يجب أن تعمل. أنا ممتن جدا لأي مساعدة .. R يبدو معقدا جدا حتى مع تجربة البرمجة في لغات أخرى.
بدءا من السؤال الثاني.
حتى إذا كنت ترغب في العمل على كائن شتس الفعلي تحتاج إلى استخدام الحصول على.
حول سؤالك الأول - لا أعتقد أنك حقا بحاجة إلى سحب البيانات كناقلات - كائن شتس هو صفيف مفهرسة حسب التاريخ وأنه من السهل أن تعمل مع. إذا كنت لا تزال ترغب في الحصول على البيانات التي يمكنك استخدامها.
الآن، للحصول على انك بدأت مع عودة اختبار بسيط من الاستراتيجيات وسوف أقترح العمل في الخطوات التالية.
تحديد الاستراتيجية الخاصة بك. 2. إنشاء مصفوفة أو إضافة عمود إلى كائن شتس الخاص بك الذي سيمثل موقفك لكل يوم. 1 لفترة طويلة، 0 لأي موقف و -1 قصيرة (في وقت لاحق يمكنك أن تلعب مع عدد للرافعة المالية). 3. مضاعفة كل أيام العودة مع الموقف وستحصل على استراتيجية ناقلات العودة الخاص بك. 4. فحص النتائج - توصيتي هي بيرفورمانساناليتيكش.
استراتيجية بسيطة - شراء عند إغلاق SMA20، بيع تحت.

فوس التداول.
تجارة خوارزمية مع البرمجيات الحرة مفتوحة المصدر.
السبت، 26 مارس 2011.
كيفية إجراء اختبار خلفي لاستراتيجية في R.
وظيفة جيتسيمبولس في كوانتمود يجعل هذه الخطوة سهلة إذا كان يمكنك استخدام البيانات اليومية من ياهو المالية. وهناك أيضا "طرق" (ليس بالمعنى الدقيق) لسحب البيانات من مصادر أخرى (فريد، جوجل، أواندا، R حفظ الملفات وقواعد البيانات، وما إلى ذلك). يمكنك أيضا استخدامها كقالب لكتابة وظيفة مخصصة لمورد معين تستخدمه.
الخطوة 2: إنشاء المؤشر الخاص بك.
تحتوي حزمة تر على العديد من المؤشرات. يتم كتابة المؤشرات لجعلها سهلة الجمع بينهما بطرق مبتكرة وغير تقليدية. بدءا من المراجعة 106 على R - تزوير، تر لديها مؤشر دفي.
الخطوة 3: إنشاء قاعدة التداول الخاصة بك.
وبما أن هذه القاعدة التجارية بسيطة - نحن طويلة 100٪ إذا كان دفي أقل من 0.5 وقصيرة 100٪ خلاف ذلك - يمكن أن تكون مكتوبة في سطر واحد. يمكن القيام بقواعد أكثر تفصيلا و / أو مواقف الموقف أيضا، ولكن تتطلب المزيد من التعليمات البرمجية (رسي (2) مع موقف التحجيم هو مثال على قواعد التحجيم موقف أكثر تعقيدا). لاحظ أيضا أن متجه إشارة متخلفة، مما يتجنب نظرة إلى الأمام التحيز.
الخطوة 4: قواعد التداول / منحنى الأسهم.
وكما هو الحال في مثال داميان، فإن الكود أدناه هو نهج مبسط غير قابل للاحتكاك ولا يمثل الانزلاق. يأخذ الرمز أدناه عائد النسبة المئوية اليوم ويضاعف ذلك من خلال إشارة أمس / حجم الموقف (دائما +/- 100٪ في هذا المثال). أنا أيضا فرعية إرجاع النظام لمطابقة النتائج في ملف إكسيل.
الخطوة 5: تقييم أداء الاستراتيجية.
وأشار داميان إلى أهمية تقييم إستراتيجيتك. لحسن الحظ للمستخدمين R، حزمة بيرفورمانساناليتيكش يجعل هذا سهلا. مع بضعة أسطر من التعليمات البرمجية يمكننا عرض السحب، والمخاطر الهبوط، وملخص الأداء.
هذا كل شيء هناك ل باكتستينغ استراتيجية بسيطة في R. لم يكن هذا التخويف، كان ذلك؟ يرجى ترك ردود الفعل إذا كنت تتحرك باكتستينغ من إكسيل ل R وهناك شيء كنت معلقة على أو لديك تلميح رهيبة كنت ترغب في مشاركتها.

و التاجر R.
استخدام R والأدوات ذات الصلة في التمويل الكمي.
أرتشيف فور & # 8216؛ ترادينغ ستراتيجيس & # 8217؛ الفئة.
ربط R إلى إقفيد مع حزمة كوانتولس.
يوفر إقفيد تدفق خدمات البيانات والحلول التجارية التي تغطي السوق الزراعي والطاقة والمالية. بل هو معروف ومعترف به مزود تغذية البيانات الموجهة نحو مستخدمي التجزئة والمؤسسات الصغيرة. يبدأ سعر الاشتراك في حوالي 80 $ / الشهر.
وقد وضعت ستانيسلاف كوفاليفسكي حزمة تسمى كوانتولس. بل هو حزمة في كل واحدة تهدف إلى تعزيز النمذجة التداول الكمي. فإنه يسمح لتحميل وتنظيم بيانات السوق التاريخية من مصادر متعددة مثل ياهو، جوجل، فينام، موكس و إكيفيد. الميزة التي تهمني أكثر هي القدرة على ربط إكفيد ل R. I & # 8217؛ لقد تم استخدام إكفيد لبضع سنوات وأنا & # 8217؛ م سعيد معها (أنا & # 8217؛ م لا ينتمي إلى الشركة في أي الطريق). ويمكن الاطلاع على مزيد من المعلومات هنا. أنا & # 8217؛ كنت تبحث عن التكامل داخل R لفترة من الوقت وهنا هو. ونتيجة لذلك، بعد أن ركضت بعض الاختبارات، انتقلت التعليمات البرمجية التي كانت لا تزال في بيثون إلى R. مجرد اكتمال، وهنا & # 8217؛ ق رابط يشرح كيفية تحميل البيانات التاريخية من إكفيد باستخدام بايثون.
كوانتولس يقدم أربع وظائف رئيسية هي: الحصول على بيانات السوق، مخزن / استرداد بيانات السوق، مؤامرة البيانات سلسلة الوقت والاختبار مرة أخرى.
تأكد أولا من أن إقفيد مفتوح. يمكنك إما تحميل البيانات اليومية أو خلال اليوم. أدناه رمز التنزيلات الأسعار اليومية (المفتوحة، عالية، منخفضة، إغلاق) ل سبي من 1 يناير 2017 إلى 1 يونيو 2017.
أدناه رمز التنزيلات البيانات اللحظية من 1 مايو 2017 إلى 3 مايو 2017.
لاحظ معلمة الفترة. يمكن أن تأخذ أي من القيم التالية: القراد، 1min، 5min، 10min، 15min، 30min، ساعة، يوم، أسبوع، شهر، اعتمادا على التردد الذي تحتاجه.
كوانتولس يجعل عملية إدارة وتخزين بيانات سوق القراد سهلة. كنت فقط الإعداد معلمات التخزين وكنت على استعداد للذهاب. المعلمات هي حيث، منذ التاريخ والرموز التي ترغب في أن يتم تخزينها. في أي وقت يمكنك إضافة المزيد من الرموز وإذا لم تكن موجودة في التخزين، كوانتولس يحاول الحصول على البيانات من تاريخ البدء المحدد. سيقوم الرمز أدناه بحفظ البيانات في الدليل التالي: & # 8220؛ C: / وسرس / أرنو / دوكومينتس / ماركيت داتا / إكفيد & # 8221 ؛. هناك مجلد فرعي واحد من قبل أداة والبيانات هو أفيد في ملفات. rds.
يمكنك أيضا تخزين البيانات بين تواريخ محددة. استبدل السطر الأخير من الشفرة أعلاه بأحد الخيارات التالية.
الآن إذا كنت ترغب في الحصول على العودة بعض البيانات التي قمت بتخزينها، مجرد تشغيل شيء مثل:
لاحظ أن القراد فقط معتمد في التخزين المحلي لذلك يجب أن تكون الفترة & # 8216؛ علامة & # 8217؛
كوانتولس يوفر وظيفة plot_ts لرسم البيانات سلسلة الوقت دون عطلة نهاية الأسبوع، والعطلات والثغرات بين عشية وضحاها. في المثال أدناه، أنا أولا استرداد البيانات المخزنة أعلاه، ثم حدد أول 100 الملاحظات السعر وأخيرا رسم المخطط.
أمران أن نلاحظ: الجاسوس الأول هو كائن data. table وبالتالي بناء الجملة أعلاه. للحصول على لمحة سريعة عن قدرات data. table لها نظرة على هذه الورقة الغش ممتازة من داتاكامب. ثانيا المعلمة المحلية ترو كما يتم استرجاع البيانات من وحدة التخزين الداخلية.
كوانتولس يسمح لكتابة استراتيجية التداول الخاصة بك باستخدام C ++ أبي. أنا & # 8217؛ م لن نتحدث عن هذا لأن هذا هو أساسا C ++ التعليمات البرمجية. يمكنك الرجوع إلى قسم الأمثلة على موقع كوانتولس.
عموما أجد حزمة مفيدة للغاية وموثقة بشكل جيد. الشيء الوحيد المفقود هو تغذية حية بين R و إقفيد والتي سوف تجعل حزمة نهاية حقيقية لإنهاء الحل.
كالمعتاد أي تعليقات موضع ترحيب.
بيرت: الوافد الجديد في اتصال R إكسيل.
قبل بضعة أشهر قارئ يشير لي من هذه الطريقة الجديدة لربط R و إكسيل. أنا لا أعرف كم من الوقت كان هذا حولها، ولكن أنا لم تأتي عبر ذلك وأنا & # 8217؛ لم أر أي مشاركة بلوق أو مقالة حول هذا الموضوع. لذلك قررت أن أكتب وظيفة كأداة حقا يستحق ذلك وقبل أن يسأل أي شخص، أنا & # 8217؛ م لا علاقة للشركة بأي شكل من الأشكال.
يقف بيرت لمجموعة أدوات إكسيل R الأساسية. إنه مجاني (مرخص بموجب غل v2) وقد تم تطويره من قبل ستروتوريد داتا ليك. في وقت كتابة النسخة الحالية من بيرت هو 1.07. ويمكن الاطلاع على مزيد من المعلومات هنا. من منظور أكثر تقنية، تم تصميم بيرت لدعم تشغيل وظائف R من خلايا جداول البيانات إكسل. في عبارات إكسيل، فإنه يتم كتابة المهام التي يحددها المستخدم (أودفس) في R.
في هذا المنصب أنا & # 8217؛ م لن تظهر لك كيف R و إكسيل التفاعل عبر بيرت. هناك دروس جيدة جدا هنا، هنا وهنا. بدلا من ذلك أريد أن تظهر لك كيف استخدمت بيرت لبناء & # 8220؛ برج التحكم & # 8221؛ لتداول بلدي.
يتم إنشاء إشارات التداول الخاصة بي باستخدام قائمة طويلة من الملفات R ولكن أنا بحاجة إلى مرونة إكسيل لعرض النتائج بسرعة وكفاءة. كما هو مبين أعلاه بيرت يمكن أن تفعل هذا بالنسبة لي ولكن أريد أيضا أن خياط التطبيق لاحتياجاتي. من خلال الجمع بين قوة شمل، فبا، R و بيرت يمكنني إنشاء تطبيق جيد حتى الآن قوية في شكل ملف إكسيل مع الحد الأدنى من التعليمات البرمجية فبا. في نهاية المطاف لدي ملف اكسل واحد جمع كل المهام اللازمة لإدارة محفظتي: تحديث قاعدة البيانات، توليد إشارة، تقديم الطلبات الخ & # 8230؛ ويمكن تقسيم نهجي في الخطوات الثلاث التالية:
استخدم شمل لإنشاء قوائم وأزرار محددة من قبل المستخدم في ملف إكسيل. القوائم المذكورة أعلاه وأزرار هي أساسا يدعو إلى وظائف فبا. تلك الوظائف فبا هي التفاف حول وظائف R المعرفة باستخدام بيرت.
مع هذا النهج يمكنني الحفاظ على تمييز واضح بين جوهر بلدي رمز الاحتفاظ بها في R، سكل وبيثون وكل ما يستخدم لعرض وتنسيق النتائج أبقى في إكسيل، فبا & أمب؛ XML. في الأقسام التالية أقدم الشرط الأساسي لتطوير مثل هذا النهج ودليل خطوة بخطوة يوضح كيف يمكن استخدام بيرت لمجرد تمرير البيانات من R إلى إكسيل مع الحد الأدنى من التعليمات البرمجية فبا.
1 & # 8211؛ تحميل وتثبيت بيرت من هذا الرابط. بمجرد اكتمال التثبيت يجب أن يكون لديك قائمة الوظائف الإضافية الجديدة في إكسيل مع الأزرار كما هو موضح أدناه. هذه هي الطريقة التي تحققت بيرت في إكسيل.
2 & # 8211؛ تنزيل وتثبيت محرر واجهة مستخدم مخصص: يسمح محرر واجهة المستخدم المخصص بإنشاء قوائم وأزرار محددة من قبل المستخدم في شريط إكسيل. يتوفر إجراء خطوة بخطوة هنا.
1 & # 8211؛ R كود: وظيفة R أدناه هي قطعة بسيطة جدا من التعليمات البرمجية لأغراض التوضيح فقط. ويحسب ويعيد البقايا من الانحدار الخطي. هذا هو ما نريد استرداد في إكسيل. حفظ هذا في ملف يسمى myRCode. R (أي اسم آخر على ما يرام) في دليل من اختيارك.
2 & # 8211؛ functions. R في بيرت: من إكسيل حدد الوظائف الإضافية - & غ؛ الصفحة الرئيسية الدليل وفتح الملف يسمى functions. R. في هذا الملف قم بلصق التعليمة البرمجية التالية. تأكد من إدراج المسار الصحيح.
هذا هو مجرد مصادر في بيرت ملف R قمت بإنشائه أعلاه. ثم حفظ وإغلاق الملف functions. R. إذا كنت تريد إجراء أي تغيير على ملف R الذي تم إنشاؤه في الخطوة 1 سيكون لديك لإعادة تحميله باستخدام زر بيرت & # 8220؛ تحديث ملف بدء التشغيل & # 8221؛ من القائمة الوظائف الإضافية في إكسيل.
3 & # 8211؛ في إكسيل: إنشاء وحفظ ملف يسمى myFile. xslm (أي اسم آخر على ما يرام). هذا هو ملف تمكين ماكرو الذي تقوم بحفظه في الدليل الذي تختاره. مرة واحدة يتم حفظ الملف إغلاقه.
4 & # 8211؛ افتح الملف الذي تم إنشاؤه أعلاه في محرر واجهة المستخدم المخصصة: بعد فتح الملف، الصق الشفرة التالية.
يجب أن يكون لديك شيء من هذا القبيل في محرر شمل:
أساسا هذه القطعة من رمز شمل يخلق قائمة إضافية (رترادر)، مجموعة جديدة (مجموعتي) وزر تعريف المستخدم (زر جديد) في الشريط إكسيل. بعد الانتهاء من إجراء ذلك، افتح myFile. xslm في إكسيل وأغلق محرر واجهة المستخدم المخصص. يجب أن نرى شيئا من هذا القبيل.
5 & ​​# 8211؛ فتح محرر فبا: في myFile. xlsm إدراج وحدة نمطية جديدة. قم بلصق التعليمة البرمجية أدناه في الوحدة النمطية التي تم إنشاؤها حديثا.
يؤدي ذلك إلى محو النتائج السابقة في ورقة العمل قبل التعامل مع نتائج جديدة.
6 & # 8211؛ انقر فوق زر جديد: الآن عد إلى جدول البيانات وفي القائمة رترادر ​​انقر فوق & # 8220؛ زر جديد & # 8221؛ زر. يجب أن تشاهد شيئا مثل ما يظهر أدناه.
الدليل أعلاه هو نسخة أساسية جدا من ما يمكن تحقيقه باستخدام بيرت لكنه يظهر لك كيفية الجمع بين قوة عدة أدوات محددة لبناء التطبيق المخصص الخاص بك. من وجهة نظري مصلحة هذا النهج هو القدرة على الغراء معا R و إكسيل الواضح ولكن أيضا لتشمل عن طريق شمل (والدفعة) قطعة من التعليمات البرمجية من بايثون، سكل وأكثر من ذلك. هذا هو بالضبط ما كنت بحاجة إليه. وأخيرا أود أن تكون غريبة لمعرفة ما إذا كان أي شخص لديه أي خبرة مع بيرت؟
استراتيجية التداول: الاستفادة القصوى من البيانات من العينة.
عند اختبار استراتيجيات التداول هناك نهج مشترك هو تقسيم مجموعة البيانات الأولية إلى بيانات العينة: الجزء من البيانات المصممة لمعايرة النموذج والخروج من بيانات العينة: جزء من البيانات المستخدمة للتحقق من صحة المعايرة وضمان أن الأداء التي تم إنشاؤها في عينة ستنعكس في العالم الحقيقي. وكقاعدة عامة يمكن استخدام حوالي 70٪ من البيانات الأولية للمعايرة (أي في العينة) و 30٪ للتحقق (أي من العينة). ثم تساعد المقارنة بين بيانات العينة والخروج منها على تحديد ما إذا كان النموذج قويا بما فيه الكفاية. ويهدف هذا المنصب إلى المضي قدما خطوة أخرى ويوفر طريقة إحصائية لتقرير ما إذا كان خارج العينة البيانات يتماشى مع ما تم إنشاؤه في العينة.
في الرسم البياني أدناه تمثل المنطقة الزرقاء خارج أداء العينة لأحد استراتيجياتي.
فحص بصري بسيط يكشف عن تناسب جيد بين داخل وخارج أداء العينة ولكن ما هي درجة الثقة لدي في هذا؟ في هذه المرحلة ليس كثيرا، وهذه هي القضية. والمطلوب حقا هو مقياس للتشابه بين مجموعات البيانات داخل وخارج العينة. ومن الناحية الإحصائية، يمكن ترجمة ذلك على أنه احتمال أن تأتي أرقام أداء العينة وخارجها من نفس التوزيع. هناك اختبار إحصائي غير بارامتري الذي يفعل بالضبط هذا: اختبار كروسكال واليس. ويمكن العثور على تعريف جيد لهذا الاختبار على R-توتور & # 8220؛ مجموعة من عينات البيانات مستقلة إذا كانت تأتي من السكان غير ذات الصلة والعينات لا تؤثر على بعضها البعض. باستخدام اختبار كروسكال واليس، يمكننا أن نقرر ما إذا كانت التوزيعات السكانية متطابقة دون افتراض أنها تتبع التوزيع الطبيعي. & # 8221؛ الفائدة الإضافية لهذا الاختبار لا يفترض توزيع طبيعي.
وتوجد اختبارات أخرى من نفس الطبيعة يمكن أن تتلاءم مع هذا الإطار. اختبار مان-ويتني-ويلكوكسون أو اختبارات كولموغوروف-سميرنوف يناسب تماما الإطار يصف هنا ولكن هذا خارج نطاق هذه المقالة لمناقشة إيجابيات وسلبيات كل من هذه الاختبارات. ويمكن الاطلاع على وصف جيد جنبا إلى جنب مع الأمثلة R هنا.
هنا الرمز المستخدم لإنشاء الرسم البياني أعلاه والتحليل:
في المثال أعلاه في فترة العينة أطول من خارج الفترة عينة ولذلك أنا عشوائيا إنشاء 1000 مجموعات فرعية من البيانات في العينة كل واحد لها نفس طول البيانات خارج العينة. ثم اختبرت كل عينة فرعية في مقابل عينة من البيانات وسجلت قيم p. هذه العملية لا تخلق قيمة P واحدة لاختبار كروسكال واليس ولكن التوزيع يجعل التحليل أكثر قوة. في هذا المثال يكون متوسط ​​قيم p أعلى بكثير من الصفر (0.478) مما يشير إلى أنه يجب قبول الفرضية الصفرية: فهناك أدلة قوية على أن البيانات داخل وخارج العينة تأتي من نفس التوزيع.
كالمعتاد ما هو عرض في هذا المنصب هو مثال لعبة أن خدوش فقط على سطح المشكلة ويجب أن تكون مصممة لتلبية الاحتياجات الفردية. ومع ذلك أعتقد أنه يقترح إطارا إحصائيا للاهتمام والعقلاني لتقييم نتائج العينة.
هذه المقالة مستوحاة من الورقتين التاليتين:
فيجيل ألكسندر، شميل سوان (2007)، "آثار وظائف التحسين المختلفة على الخروج من عينة أداء استراتيجيات التداول المتطورة وراثيا"، التنبؤ مؤتمر الأسواق المالية.
فيجيل ألكسندر، شميل سوان (2010)، "عملية التحسين لتحسين / الخروج من عينة الاتساق، حالة سوق الأوراق المالية»، مؤتمر مورغان كازينوف الملكية الكمية، لندن أكتوبر 2010.
تقديم فيدلر: فينانسيال داتا لوادير.
فيدلر هو رستوديو أدين تهدف إلى تبسيط عملية تنزيل البيانات المالية من مختلف مقدمي الخدمات. هذا الإصدار الأولي هو المجمع حول وظيفة جيتسيمبولس في حزمة كوانتمود ويتم دعم فقط ياهو، جوجل، فريد و أواندا. أنا ربما إضافة وظائف مع مرور الوقت. كالمعتاد مع هذه الأشياء مجرد تذكير نوع: & # 8220؛ يتم توفير البرنامج & # 8220؛ كما هو & # 8221؛، دون ضمان من أي نوع & # 8230؛ & # 8221؛
كيفية تثبيت واستخدام فيدلر؟
يمكنك الحصول على أدين / حزمة من مستودع جيثب هنا (وسوف يسجل على كران في وقت لاحق) تثبيت أدين. هناك تعليمي ممتاز لتثبيت رستوديو أدينز هنا. بمجرد تثبيت أدين يجب أن تظهر في القائمة أدين. اخترت فقط فيدلر في القائمة ونافذة كما في الصورة أدناه يجب أن تظهر. اختر موفر بيانات من القائمة المنسدلة المصدر. حدد نطاق تاريخ من قائمة التاريخ أدخل الرمز الذي ترغب في تنزيله في مربع النص الخاص بالأداة. لتحميل عدة رموز فقط أدخل الرموز مفصولة بفواصل. استخدام أزرار الراديو لاختيار ما إذا كنت ترغب في تحميل الصك في ملف كسف أو في البيئة العالمية. سيتم حفظ ملف كسف في دليل العمل وسيكون هناك ملف كسف واحد لكل أداة. اضغط على تشغيل للحصول على البيانات أو إغلاق لإغلاق أدين.
يتم التعامل مع رسائل الخطأ والتحذيرات من قبل الحزم الأساسية (كوانتمود و لامعة) ويمكن قراءتها من وحدة التحكم.
هذه هي النسخة الأولى جدا من المشروع لذلك لا نتوقع الكمال ولكن نأمل أنه سوف تتحسن مع مرور الوقت. يرجى الإبلاغ عن أي تعليق، اقتراح، علة الخ & # 8230؛ إلى: ثيرترادرغميل.
الحفاظ على قاعدة بيانات لملفات الأسعار في R.
القيام بالبحث الكمي ينطوي على الكثير من البيانات الطحن واحد يحتاج إلى بيانات نظيفة وموثوق بها لتحقيق ذلك. ما هو مطلوب حقا هو البيانات النظيفة التي يمكن الوصول إليها بسهولة (حتى من دون اتصال بالإنترنت). وكانت الطريقة الأكثر فعالية للقيام بذلك بالنسبة لي للحفاظ على مجموعة من ملفات كسف. من الواضح أن هذه العملية يمكن التعامل معها في نواح كثيرة ولكن وجدت العمل الإضافي فعالة جدا وبسيطة للحفاظ على الدليل حيث يمكنني تخزين وتحديث ملفات كسف. لدي ملف كسف واحد لكل أداة ويسمى كل ملف بعد الصك أنه يحتوي على. والسبب في ذلك هو شقين: أولا، لا أريد تحميل البيانات (السعر) من ياهو، غوغل وغيرها & # 8230؛ في كل مرة أريد أن اختبر فكرة جديدة ولكن الأهم من ذلك مرة واحدة حددت وحل المشكلة، وأنا لا تريد أن تفعل ذلك مرة أخرى في المرة القادمة أنا بحاجة إلى نفس الصك. بسيطة لكنها فعالة جدا حتى الآن. يتم تلخيص العملية في الرسم البياني أدناه.
في كل ما يلي، أفترض أن البيانات تأتي من ياهو. يجب تعديل الشفرة للبيانات من غوغل، كواندل إتك & # 8230؛ وبالإضافة إلى ذلك أقدم عملية تحديث بيانات الأسعار اليومية. سيكون الإعداد مختلفا عن بيانات التردد الأعلى والنوع الآخر من مجموعات البيانات (أي مختلف عن الأسعار).
1 & # 8211؛ تحميل البيانات الأولية (listOfInstruments. R & historyData. R)
ملف listOfInstruments. R هو ملف يحتوي فقط على قائمة بجميع الصكوك.
إذا لم يكن أحد الأدوات جزءا من قائمتي (أي ملف كسف في مجلد البيانات) أو إذا قمت بذلك للمرة الأولى، عليك تنزيل مجموعة البيانات التاريخية الأولية. المثال أدناه ينزل مجموعة من صناديق المؤشرات المتداولة يوميا من ياهو فينانس إلى يناير 2000 وتخزين البيانات في ملف كسف.
2 & # 8211؛ تحديث البيانات الموجودة (updateData. R)
يبدأ رمز أدناه من الملفات الموجودة في مجلد مخصص وتحديث كل منهم واحدا تلو الآخر. أنا عادة تشغيل هذه العملية كل يوم إلا عندما أنا & # 8217؛ م في عطلة. لإضافة أداة جديدة، ببساطة تشغيل الخطوة 1 أعلاه لهذا الصك وحده.
3 & # 8211؛ إنشاء ملف دفعي (updateDailyPrices. bat)
جزء مهم آخر من المهمة هو إنشاء ملف دفعي يقوم بأتمتة عملية التحديث أعلاه (I & # 8217؛ م مستخدم ويندوز). هذا يتجنب فتح R / رستوديو وتشغيل التعليمات البرمجية من هناك. يتم وضع التعليمات البرمجية أدناه على ملف بت. (يجب تعديل المسار مع إعداد القارئ & # 8217؛ s). لاحظ أنني أضفت ملف الإخراج (updateLog. txt) لتتبع التنفيذ.
العملية المذكورة أعلاه بسيطة للغاية لأنها تصف فقط كيفية تحديث بيانات الأسعار اليومية. أنا & # 8217؛ لقد تم استخدام هذا لفترة من الوقت، وأنها كانت تعمل بسلاسة جدا بالنسبة لي حتى الآن. للحصول على بيانات أكثر تقدما و / أو ترددات أعلى، يمكن للأشياء الحصول على أكثر صعوبة.
كالمعتاد أي تعليقات موضع ترحيب.
تقييم العوامل في إدارة الحافظة الكمية.
وعندما يتعلق الأمر بإدارة محفظة من الأسهم مقابل معيار مرجعي، فإن المشكلة تختلف كثيرا عن تحديد استراتيجية العودة المطلقة. في السابق يجب أن تعقد المزيد من الأسهم مما كانت عليه في وقت لاحق حيث لا يمكن الاحتفاظ بأي أسهم على الإطلاق إذا لم تكن هناك فرصة جيدة بما فيه الكفاية. والسبب في ذلك هو خطأ التتبع. ويعرف هذا على أنه الانحراف المعياري لعائد المحفظة مطروحا منه العائد المرجعي. وكلما قلت المخزونات مقابل مقياس مرجعي كلما زاد خطأ التتبع (مثل ارتفاع المخاطر).
التحليل التالي هو مستوحى إلى حد كبير من كتاب & # 8220؛ إدارة المحافظ النشطة & # 8221؛ بواسطة غرينولد & أمب؛ كان. هذا هو الكتاب المقدس لأي شخص مهتم في تشغيل محفظة ضد المعيار. وأنا أشجع بقوة أي شخص لديه مصلحة في هذا الموضوع لقراءة الكتاب من البداية إلى النهاية. انها & # 8217؛ ق مكتوبة بشكل جيد جدا ويضع أسس إدارة المحافظ النشطة النشطة (ليس لدي أي انتماء إلى المحرر أو المؤلفين).
هنا نحن & # 8217؛ محاولة لترتيب بأكبر قدر ممكن من الأسهم في عالم الاستثمار على أساس العودة إلى الأمام. العديد من الناس جاءوا مع العديد من الأدوات و تم تطوير عدد لا يحصى من تلك الأدوات لتحقيق ذلك. في هذا المنصب، أركز على مقياسين بسيطين ومستخدمين على نطاق واسع: معامل المعلومات (إيك) وعائد الكميات (ريال قطري).
و إيك يعطي لمحة عامة عن القدرة التنبؤ عامل. وبشكل أدق، هذا مقياس لمدى تصنيف العامل للأسهم على أساس العائد الآجل. ويعرف إيك بأنه ارتباط الرتبة (ρ) بين المقياس (مثل العامل) والعائد الآجل. ومن الناحية الإحصائية، فإن ارتباط الرتبة هو مقياس غير حسابي للاعتماد بين متغيرين. وبالنسبة لعينة من الحجم n، يتم تحويل الدرجات الخام n إلى الرتب، وتحسب ρ من:
ويجب أن يحدد المحلل الأفق للعودة الآجلة، كما أنه يمثل دالة لدوران الإستراتيجية وتسوس ألفا (كان هذا موضوع بحث موسع). من الواضح أن المراآز يجب أن تكون على أعلى مستوى ممكن من حيث القيمة المطلقة.
للقارئ الحريص، في كتاب غرينولد & أمب؛ كاهن وتعطى صيغة ربط نسبة المعلومات (إر) و إيك: مع اتساع عدد من الرهانات مستقلة (الصفقات). وتعرف هذه الصيغة بالقانون الأساسي للإدارة الفعالة. المشكلة هي أنه في كثير من الأحيان، وتحديد اتساع بدقة ليست سهلة كما يبدو.
من أجل الحصول على تقدير أكثر دقة للقوة التنبؤية للعامل فإنه من الضروري أن يذهب خطوة أبعد وأسهم المجموعة حسب كمية قيم عامل ثم تحليل متوسط ​​العائد إلى الأمام (أو أي مقياس ميل مركزي آخر) لكل من تلك quantiles. فائدة هذه الأداة هي واضحة. يمكن أن يكون لعامل إيك جيد ولكن قد تنحصر قدرته التنبؤية على عدد قليل من الأسهم. هذا ليس جيدا كما مدير محفظة سيكون لديك لاختيار الأسهم داخل الكون كله من أجل تلبية قيود خطأ التتبع. وتتميز عودة الكميات الجيدة بعلاقة رتيبة بين الكميات الفردية والعوائد الآجلة.
جميع الأسهم في مؤشر S & أمب؛ P500 (في وقت كتابة هذا التقرير). ومن الواضح أن هناك تحيز سفينة البقاء على قيد الحياة: قائمة الأسهم في المؤشر قد تغيرت بشكل ملحوظ بين بداية ونهاية الفترة العينة، ومع ذلك انها جيدة بما فيه الكفاية لأغراض التوضيح فقط.
ينزل الرمز أدناه أسعار الأسهم الفردية في مؤشر S & أمب؛ P500 بين يناير / كانون الثاني 2005 واليوم (يستغرق الأمر بعض الوقت) ويتحول إلى أسعار الخام خلال الأشهر ال 12 الماضية والشهر الماضي. الأول هو عاملنا، وسيتم استخدام هذا الأخير كمقياس العودة إلى الأمام.
وفيما يلي رمز لحساب معامل المعلومات وعودة الكميات. لاحظ أنني استخدمت الشرائح الخمسية في هذا المثال ولكن يمكن استخدام أي طريقة تجميع أخرى (تيرسيلز، ديسيلس إتك & # 8230؛). فإنه يعتمد حقا على حجم العينة، ما تريد التقاط والطقس تريد أن يكون لمحة عامة أو التركيز على ذيول التوزيع. ولتقدير العائدات في كل خمسية، استخدم الوسيط كمقدر للنزعة المركزية. هذا المقياس أقل حساسية بكثير من القيم المتطرفة من الوسط الحسابي.
وأخيرا رمز لإنتاج الرسم البياني كوانتيز ريتورن.
3 & # 8211؛ كيفية استغلال المعلومات أعلاه؟
في الرسم البياني أعلاه Q1 هو أدنى 12 شهرا الماضية عودة و Q5 أعلى. هناك زيادة رتيبة تقريبا في العائد الكمي بين Q1 و Q5 مما يشير بوضوح إلى أن الأسهم التي تندرج في Q5 تفوق تلك التي تندرج في الربع الأول بنحو 1٪ شهريا. هذا مهم جدا وقوي لمثل هذا عامل بسيط (ليس حقا مفاجأة على الرغم من & # 8230؛). لذلك هناك فرص أكبر للتغلب على المؤشر من خلال زيادة الوزن للأسهم المتساقطة في Q5 وتخفيض الوزن لتلك التي تقع في الربع الأول بالنسبة إلى المؤشر المعياري.
إيك من 0.0206 قد لا يعني الكثير في حد ذاته لكنه يختلف كثيرا عن 0 ويشير إلى قوة تنبؤية جيدة من الأشهر ال 12 الماضية يعود عموما. يمكن تقييم اختبارات الأهمية الرسمية ولكن هذا خارج نطاق هذه المقالة.
الإطار أعلاه ممتاز لتقييم عامل الاستثمار & # 8217؛ ق الجودة ولكن هناك عدد من القيود العملية التي يجب معالجتها لتنفيذ الحياة الحقيقية:
إعادة التوازن: في الوصف أعلاه، فقد افترضنا أنه في نهاية كل شهر يتم إعادة توازن المحفظة بالكامل. وهذا يعني أن جميع الأسهم التي تندرج في الربع الأول من هذا العام تعاني من نقص الوزن، وأن جميع الأسهم التي تندرج في Q5 هي زيادة في الوزن مقارنة بالمؤشر المعياري. هذا ليس دائما ممكنا لأسباب عملية: بعض الأسهم قد تكون مستبعدة من عالم الاستثمار، وهناك قيود على الصناعة أو وزن القطاع، وهناك قيود على دوران الخ & # 8230؛ تكاليف المعاملات: هذا لم يؤخذ في الاعتبار في التحليل أعلاه وهذا هو فرامل خطيرة لتنفيذ الحياة الحقيقية. وعادة ما يتم تنفيذ اعتبارات دوران في الحياة الحقيقية في شكل عقوبة على جودة عامل. معامل التحويل: هذا هو امتداد للقانون الأساسي للإدارة النشطة ويخفف من افتراض نموذج غرينولد & # 8217؛ أن المديرين لا يواجهون أي قيود تحول دون ترجمتهم رؤى استثماراتهم مباشرة إلى رهانات المحفظة.
وأخيرا، أنا & # 8217؛ م دهشتها ما يمكن تحقيقه في أقل من 80 سطر من التعليمات البرمجية مع R & # 8230؛
كالمعتاد أي تعليقات موضع ترحيب.
المخاطر ك & # 8220؛ بقاء متغير & # 8221؛
جئت عبر الكثير من الاستراتيجيات على المدون بعض مثيرة للاهتمام بعض هي مضيعة كاملة للوقت ولكن معظم حصة سمة مشتركة: الناس الذين يطورون تلك الاستراتيجيات القيام بواجباتهم المنزلية من حيث تحليل العائد ولكن أقل اهتماما بكثير يدفع إلى الجانب المخاطر طبيعتها العشوائية. رأيت تعليقا مثل & # 8220؛ سحب بنسبة 25٪ في عام 2011 ولكن عائد ممتاز بشكل عام & # 8221 ؛. حسنا رهان بلدي هو أن لا أحد على الأرض سوف تتيح لك تجربة خسارة 25٪ مع أموالهم (ما لم تكن اتفاقات خاصة في المكان). في العالم التحوط صندوق الناس لديهم التسامح منخفضة جدا للانسحاب. عموما، كمتداول جديد في صندوق التحوط، على افتراض أن تأتي مع أي سمعة، لديك القليل جدا من الوقت لإثبات نفسك. يجب عليك كسب المال من اليوم 1 والحفاظ على القيام بذلك لبضعة أشهر قبل أن تكسب قليلا من المصداقية.
اسمحوا أولا & # 8217؛ ق أقول لديك بداية سيئة وتخسر ​​المال في البداية. مع سحب 10٪ كنت & # 8217؛ بالتأكيد بالتأكيد ولكن حتى مع انخفاض 5٪ فرص رؤية تخصيصك مخفضة مرتفعة جدا. هذا له آثار كبيرة على استراتيجياتك. دعنا نفترض أنه إذا فقدت 5٪ يتم تقسيم التخصيص إلى 2 وتعود إلى التخصيص الأولي فقط عند اجتياز علامة المياه المرتفعة مرة أخرى (على سبيل المثال، يعود السحب إلى 0). في الرسم البياني أدناه أنا محاكاة التجربة مع واحدة من استراتيجيات بلدي.
يمكنك البدء في التداول في 1 يونيو 2003 وكل يسير على ما يرام حتى 23 يوليو 2003 حيث يصل منحنى السحب الخاص بك -5٪ عتبة (** 1 **). يتم تخفيض تخصيصك بنسبة 50٪ وأنت لا تعبر ارتفاع مستوى علامة المياه حتى 05 ديسمبر 2003 (** 3 **). إذا كنت قد أبقت على التخصيص دون تغيير، فإن مستوى علامة المياه العالية كان قد عبرت في 28 أكتوبر 2003 (** ** **) وبحلول نهاية العام كنت قد كسبت المزيد من المال.
ولكن دع & # 8217؛ ق دفع المنطق أبعد قليلا. لا يزال على الرسم البياني أعلاه، افترض أنك تحصل على محظوظ حقا وبدء التداول حتى منتصف يونيو 2003. كنت ضرب الحد من 10٪ الانسحاب بحلول بداية أغسطس وأنت & # 8217؛ على الأرجح للخروج من اللعبة. كنت قد بدأت في أوائل أغسطس تخصيص الخاص بك لن يكون قد قطع على الإطلاق، وكنت في نهاية المطاف القيام سنة جيدة في 4 أشهر كاملة فقط من التداول. في هذين المثالين لم يتغير شيء ولكن تاريخ البدء & # 8230 ؛.
نجاح التداول لأي فرد لديه شكل من أشكال الاعتماد على المسار وليس هناك الكثير الذي يمكنك القيام به حيال ذلك. ومع ذلك يمكنك التحكم في حجم استراتيجية & # 8217؛ s و رسكو؛ s s و رسكو؛ s s؛ وينبغي تنويع المحفظة في كل بعد ممكن: فئات الأصول واستراتيجيات الاستثمار وترددات التداول وما إلى ذلك & # 8230؛. من هذا المنظور الخطر هو متغير بقاء & # 8220؛ & # 8221 ؛. إذا تمكنت بشكل صحيح لديك فرصة للبقاء في اللعبة لفترة كافية لتحقيق إمكانات الاستراتيجية الخاصة بك. وإلا فلن تتمكن من الاطلاع على ما سيحدث في الشهر المقبل.
كالمعتاد أي تعليقات موضع ترحيب.
والتطبيق بسيط لامعة لرصد استراتيجيات التداول & # 8211؛ الجزء الثاني.
هذا هو متابعة لبلدي وظيفة السابقة & # 8220؛ بسيطة لامعة التطبيق لرصد استراتيجيات التداول & # 8220؛. لقد أضفت بعض التحسينات التي تجعل التطبيق أفضل قليلا (على الأقل بالنسبة لي!). وفيما يلي قائمة الميزات الجديدة:
نموذج ملف كسف. (الملف الذي يحتوي على البيانات الأولية) A & # 8220؛ إنديت & # 8221؛ مربع المنسدلة السماح لتحديد نهاية الفترة. A & # 8220؛ ريسك & # 8221؛ صفحة تحتوي على تحليل فار ورسم بياني لأسوأ أداء على آفاق مختلفة A & # 8220؛ هاو تو & # 8221؛ صفحة شرح كيفية استخدام وتخصيص التطبيق للاحتياجات الفردية.
أنا أيضا جعل التطبيق الذاتي تماما الواردة. وهو متاح الآن كمنتج مستقل وحده وليس هناك حاجة إلى أن يكون R / رستوديو المثبتة على جهاز الكمبيوتر الخاص بك لتشغيله. ويمكن تحميلها من حساب محرك الأقراص R التاجر جوجل. هذا الإصدار من التطبيق يعمل باستخدام المحمولة R والمحمولة كروم. للقارئ حريصة، وهذا الرابط يفسر في التفاصيل الكاملة كيفية حزم التطبيق لامعة في التطبيق سطح المكتب (ويندوز فقط في الوقت الراهن).
1 & # 8211؛ كيفية تثبيت & أمب؛ تشغيل التطبيق على جهاز الكمبيوتر الخاص بك.
إنشاء مجلد معين بفك ضغط ملف. zip على هذا المجلد الجديد. تغيير مسارات في ملف رونشينياب لمطابقة الإعدادات الخاصة بك لتشغيل التطبيق، لديك فقط تشغيل الملف run. vbs. أنا أيضا شملت رمز (RTraderTradingApp. ico) إذا كنت ترغب في إنشاء اختصار على سطح المكتب الخاص بك.
ui. R: يتحكم في تخطيط ومظهر من server. R التطبيق: يحتوي على التعليمات اللازمة لبناء التطبيق. يمكنك تحميل استراتيجيات بقدر ما تريد طالما ملف كسف المقابلة لديه الشكل الصحيح (انظر أدناه). shinyStrategyGeneral. R: تحميل حزم المطلوبة ويطلق التطبيق.
3 & # 8211؛ كيفية إضافة استراتيجية التداول؟
إنشاء ملف. csv المقابل في الدليل الصحيح إنشاء إدخال جديد في وظيفة رد الفعل البيانات (داخل ملف server. R) إضافة عنصر إضافي إلى معلمة الاختيار في أول سيليتينبوت في الشريط الجانبي بانيل (داخل ملف ui. R) . يجب أن يتطابق اسم العنصر مع اسم الإدخال الجديد أعلاه.
إزالة الإدخال في وظيفة رد الفعل البيانات المقابلة للاستراتيجية التي تريد إزالتها (داخل ملف server. R) إزالة العنصر في المعلمة الاختيار في أول سيليتينبوت في الشريط الجانبي بانيل المقابلة للاستراتيجية التي تريد إزالتها (داخل واجهة المستخدم. R).
لا تتردد في الحصول على اتصال يجب أن يكون لديك أي اقتراح.
والتطبيق لامعة بسيطة لرصد استراتيجيات التداول.
في وظيفة سابقة وأظهرت كيفية استخدام R، كنيتر واللثي لبناء تقرير استراتيجية قالب. هذه الوظيفة يذهب خطوة أبعد من خلال جعل التحليل التفاعلي. إلى جانب التفاعل، والتطبيق لامعة أيضا يحل مشكلتين:
يمكنني الآن الوصول إلى جميع استراتيجيات التداول من نقطة واحدة بغض النظر عن الصك المتداولة. إلى جانب التفاعل لامعة، فإنه يسمح مقارنة أسهل. يمكنني التركيز على فترة زمنية محددة.
الرمز المستخدم في هذا المنصب متوفر على مستودع جيست / جيثوب. هناك أساسا 3 ملفات.
ui. R: يتحكم في تخطيط ومظهر التطبيق. server. R: يحتوي على التعليمات اللازمة لبناء التطبيق. فإنه يقوم بتحميل البيانات وتنسيقه. هناك ملف كسف واحد لكل إستراتيجية تحتوي كل منها على عمودين على الأقل: التاريخ والعودة بالتنسيق التالي: (& # 8220؛ 2010-12-22 & # 8243؛، & # 8221؛ 0.04٪ & # 8221؛). يمكنك تحميل استراتيجيات بقدر ما تريد طالما لديهم التنسيق الصحيح. shinyStrategyG Eneral. R: تحميل حزم المطلوبة ويطلق التطبيق.
هذا التطبيق هو على الارجح بعيدا عن الكمال، وسوف بالتأكيد تحسينه في المستقبل. لا تتردد في الحصول على اتصال إذا كان لديك أي اقتراح.
شكرا جزيلا لفريق رستوديو / لامعة لمثل هذه الأداة العظيمة.
استخدام الخوارزميات الجينية في التداول الكمي.
السؤال الذي يجب أن يطرح نفسه دائما عند استخدام المؤشرات الفنية هو ما يمكن أن يكون معيارا موضوعيا لتحديد مؤشرات المؤشرات (على سبيل المثال، لماذا استخدام مؤشر القوة النسبية 14 يوما بدلا من 15 أو 20 يوما؟). الخوارزميات الجينية (غا) هي أدوات مناسبة تماما للإجابة على هذا السؤال. في هذا المنصب أنا & # 8217؛ سوف تظهر لك كيفية إعداد المشكلة في R. قبل أن أبدأ تذكير المعتاد: ما أقدم في هذا المنصب هو مجرد مثال لعبة وليس دعوة للاستثمار. انها ليست استراتيجية الانتهاء إما ولكن فكرة البحث التي تحتاج إلى مزيد من البحث، وضعت ومصممة خصيصا للاحتياجات الفردية.
ما هي الخوارزميات الجينية؟
أفضل وصف غا أنا جاء عبر يأتي من سايبرناتيك تجارة كتاب من قبل موراي A. روجيرو. & غ؛ خوارزميات جينية تم اختراعها من قبل جون هولاند في منتصف 1970 لحل مشاكل التحسين الصعب. يستخدم هذا الأسلوب الانتقاء الطبيعي، والبقاء للأصلح & # 8221؛. وتتبع العملية العامة الخطوات التالية:
ترميز المشكلة في الكروموسومات باستخدام الترميز، تطوير وظيفة اللياقة البدنية لاستخدامها في تقييم كل قيمة كروموسوم & # 8217؛ s في حل مشكلة معينة تهيئة السكان من الكروموسومات تقييم كل كروموسوم في السكان إنشاء كروموسومات جديدة عن طريق التزاوج اثنين من الكروموسومات. ويتم ذلك عن طريق كتم وإعادة ربط اثنين من الآباء والأمهات لتشكيل طفلين (يتم اختيار الآباء عشوائيا ولكن منحازة من قبل لياقتهم) تقييم الكروموسوم الجديد حذف عضو من السكان الذي هو أقل ملاءمة من الكروموسوم الجديد وإدراج كروموسوم جديد في السكان . If the stop criteria is reached (maximum number of generations, fitness criteria is good enough…) 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 it’s down to the analyst to set up the problem in a way that minimises this risk. Computing time : If the problem isn’t 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 2010. The Out of sample period starts on January 2011.
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 I’m 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 there’s 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, It’s 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 “smarter” 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.

استراتيجية التداول الكمية باستخدام R: دليل خطوة بخطوة.
في هذا المنصب سوف نناقش حول بناء استراتيجية التداول باستخدام R. قبل السكن في المصطلحات التجارية باستخدام R دعونا نقضي بعض الوقت فهم ما هو R. R هو مصدر مفتوح. هناك أكثر من 4000 إضافة على الحزم، 18000 بالإضافة إلى أعضاء مجموعة لينكيدين وما يقرب من 80 R مجموعات ميتوب الموجودة حاليا. بل هو أداة مثالية للتحليل الإحصائي وخاصة لتحليل البيانات. الإعداد موجزة من شبكة الأرشيف R شاملة يعرف كما كران يوفر لك قائمة الحزم جنبا إلى جنب مع تركيب قاعدة المطلوبة. هناك الكثير من الحزم المتاحة اعتمادا على تحليل يجب القيام به. لتنفيذ استراتيجية التداول، وسوف نستخدم حزمة تسمى كوانسترات.
عملية أربع خطوات من أي استراتيجية تجارة أساسية.
تكوين الفرضية اختبار تكرير الإنتاج.
وقد صيغت فرضيتنا على أنها "السوق يعني العودة". متوسط ​​العائد هو نظرية تشير إلى أن الأسعار تتحرك في نهاية المطاف إلى القيمة المتوسطة. أما الخطوة الثانية فتتضمن اختبار الفرضية التي نقوم بصياغة إستراتيجية لها على فرضيتنا وحساب المؤشرات والإشارات ومقاييس الأداء. يمكن تقسيم مرحلة الاختبار إلى ثلاث خطوات، والحصول على البيانات، وكتابة الاستراتيجية وتحليل الإخراج. في هذا المثال نعتبر نيفتي النحل. وهو صندوق تداول تبادل تدار من قبل جولدمان ساكس. نس لديها حجم ضخم للأداة وبالتالي فإننا نعتبر هذا. تظهر الصورة أدناه السعر المفتوح-العالي-المنخفض-إغلاق نفسه.
وضعنا مستوى عتبة لمقارنة التقلبات في السعر. في حالة ارتفاع / نقص السعر نقوم بتحديث عمود العتبة. يتم مقارنة سعر الإغلاق مع الفرقة العليا ومع الفرقة السفلى. عندما يتم عبر الشريط العلوي، هو إشارة للبيع. وبالمثل عندما يتم عبور النطاق السفلي، بل هو إشارة للبيع.
ويمكن تلخيص قسم الترميز على النحو التالي،
ويرد في الرسم البياني أدناه عرض لطائرات الهليكوبتر باتجاه إنتاج الاستراتيجية.
وبالتالي فإن فرضيتنا أن السوق يعني العودة يتم دعم. وبما أن هذا هو الاختبار الخلفي لدينا مجال لتنقيح المعلمات التجارية التي من شأنها تحسين متوسط ​​عوائدنا والأرباح المحققة. ويمكن القيام بذلك عن طريق تحديد مستويات عتبة مختلفة، وقواعد دخول أكثر صرامة، ووقف الخسارة وما إلى ذلك يمكن للمرء أن يختار المزيد من البيانات للاختبار الخلفي، واستخدام نهج بايسيان لعتبة اقامة، تأخذ التقلب بعين الاعتبار.
مرة كنت واثقا من استراتيجية التداول المدعومة من نتائج الاختبار الخلفي هل يمكن أن خطوة إلى التداول المباشر. بيئة الإنتاج هو موضوع كبير في حد ذاته وانها خارج النطاق في سياق المقال. لشرح باختصار هذا ينطوي على كتابة الاستراتيجية على منصة التداول.
كما ذكرنا سابقا، سنقوم ببناء النموذج باستخدام حزمة كوانسترات. يوفر كوانتسترات بنية تحتية عامة لنموذج واستراتيجيات باكتست إشارة القائمة على إشارة. بل هو طبقة التجريد رفيعة المستوى (التي بنيت على شتس، فينانسيالينسترومنت، النازل، الخ) التي تسمح لك لبناء واختبار الاستراتيجيات في عدد قليل جدا من خطوط التعليمات البرمجية.
الملامح الرئيسية ل كوانسترات هي،
يدعم الاستراتيجيات التي تشمل المؤشرات والإشارات والقواعد يسمح الاستراتيجيات التي سيتم تطبيقها على المحافظ متعددة الأصول يدعم السوق، والحد، و ستوبليميت، وأنواع ستوبترايلينغ النظام يدعم ترتيب التحجيم وتحسين المعلمة.
في هذا المنصب نبني استراتيجية تتضمن المؤشرات والإشارات والقواعد.
وفيما يتعلق بالنموذج العام القائم على الإشارة التالية،
الأدوات - تحتوي على بيانات السوق المؤشرات - القيم الكمية المستمدة من بيانات السوق الإشارات - نتيجة التفاعل بين بيانات السوق والمؤشرات القواعد - إصدار الأوامر باستخدام بيانات السوق والمؤشرات والإشارات.
دون الكثير من اللغط دعونا مناقشة جزء الترميز. نحن نفضل R ستوديو للترميز وتصر على استخدام نفس. يجب أن يكون لديك حزم معينة مثبتة قبل برمجة الاستراتيجية.
تقوم مجموعة الأوامر التالية بتثبيت الحزم الضرورية.
بمجرد تثبيت الحزم التي استيرادها لمزيد من الاستخدام.
قراءة البيانات من ملف كسف وتحويله إلى كائن شتس.
نقوم بتهيئة المحفظة مع المخزون والعملة وحقوق الملكية الأولية ونوع الاستراتيجية.
أضف حد الموضع إذا كنت ترغب في التداول أكثر من مرة على نفس الجانب.
إنشاء كائن الاستراتيجية.
نحن نبني وظيفة تحسب العتبات التي نريد التجارة. إذا تحرك السعر من قبل thresh1 نقوم بتحديث عتبة السعر الجديد. نطاقات جديدة للتداول هي عتبة +/- ثريش 2. الإخراج هو كائن شتس على الرغم من أننا نستخدم وظيفة إعادة التصنيف لضمان.
أضف المؤشر والإشارة وقاعدة التداول.
تشغيل الاستراتيجية وإلقاء نظرة على كتاب النظام.
تحديث محفظة وعرض إحصاءات التجارة.
هنا هو رمز كامل.
مرة واحدة كنت على دراية بهذه الأساسيات يمكن أن نلقي نظرة على كيفية البدء في استخدام حزمة كوانتيمود في R. أو في حال كنت جيدة في C ++، نلقي نظرة على استراتيجية نموذج مشفرة في C ++.
إذا كنت تاجر التجزئة أو المهنية المهنية تبحث لبدء مكتب التداول الآلي الخاص بك، والبدء في تعلم ألغو التداول اليوم! تبدأ مع المفاهيم الأساسية مثل هندسة التداول الآلي، المجهرية السوق، باكتستينغ استراتيجية ونظام إدارة النظام.

No comments:

Post a Comment