كسفوريكس هو المصدر المفتوح يحركها الحدث الحدث باكتستينغ ومنصة التداول الحية للاستخدام في أسواق العملات الأجنبية (الفوركس)، حاليا في دولة ألفا. وقد تم إنشاؤها كجزء من سلسلة تجارة الفوركس يوميات على كوانتستارت لتوفير مجتمع التداول المنهجي مع محرك تداول قوي يسمح تنفيذ استراتيجية الفوركس الفوركس والاختبار. يتم توفير البرنامج بموجب ترخيص متيسرة معهد ماساتشوستس للتكنولوجيا (انظر أدناه). المصدر المفتوح - تم الإفراج عن كسفوريكس تحت رخصة متسامحة للغاية مفتوحة المصدر ميت، والذي يسمح الاستخدام الكامل في كل من البحوث والتطبيقات التجارية، دون قيود، ولكن مع أي ضمان من أي نوع على الإطلاق. مجانا - كسفوريكس هو خال تماما ولا يكلف شيئا لتحميل أو استخدام. التعاون - كما كسفوريكس هو مفتوح المصدر العديد من المطورين التعاون لتحسين البرنامج. يتم إضافة ميزات جديدة في كثير من الأحيان. يتم تحديد أي البق بسرعة وثابتة. تطوير البرمجيات - كسفوريكس هو مكتوب بلغة برمجة بايثون لدعم مباشر عبر منصة. كسفوريكس يحتوي على مجموعة من الاختبارات وحدة لغالبية رمز حسابها ويتم إضافة اختبارات جديدة باستمرار لميزات جديدة. الحدث يحركها العمارة - كسفوريكس هو تماما يحركها الحدث على حد سواء ل باكتستينغ والتداول المباشر، الأمر الذي يؤدي إلى الانتقال المباشر للاستراتيجيات من مرحلة البحث إلى تنفيذ التداول الحية. تكاليف المعاملات - يتم تضمين تكاليف الانتشار افتراضيا لجميع الاستراتيجيات باكتستد. باكتستينغ - كسفوريكس يتميز اللحظي القرار الدقة لعدة أيام متعددة العملات الزوج باكتستينغ. التداول - يدعم كسفوريكس حاليا التداول اللحظي الحي باستخدام واجهة برمجة تطبيقات أواندا للوساطة عبر محفظة من الأزواج. مقاييس الأداء - يدعم كسفوريكس حاليا قياس الأداء الأساسي والتصور الإنصاف عن طريق المكتبات التصور ماتلوتليب و سيبورن. التثبيت والاستخدام 1) زيارة أواندا والإعداد حساب للحصول على أوراق اعتماد المصادقة أبي، والتي سوف تحتاج إلى تنفيذ التداول المباشر. أشرح كيفية تنفيذ هذا في هذه المقالة: كوانتستارتارتكلسفوريكس-ترادينغ-دياري-1-أوتوماتد-فوريكس-ترادينغ-ويث-أواندا-أبي. 2) استنساخ هذا مستودع جيت في موقع مناسب على الجهاز الخاص بك باستخدام الأمر التالي في المحطة الطرفية: جيت استنساخ githubmhallsmooreqsforex. git. البديل يمكنك تحميل ملف مضغوط من الفرع الرئيسي الحالي في githubmhallsmooreqsforexarchivemaster. zip. 3) إنشاء مجموعة من المتغيرات البيئة لجميع الإعدادات الموجودة في الملف settings. py في الدليل الجذر التطبيق. بدلا من ذلك، يمكنك التعليمات البرمجية الصلبة الإعدادات المحددة الخاصة بك عن طريق الكتابة على استدعاء os. environ. get (.) لكل إعداد: 4) إنشاء بيئة ظاهرية (فيرتوالينف) لرمز كسفوريكس واستخدام نقطة لتثبيت المتطلبات. على سبيل المثال في نظام يستند إلى يونكس (ماك أو لينوكس) يمكنك إنشاء مثل هذا الدليل كما يلي عن طريق إدخال الأوامر التالية في الجهاز: سيؤدي هذا إلى إنشاء بيئة افتراضية جديدة لتثبيت الحزم في. على افتراض أن قمت بتنزيل مستودع كسفوريكس جيت في دليل مثال مثل بروجيكتسسفوريكس (تغيير هذا الدليل أدناه إلى أين قمت بتثبيت كسفوريكس)، ثم من أجل تثبيت الحزم سوف تحتاج إلى تشغيل الأوامر التالية: وهذا سيستغرق بعض الوقت كما نومبي، سسيبي، الباندا، سكيكيت التعلم وماتبلوتليب يجب أن يتم تجميعها. هناك العديد من الحزم المطلوبة لهذا العمل، لذا يرجى إلقاء نظرة على هاتين المادتين لمزيد من المعلومات: سوف تحتاج أيضا إلى إنشاء ارتباط رمزي من دليل حزم الموقع الخاص بك إلى دليل التثبيت كسفوريكس من أجل أن تكون قادرة على الاتصال استيراد كسفوريكس داخل التعليمات البرمجية. للقيام بذلك سوف تحتاج إلى أمر مشابه لما يلي: تأكد من تغيير بروجيكتسسفوريكس إلى دليل التثبيت الخاص بك و venvqsforexlibpython2.7site حزم إلى فيرتوالينف دليل حزم الموقع الخاص بك. ستتمكن الآن من تشغيل الأوامر اللاحقة بشكل صحيح. 5) في هذه المرحلة، إذا كنت ترغب ببساطة في ممارسة الممارسة أو التداول الحية ثم يمكنك تشغيل بيثون tradingtrading. py. والتي سوف تستخدم استراتيجية التداول تستستراتيجي الافتراضية. هذا ببساطة يشتري أو يبيع زوج العملات كل 5 القراد. هو محض للاختبار - لا تستخدم في بيئة التداول الحية إذا كنت ترغب في إنشاء استراتيجية أكثر فائدة، ثم ببساطة إنشاء فئة جديدة مع اسم وصفي، على سبيل المثال. مينريفرزيونمولتيبايرستراتيغي والتأكد من أنه يحتوي على طريقة كالكتسيغنالس. سوف تحتاج إلى تمرير هذه الفئة قائمة أزواج فضلا عن قائمة انتظار الأحداث، كما في tradingtrading. py. يرجى الاطلاع علىراتيجيستريغي للحصول على التفاصيل. 6) من أجل تنفيذ أي باكتستينغ فمن الضروري توليد بيانات الفوركس محاكاة أو تحميل البيانات القراد التاريخية. إذا كنت ترغب في مجرد محاولة البرنامج خارج، وأسرع طريقة لتوليد مثال باكتست هو توليد بعض البيانات محاكاة. تنسيق البيانات الحالية المستخدمة من قبل كسفوريكس هو نفسه الذي قدمه دوكاسكوبي تغذية البيانات التاريخية في دوكاسكوبيسويسنغليشماركيتاتشيستوريكال. لإنشاء بعض البيانات التاريخية، تأكد من تعيين إعداد كسفداتادير في settings. py إلى دليل تريد أن تعيش فيه البيانات التاريخية. ثم تحتاج إلى تشغيل generatesimulatedpair. py. الذي هو تحت دليل البرامج النصية. ويتوقع سطر الأوامر سطر الأوامر، والتي في هذه الحالة هو زوج العملات في شكل ببقق. على سبيل المثال: في هذه المرحلة يتم ترميز النص البرمجي لإنشاء بيانات شهر واحد ل يناير 2014. وهذا هو، سترى الملفات الفردية، من تنسيق BBBQQQYYYYMMDD. csv (على سبيل المثال الجنيه الاسترليني USD201D0140112.csv) تظهر في كسفداتادير الخاص بك لجميع أيام العمل في ذلك الشهر. إذا كنت ترغب في تغيير الشهر من إخراج البيانات، ببساطة تعديل الملف وإعادة تشغيل. 7) الآن بعد أن تم إنشاء البيانات التاريخية فمن الممكن لإجراء باكتست. يتم تخزين ملف باكتست نفسه في backtestbacktest. py. ولكن هذا يحتوي فقط على باكتست الطبقة. لتنفيذ فعلا باكتست تحتاج إلى إنشاء هذه الفئة وتوفيرها مع الوحدات اللازمة. أفضل طريقة لمعرفة كيفية القيام بذلك هي إلقاء نظرة على المثال المثال "الانتقال المتوسط كروس" في ملفamplesmac. py واستخدام هذا كقالب. وهذا يجعل من استخدام موفينغايفيغكروسستراتيغي الذي يوجد في strategicystrategy. py. هذا التخلف عن التداول على كل من غبوسد و يوروس لإثبات استخدام زوج العملات متعددة. ويستخدم البيانات الموجودة في كسفداتادير. لتنفيذ مثال باكتست، ببساطة تشغيل ما يلي: وهذا سوف يستغرق بعض الوقت. على نظام سطح المكتب الخاص بي أوبونتو في المنزل، مع البيانات التاريخية التي تم إنشاؤها عبر generatesimulatedpair. py. يستغرق حوالي 5-10 دقائق لتشغيل. جزء كبير من هذا الحساب يحدث في نهاية باكتست الفعلية، عندما يتم حساب السحب، لذا يرجى تذكر أن التعليمات البرمجية لم تعلق حتى يرجى ترك الأمر حتى الانتهاء. 8) إذا كنت ترغب في عرض أداء باكتست يمكنك ببساطة استخدام output. py لعرض منحنى الأسهم، وعوائد الفترة (أي علامات القراد إلى القراد) ومنحنى السحب: وهذا هو في هذه المرحلة كنت على استعداد للبدء في إنشاء باكتستس الخاصة بك عن طريق تعديل أو إلحاق الاستراتيجيات في استراتيجيستراجيغي واستخدام البيانات الحقيقية التي تم تحميلها من دوكاسكوبي (دوكاسكوبيسيسنغليشماركيتاتشيستوريكال). إذا كان لديك أي أسئلة حول التثبيت ثم لا تتردد في الكتابة لي في ميكيوانتستارت. إذا كان لديك أي أخطاء أو غيرها من القضايا التي تعتقد أنها قد تكون بسبب كودباس على وجه التحديد، لا تتردد في فتح قضية جيثب هنا: جيثوبهالزموركسفوريكسيسوس حقوق الطبع والنشر (ج) 2015 مايكل هالز مور يتم منح إذن، مجانا، لأي شخص الحصول على نسخة من هذا البرنامج وملفات التوثيق المرتبطة به (البرنامج) للتعامل مع البرنامج بدون قيود، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام نسخ أو نسخ أو دمج أو نشر أو توزيع أو ترخيص فرعي أو بيع نسخ من البرنامج، والسماح للأشخاص الذين يتم توفير البرامج لهم بذلك، مع مراعاة الشروط التالية: يجب تضمين إشعار حقوق النشر المذكور أعلاه وإشعار الإذن هذا في جميع النسخ أو أجزاء كبيرة من البرنامج. يتم توفير البرنامج كما هو، دون أي ضمان من أي نوع، صريحا أو ضمنا، بما في ذلك على سبيل المثال لا الحصر، ضمانات قابلية التسويق والملاءمة لغرض معين وعدم الانتهاك. في أي حال من الأحوال المؤلفون أو أصحاب حقوق الطبع والنشر تكون مسؤولة عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في أي إجراء من العقود أو الضرر أو غير ذلك، الناشئة عن، أو خارج أو فيما يتعلق بالبرنامج أو استخدام أو غيرها من المعاملات في البرمجيات. تداول الفوركس إخلاء المسؤولية تداول العملات الأجنبية على الهامش يحمل درجة عالية من المخاطر، وقد لا يكون مناسبا لجميع المستثمرين. الأداء السابق لا یشیر إلی النتائج المستقبلیة. درجة عالية من الرافعة المالية يمكن أن تعمل ضدك وكذلك بالنسبة لك. قبل اتخاذ قرار الاستثمار في النقد الأجنبي يجب عليك أن تنظر بعناية أهدافك الاستثمارية، ومستوى الخبرة، والقدرة على المخاطرة. هناك احتمال أن تتمكن من الحفاظ على فقدان بعض أو كل من الاستثمار الأولي الخاص بك، وبالتالي يجب أن لا تستثمر المال الذي لا يمكن أن تخسره. يجب أن تكون على دراية بجميع المخاطر المرتبطة بتداول النقد األجنبي، وأن تطلب المشورة من مستشار مالي مستقل إذا كان لديك أي شكوك .10.5 تدخالت الصرف األجنبي مع أسعار صرف عائمة أهداف التعلم تعرف على كيفية تدخل البنك المركزي للبلد للتأثير على القيمة) من عملة البلد في نظام سعر الصرف العائم. تعلم آلية والغرض من تدخل البنك المركزي المعقم في سوق الفوركس. وفي نظام سعر صرف عائم نقي، يحدد سعر الصرف على أنه المعدل الذي يساوي الطلب في السوق الخاصة على عملة ذات إمدادات سوق خاصة. وليس للبنك المركزي دور ضروري في تحديد سعر صرف عائم نقي. ومع ذلك، فإن المصارف المركزية أحيانا ترغب أو تتعرض لضغوط من جانب مجموعات خارجية لاتخاذ إجراءات (أي التدخل) إما لرفع أو خفض سعر الصرف في نظام التبادل العائم. وعندما تتدخل البنوك المركزية على أساس شبه دوري، يشار أحيانا إلى النظام على أنه تعويم قذر. هناك عدة أسباب تحدث مثل هذه التدخلات. والسبب الأول الذي تتدخله البنوك المركزية هو تثبيت التقلبات في أسعار الصرف. ومن الصعب جدا اتخاذ قرارات التجارة والاستثمار الدولية إذا تغيرت قيمة سعر الصرف بسرعة. أما ما إذا كانت صفقة تجارية أو استثمار دولي جيد أو سيء كثيرا ما يتوقف على قيمة سعر الصرف الذي سيسود في مرحلة ما في المستقبل. (انظر الفصل 4 أسواق الصرف الأجنبي ومعدلات العائد القسم 4.3 حساب معدل العائد على الاستثمارات الدولية لمناقشة كيفية تأثير أسعار الصرف المستقبلية على عائدات الاستثمارات الدولية). إذا تغير سعر الصرف بسرعة، صعودا أو هبوطا، فإن التجار والمستثمرين سوف تصبح أكثر غموضا حول ربحية الصفقات والاستثمارات، ومن المرجح أن تقلل من أنشطتها الدولية. ونتيجة لذلك، يميل التجار والمستثمرون الدوليون إلى تفضيل أسعار صرف أكثر استقرارا وكثيرا ما يضغطون على الحكومات والبنوك المركزية للتدخل في سوق العملات الأجنبية (فوركس) كلما تغير سعر الصرف بسرعة كبيرة. والسبب الثاني الذي تتدخله البنوك المركزية هو عكس اتجاه النمو في العجز التجاري للبلد. ويمكن أن يرتفع العجز التجاري (أو العجز في الحساب الجاري) بسرعة إذا كان سعر صرف البلد يرتفع بدرجة كبيرة. ومن شأن ارتفاع قيمة العملة أن يجعل السلع والخدمات الأجنبية أرخص نسبيا، مما يحفز الواردات، في حين أن السلع المحلية ستبدو أكثر تكلفة نسبيا للأجانب، مما يقلل من الصادرات. وهذا يعني أن ارتفاع قيمة العملة يمكن أن يؤدي إلى ارتفاع العجز التجاري. وإذا نظر إلى هذا العجز التجاري على أنه مشكلة بالنسبة للاقتصاد، فقد يتعرض البنك المركزي للضغوط للتدخل لتقليل قيمة العملة في سوق الفوركس وبالتالي عكس العجز التجاري المتزايد. هناك طريقتان يمكن للمصارف المركزية استخدامها للتأثير على سعر الصرف. الطريقة غير المباشرة هي تغيير العرض النقدي المحلي. الطريقة المباشرة هي التدخل مباشرة في سوق الصرف الأجنبي عن طريق شراء أو بيع العملة. تدخل الفوركس غير المباشر يمكن للبنك المركزي أن يستخدم طريقة غير مباشرة لرفع أو خفض سعر الصرف من خلال التغيرات في المعروض النقدي المحلي. كما هو مبين في الفصل العاشر آثار السياسة مع أسعار الصرف العائمة. القسم 10.2 السياسة النقدية مع أسعار الصرف العائمة. فإن الزيادات في المعروض المحلي من النقود الأمريكية ستؤدي إلى زيادة في E. أو انخفاض قيمة الدولار. وبالمثل، فإن انخفاض المعروض النقدي سيؤدي إلى ارتفاع الدولار. وعلى الرغم من التعديلات السريعة نسبيا في أسواق الأصول، فإن هذا النوع من التدخل يجب أن يجتاز من عمليات السوق المفتوحة إلى التغيرات في المعروض النقدي المحلي، وأسعار الفائدة المحلية، وأسعار الصرف بسبب معدلات العوائد الجديدة. وبالتالي قد تستغرق هذه الطريقة عدة أسابيع أو أكثر للتأثير على أسعار الصرف. والمشكلة الثانية مع هذه الطريقة هي أنه للتأثير على سعر الصرف يجب على البنك المركزي تغيير سعر الفائدة المحلي. وفي معظم الأحيان، تستخدم المصارف المركزية أسعار الفائدة للحفاظ على الاستقرار في الأسواق المحلية. واذا كان الاقتصاد المحلى ينمو سريعا وبدأ التضخم فى الارتفاع فقد يخفض البنك المركزى عرض النقود لرفع اسعار الفائدة ويساعد فى تباطؤ الاقتصاد. إذا كان الاقتصاد ينمو ببطء شديد، قد يرفع البنك المركزي المعروض النقدي لخفض أسعار الفائدة ويساعد على تحفيز التوسع المحلي. وهكذا، لتغيير سعر الصرف باستخدام الطريقة غير المباشرة، قد يحتاج البنك المركزي إلى تغيير أسعار الفائدة بعيدا عما تراه مناسبا للشواغل المحلية في الوقت الراهن. (أدناه مناقشة جيدة الطريقة التي تستخدمها البنوك المركزية لتجنب هذه المعضلة). التدخل المباشر في الفوركس الطريقة الأكثر وضوحا ومباشرة لتدخل البنوك المركزية وتؤثر على سعر الصرف هي الدخول إلى سوق الفوركس الخاص مباشرة عن طريق شراء أو بيع العملة المحلية. هناك نوعان من المعاملات المحتملة. أولا، يمكن للبنك المركزي أن يبيع العملة المحلية (يتيح استخدام الدولار) مقابل عملة أجنبية (بالجنيهات). هذه الصفقة سوف ترفع المعروض من الدولار على الفوركس (أيضا رفع الطلب على الجنيه)، مما يؤدي إلى انخفاض في قيمة الدولار وبالتالي انخفاض الدولار. بطبيعة الحال، عندما ينخفض قيمة الدولار من حيث القيمة، الجنيه يقدر من حيث القيمة بالنسبة للدولار. وبما أن البنك المركزي هو المصدر النهائي لجميع الدولارات (فإنه يمكن طباعة كمية غير محدودة بشكل فعال)، فإنه يمكن أن تغمر سوق الفوركس مع العديد من الدولارات كما تشاء. وبالتالي فإن قدرة البنوك المركزية على خفض قيمة الدولار من خلال التدخل المباشر في الفوركس غير محدودة تقريبا. إذا بدلا من ذلك، يرغب البنك المركزي لرفع قيمة الدولار، وسوف تضطر إلى عكس الصفقة المذكورة أعلاه. وبدلا من بيع الدولار، ستحتاج إلى شراء الدولار مقابل الجنيه. الطلب المتزايد على الدولار على الفوركس من قبل البنك المركزي سيزيد من قيمة الدولار، مما يسبب ارتفاع الدولار. وفي الوقت نفسه، فإن زيادة المعروض من الجنيه على الفوركس يفسر سبب انخفاض قيمة الجنيه مقابل الدولار. غير أن قدرة البنك المركزي على رفع قيمة عملته من خلال التدخلات المباشرة في الفوركس محدودة. ولكي يقوم بنك الاحتياطي الفيدرالي الأمريكي (أو بنك الاحتياطي الفدرالي) بشراء الدولار مقابل الجنيه، يجب أن يكون لديه مخزون من عملة الجنيه (أو أصول أخرى من الجنيه) متاحة للتبادل. وتسمى هذه الموجودات من الأصول الأجنبية من قبل المصرف المركزي احتياطيات النقد الأجنبي القابضة الأصول الأجنبية من قبل البنك المركزي للبلد. وعادة ما تعقد في شكل سندات الخزينة للحكومة الأجنبية. وعادة ما تتراكم احتياطيات الصرف الأجنبي مع مرور الوقت، وتحتجز في حالة الرغبة في التدخل. في النهاية، فإن الدرجة التي يمكن لمجلس الاحتياطي الاتحادي رفع قيمة الدولار فيما يتعلق الجنيه من خلال التدخل المباشر فوركس تعتمد على حجم احتياطي النقد الأجنبي المقومة بالجنيه. التأثير غير المباشر لتدخل الفوركس المباشر هناك تأثير غير مباشر ثانوي يحدث عندما يتدخل البنك المركزي في سوق الفوركس. لنفرض أن بنك الاحتياطي الفيدرالي يبيع الدولار مقابل الجنيه في الفوركس الخاص. وتشمل هذه الصفقة شراء أصول أجنبية مقابل العملة الأمريكية. وبما أن بنك الاحتياطي الفيدرالي هو المصدر النهائي لعملة الدولار، فإن هذه الدولارات المستخدمة في الصفقة ستدخل في التداول في الاقتصاد على وجه التحديد بنفس الطريقة التي تدخل بها الدولارات الجديدة عندما يشتري بنك الاحتياطي الفيدرالي فاتورة الخزينة في السوق المفتوحة. الفرق الوحيد هو أنه مع عملية السوق المفتوحة، ويشتري بنك الاحتياطي الفيدرالي الأصول المحلية، بينما في تدخل الفوركس أنها تشتري الأصول الأجنبية. ولكن كلاهما الأصول كل نفس وكلاهما يتم دفع ثمنها مع المال الذي تم إنشاؤه حديثا. وبالتالي عندما يشتري بنك الاحتياطي الفدرالي الجنيه ويبيع الدولار على الفوركس، سيكون هناك زيادة في المعروض من النقود الأمريكية. وسوف يؤدي ارتفاع المعروض من الاموال الامريكية الى خفض اسعار الفائدة الامريكية وخفض معدل العائد على الاصول الامريكية كما ينظر اليها المستثمرون الدوليون ويؤدي الى انخفاض قيمة الدولار. اتجاه هذا التأثير غير المباشر هو نفس التأثير المباشر. في المقابل، إذا كان بنك الاحتياطي الفيدرالي لشراء الدولار وبيع جنيه على الفوركس، سيكون هناك انخفاض في المعروض من النقود الأمريكية. وقال ان انخفاض المعروض من الاموال الامريكية سيرفع اسعار الفائدة الامريكية ويزيد من معدل العائد على الاصول الامريكية كما ينظر اليها المستثمرون الدوليون ويؤدي الى ارتفاع قيمة الدولار. والفرق الوحيد بين الآثار المباشرة وغير المباشرة هو التوقيت والاستدامة. سيحدث التأثير المباشر على الفور مع تدخل البنك المركزي حيث سيؤثر بنك الاحتياطي الفدرالي على المعروض اليومي من الدولار أو الجنيه في الفوركس. وقد يستغرق التأثير غير المباشر، الذي يعمل من خلال عرض النقود وأسعار الفائدة، عدة أيام أو أسابيع. تتم مناقشة استدامة التأثيرات المباشرة مقابل التأثيرات غير المباشرة عند طرح فكرة تدخل فوركس المعقم. تدخلات الفوركس المعقم هناك عدة مرات يرغب فيها البنك المركزي أو يتعرض لضغوط للتأثير على قيمة سعر الصرف من خلال التدخل المباشر في سوق الصرف الأجنبي. ومع ذلك، وكما هو مبين أعلاه، فإن تدخلات الفوركس المباشرة ستغير العرض النقدي المحلي. وسيؤثر التغير في المعروض النقدي على متوسط سعر الفائدة على المدى القصير ومستوى الأسعار، وبالتالي معدل التضخم على المدى الطويل. ونظرا لأن البنوك المركزية مكلفة عموما بالحفاظ على استقرار الأسعار المحلية أو للمساعدة في الحفاظ على أسعار الفائدة المناسبة، وانخفاض معدل البطالة، ونمو الناتج المحلي الإجمالي، فإن تدخل الفوركس غالبا ما يتداخل مع هدف واحد أو أكثر من أهدافها الأخرى. على سبيل المثال، إذا كان البنك المركزي يعتقد أنه يجب رفع أسعار الفائدة الحالية ببطء خلال الأشهر القليلة القادمة لإبطاء نمو الاقتصاد ومنع عودة التضخم، فإن تدخل فوركس لخفض قيمة العملة المحلية سيؤدي إلى والزيادات في المعروض النقدي وانخفاض في أسعار الفائدة، على النقيض تماما مما يريد البنك المركزي لتحقيقه. النزاعات مثل هذا واحد نموذجي وعادة ما يؤدي إلى البنك المركزي اختيار لتعقيم تدخلات الفوركس. والغرض المقصود من التدخل المعقم هو إحداث تغيير في سعر الصرف، وفي الوقت نفسه ترك العرض النقدي وبالتالي لا تتأثر أسعار الفائدة. وكما سنرى، من غير المرجح تحقيق الغرض المقصود عمليا. ويحدث تدخل معقم في النقد الأجنبي عندما يقوم أحد البنوك المركزية بالتدخل المباشر في الفوركس مع إجراء مقاصة في وقت واحد في سوق السندات المحلية. على سبيل المثال، لنفترض أن بنك الاحتياطي الفدرالي الأمريكي يقرر التدخل لتخفيض قيمة الدولار الأمريكي. وهذا يتطلب من بنك الاحتياطي الفيدرالي بيع الدولار وشراء العملات الأجنبية في الفوركس. التعقيم، في هذه الحالة، ينطوي على عملية السوق المفتوحة لمجلس الاحتياطي الاتحادي الذي تبيع سندات الخزينة (T - السندات) في نفس الوقت وبنفس القيمة التي بيع الدولار في سوق الفوركس. على سبيل المثال، إذا تدخل بنك الاحتياطي الفدرالي وبيع 10 ملايين في الفوركس، والتعقيم يعني أنها سوف تبيع أيضا 10 مليون من سندات الخزينة في السوق المفتوحة المحلية في نفس الوقت. النظر في آثار تدخل فوركس تعقيم من قبل مجلس الاحتياطي الاتحادي في الولايات المتحدة هو مبين في الرسم البياني آ-د المجاورة، الشكل 10.5 التعقيم في نموذج آ-د. لنفترض أن الاقتصاد في البداية في حالة توازن في النقطة F مع الناتج المحلي الإجمالي (Y 1) وسعر الصرف (E 1). الآن، لنفترض أن بنك الاحتياطي الفيدرالي يتدخل في الفوركس من خلال بيع الدولار وشراء الجنيه البريطاني. إن التأثير المباشر على سعر الصرف غير ممثل في الرسم البياني آ-د. الطريقة الوحيدة التي يمكن أن يكون لها تأثير هو من خلال الزيادة في المعروض من النقود، والتي سوف تحول منحنى آ يصل من آ إلى A. ومع ذلك، فإن التعقيم يعني أن بنك الاحتياطي الفيدرالي سوف يقوم في الوقت نفسه بعملية السوق المفتوحة المقاصة، في هذه الحالة بيع سندات الخزانة مساوية لقيمة مبيعات الفوركس. سيؤدي بيع السندات T إلى خفض عرض النقود في الولايات المتحدة، مما يؤدي إلى تحول فوري لمنحنى آ من A إلى آ. في الواقع، لأن الإجراءين يحدثان في نفس اليوم أو خلال الأسبوع نفسه على الأقل، منحنى آ لا يتحول حقا على الإطلاق. وبدلا من ذلك، يحافظ تدخل الفوركس المعقم على عرض النقود الأمريكية، وبالتالي يحقق هدف الاحتياطي الفدرالي المتمثل في الحفاظ على أسعار الفائدة. الشكل 10.5 التعقيم في نموذج آ-د ومع ذلك، لأنه لا يوجد تحول في منحنيات آ أو د، فإن التوازن في الاقتصاد أبدا الابتعاد عن النقطة F. وهذا يعني أن تدخل الفوركس المعقم ليس فقط لن يؤثر على الناتج القومي الإجمالي، ولكن أيضا لن يؤثر على سعر الصرف. وهذا يشير إلى استحالة تحقيق الهدف العام للبنك الاحتياطي الفدرالي بتخفيض قيمة الدولار مع الحفاظ على أسعار الفائدة. تميل الدراسات التجريبية لآثار تدخلات الفوركس المعقمة إلى دعم نتائج هذا النموذج البسيط. وبعبارة أخرى، كانت عمليات التعقيم في العالم الحقيقي غير فعالة عموما في تحقيق أي أثر دائم على قيمة عملة البلد. ومع ذلك، هناك عدة أسباب تجعل التدخلات المعقمة فعالة إلى حد ما. والتأثيرات المؤقتة ممكنة بالتأكيد. إذا قام البنك المركزي بتدخل كبير في الفوركس على مدى فترة قصيرة، فإن ذلك سيغير بالتأكيد العرض أو الطلب من العملة ويكون لها تأثير فوري على سعر الصرف في تلك الأيام. ويمكن أن يحدث تأثير أكثر دواما إذا أدى التدخل المستثمرين إلى تغيير توقعاتهم بشأن المستقبل. ويمكن أن يحدث ذلك إذا لم يكن المستثمرون متأكدين مما إذا كان البنك المركزي يعقم تدخلاته. ومع العلم بأن التعقيم يحدث يتطلب مراقبة دقيقة لعدة أسواق ما لم يعلن بنك الاحتياطي الفدرالي سياسته. ومع ذلك، بدلا من الإعلان عن تدخل معقم، فإن البنك المركزي الذي يريد التأثير على التوقعات يجب أن يعلن تدخل فوركس في حين يخفي عملياته المفتوحة في السوق المفتوحة. وبهذه الطريقة، قد ينخدع المستثمرون في التفكير بأن تدخل الفوركس سيخفض قيمة الدولار في المستقبل، وبالتالي قد تعدل توقعاتهم. إذا خدع المستثمرون، سوف يرفعون E ه توقعا لاستهلاك الدولار في المستقبل. وستؤدي الزيادة في E إلى تحويل منحنى آ إلى أعلى، مما يؤدي إلى زيادة في الناتج القومي الإجمالي وانخفاض قيمة الدولار. وبهذه الطريقة، قد يكون للتدخلات المعقمة أثر دائم على سعر الصرف. ومع ذلك، فإن حجم التغير في سعر الصرف في هذا السيف الذي يحدث بالتأكيد سيكون أقل من ذلك الذي تحقق مع تدخل غير معقم. الصفقات الرئيسية إذا كان البنك المركزي يبيع العملة المحلية مقابل عملات أجنبية في الفوركس، فإنه سيؤدي إلى انخفاض مباشر في قيمة العملة المحلية، أو انخفاض قيمة العملة. إذا كان مجلس الاحتياطي الاتحادي لبيع الدولار على الفوركس، وسوف يكون هناك زيادة في المعروض من الاموال الامريكية من شأنها أن تقلل من أسعار الفائدة الأمريكية، وانخفاض معدل العائد على الأصول الأمريكية، ويؤدي إلى انخفاض قيمة الدولار. ويحدث تدخل معقم في النقد الأجنبي عندما يقوم أحد البنوك المركزية بالتدخل المباشر في الفوركس مع إجراء مقاصة في وقت واحد في سوق السندات المحلية. والغرض المقصود من التدخل المعقم هو إحداث تغيير في سعر الصرف مع ترك أسعار الفائدة في نفس الوقت دون أن تتأثر. أسئلة خطيرة. كما هو الحال في شعبية تظهر لعبة التلفزيون، يتم إعطاء إجابة على سؤال ويجب أن تستجيب مع هذا السؤال. على سبيل المثال، إذا كان الجواب هو ضريبة على الواردات، ثم السؤال الصحيح هو ما هي التعريفة من شراء العملة المحلية أو بيع العملة المحلية في سوق الصرف الأجنبي، وهذا هو شيء واحد يمكن للبنك المركزي القيام به للتسبب في انخفاض العملة المحلية . من شراء العملات الأجنبية أو بيع العملات الأجنبية في سوق الصرف الأجنبي، وهذا شيء واحد يمكن للبنك المركزي القيام به لتسبب ارتفاع قيمة العملة المحلية. من الزيادة. تخفيض . أو الحفاظ على نفسه. وهذا شيء واحد يمكن للبنك المركزي القيام به لعرض النقود المحلية للحث على ارتفاع العملة المحلية. من الزيادة. تخفيض . أو الحفاظ على نفسه. وهذا شيء واحد يمكن للبنك المركزي القيام به لعرض النقود المحلية للحث على انخفاض قيمة العملة المحلية. المصطلح المستخدم لوصف صفقة البنك المركزي في سوق السندات المحلية التي تهدف إلى تعويض تدخل البنوك المركزية في سوق الصرف الأجنبي. من الزيادة. تخفيض . أو البقاء على حاله. وهذا هو التأثير على توازن الناتج القومي الإجمالي على المدى القصير إذا قام البنك المركزي بتعقيم بيع احتياطيات أجنبية في سوق الصرف الأجنبي في نموذج آ-د مع أسعار الصرف العائمة. من الزيادة. تخفيض . أو البقاء على حاله. وهذا هو التأثير على قيمة العملة المحلية على المدى القصير إذا قام البنك المركزي بتعقيم شراء احتياطيات أجنبية في سوق الصرف الأجنبي في نموذج آ-د مع أسعار الصرف العائمة. بريفيوس سيكتيون جدول المحتويات القسم التاليفوريكس التداول يوميات 3 - فتح مصادر نظام تداول الفوركس في اليوم إدخال مذكرات تداول العملات الأجنبية أريد مناقشة الخطة الأطول أجلا لنظام تداول العملات الأجنبية. وبالإضافة إلى ذلك أريد أن الخطوط العريضة كيف إيف تستخدم بيثونس العشرية من نوع البيانات لجعل الحسابات أكثر دقة. حتى الآن، كنا تجريب مع أستانا الراحة أبي من أجل معرفة كيف أنه بالمقارنة مع أبي التي تقدمها وسطاء التفاعلية. كما رأينا كيف تضيف في عنصر النسخ المتماثل محفظة أساسية كخطوة أولى نحو نظام باكتستينغ يحركها الحدث المناسب. كان لدى إيف أيضا بعض التعليقات المفيدة على كل من المادتين السابقتين (1 و 2)، مما يوحي بأن الكثيرين منكم حريصون على تغيير ومدونة الشفرة بأنفسكم. فتح مصادر نظام تداول الفوركس للأسباب المبينة أعلاه قررت أن فتح المصدر لنظام تداول العملات الأجنبية. ماذا يعني هذا يعني أن جميع التعليمات البرمجية الحالية والمستقبلية ستكون متاحة مجانا، تحت ليبرالية رخصة مفتوحة المصدر ميت، على جيثب نسخة التحكم في الموقع على العنوان التالي: جيثوبهالزموركسفوريكس. لأولئك منكم الذين استخدموا جيت و جيثب من قبل، سوف تكون قادرة على جيت استنساخ الريبو وبدء تعديله لأغراض خاصة بك. نظام كوانتستارت الآلي للتجارة الفوركس هو الآن مفتوح المصدر تحت رخصة ميت ليبرالية. يمكنك العثور على أحدث رمز على جيثب تحت مستودع كسفوريكس في جيثوبهالزموركسفوريكس. بالنسبة لأولئك منكم الذين هم جديد لمراقبة المصدر المصدر ربما كنت تريد أن تقرأ على كيفية جيت (والتحكم في الإصدار بشكل عام) يعمل مع الكتاب الاليكترونى الحرة رائعة برو جيت. ومن الجدير قضاء بعض الوقت في التعلم عن التحكم في المصدر لأنها سوف توفر لك كمية كبيرة من الصداع في المستقبل إذا كنت تنفق الكثير من الوقت البرمجة وتحديث المشاريع بداية سريعة لنظام أوبونتو هو تثبيت جيت: سوف تحتاج بعد ذلك إلى جعل دليل لمشروع كسفوريكس للعيش في واستنساخ المشروع من موقع جيثب على النحو التالي: في هذه المرحلة سوف تحتاج إلى إنشاء بيئة افتراضية التي لتشغيل التعليمات البرمجية: سوف تحتاج بعد ذلك إلى تثبيت المتطلبات (وهذا سوف يستغرق بعض الوقت): وأخيرا سوف تحتاج إلى إنشاء ارتباط رمزي في بيئة افتراضية بيثون الخاص بك للسماح لك لكتابة كسفوريكس استيراد في التعليمات البرمجية الخاصة بك (وتشغيله): كما ذكرت في الإدخالات السابقة سوف تحتاج إلى إنشاء المتغيرات البيئة اللازمة للحصول على بيانات اعتماد مصادقة أواندا. يرجى الاطلاع على مذكرات الدخول 2 للحصول على إرشادات حول كيفية القيام بذلك. يرجى الانتباه إلى ريدمي المرتبطة مع الريبو، كما أنه يحتوي على تعليمات التثبيت، إخلاء المسؤولية والضمان حول استخدام التعليمات البرمجية. منذ البرنامج في وضع ألفا، وهذه التعليمات تصبح أكثر وضوحا مع تقدم الوقت. على وجه الخصوص سأحاول التفاف المشروع في حزمة بايثون بحيث يمكن تركيبها بسهولة عبر نقطة. إذا كان لديك أي أسئلة حول إجراء التثبيت، ثم الرجاء لا تتردد في الكتابة لي على ميكيوانتستارت. خطة طويلة الأجل إن فلسفة نظام تداول العملات الأجنبية، كما هو الحال مع بقية موقع كوانتستارت، هي محاولة تقليد التداول في الحياة الحقيقية قدر الإمكان في الاختبار الخلفي. وهذا يعني تضمين التفاصيل التي غالبا ما يتم استبعادها من المزيد من حالات البحث الموجه نحو البحث. سيتم تضمين كل من الكمون، وانقطاعات الخادم، والتشغيل الآلي، والرصد، وتكاليف المعاملات الواقعية ضمن النماذج لتعطينا فكرة جيدة عن مدى نجاح الإستراتيجية. وبما أننا سوف يكون الوصول إلى البيانات القراد (الطوابع بيداسك) ونحن سوف تكون قادرة على دمج انتشار في تكاليف المعاملات. يمكننا أيضا نموذج الانزلاق. ومن األقل تأثيرا على السوق أن يكون نموذجا لتأثير السوق، على الرغم من أن هذا األمر يقل قلقا بشأن مبالغ التداول األصغر. بالإضافة إلى تكاليف المعاملات نحن نريد أن نمذجة إدارة محفظة قوية باستخدام تراكب المخاطر وتحديد حجم الموقف. لذلك ما يتم تضمينه حاليا في نظام تداول الفوركس حتى الآن العمارة المستندة إلى الحدث - تم تصميم نظام تداول العملات الأجنبية كنظام يحركه الحدث من الألف إلى الياء، وهذا هو كيف سيتم تنفيذ نظام التداول اللحظي في بيئة حية . السعر الجري - لدينا السعر الأساسي يتدفق الكائن. هذا يعالج حاليا الاشتراك في زوج واحد فقط، ولكن يمكننا بسهولة تعديل هذا للاشتراك في أزواج العملات متعددة. توليد الإشارة - يمكننا دمج استراتيجيات التداول (استنادا مباشرة إلى أسعار القراد السابقة والحالية) باستخدام كائن الاستراتيجية، الذي يخلق كائنات سيغناليفنت. تنفيذ النظام - لدينا نظام تنفيذ النظام ساذجة أن يرسل عمياء أوامر من محفظة لأواندا. بمعنى أعمى أعني أنه لا توجد إدارة المخاطر أو تحديد حجم الموقف التي يجري تنفيذها، ولا أي التنفيذ الخوارزمية التي قد تؤدي إلى انخفاض تكاليف المعاملات. غبب بيس كيرنسي - للحفاظ على الأمور بسيطة، إيف فقط كتب النظام للعملة الجنيه الإسترليني. وربما يكون هذا هو الجانب الأكثر أهمية لتعديل نظرا لكثير منكم سوف يكون حسابات الممارسة المقومة بالدولار الأمريكي واليورو والدولار الكندي والين الياباني والأسترالي والدولار النيوزلندي غبوسد التداول - اخترت الكابل كزوج العملات لاختبار الموقف الأولي والأشياء محفظة مع. التعامل مع أزواج العملات متعددة خطوة مهمة هامة. وسيتضمن ذلك تعديلا على حسابات المركز والحافظة. التعامل مع العشرية - يجب على أي نظام تداول الإنتاج التعامل مع حسابات العملة بشكل صحيح. وعلى وجه الخصوص، لا ينبغي تخزين قيم العملات كنوع بيانات عائمة، لأن أخطاء التقريب سوف تتراكم. يرجى الاطلاع على هذه المادة رائعة على العائمة التمثيلات للحصول على مزيد من التفاصيل. لونغشورت ترادينغ - بين مذكرات مذكرات 2 و 3 أضفت القدرة على اختصار زوج العملات (بدلا من أن تكون قادرة على الذهاب لفترة طويلة). Crucially, this is also unit tested. Local Portfolio Handling - In my opinion carrying out a backtest that inflates strategy performance due to unrealistic assumptions is annoying at best and extremely unprofitable at worst Introducing a local portfolio object that replicates the OANDA calculations means that we can check our internal calculations while carrying out practice trading . which gives us greater confidence when we later use this same portfolio object for backtesting on historical data. Unit Tests for PositionPortfolio - While Ive not mentioned it directly in diary entries 1 and 2, Ive actually been writing some unit tests for the Portfolio and Position objects. Since these are so crucial to the calculations of the strategy, one must be extremely confident that they perform as expected. An additional benefit of such tests is that they allow the underlying calculation to be modified, such that if all tests still pass, we can be confident that the overall system will continue to behave as expected. At this stage the Forex Trading System is lacking the following functionality: Slippage Handling - The system is currently generating a lot of slippage due to the high-frequency nature of the tick data provided from OANDA. This means that the portfolio balance calculated locally is not reflecting the balance calculated by OANDA. Until correct event-handling and slippage adjustment is carried out, this will mean that a backtest will not correctly reflect reality. Multiple Base Currencies - We are currently restricted to GBP. At the very least we need to include the major currency denominations - USD, EUR, CAD, AUD, JPY and NZD. Multiple Currency Pairs - Similarly we need to support the major currency pairs beyond Cable (GBPUSD). There are two aspects to this. The first is to correctly handle the calculations when neither the base or quote of a currency pair is equal to the account denomination currency. The second aspect is to support multiple positions so that we can trade a portfolio of currency pairs. Risk Management - Many research backtests completely ignore risk management. Unfortunately this is generally necessary for brevity in describing the rules of a strategy. In reality we - must - use a risk overlay when trading, otherwise it is extremely likely that we will suffer a substantial loss at some stage. This is not to say that risk management can prevent this entirely, but it certainly makes it less likely Portfolio Optimisation - In an institutional setting we will have an investment mandate, which will dictate a robust portfolio management system with various allocation rules. In a retailpersonal setting we may wish to use a position sizing approach such as the Kelly Criterion to maximise our long-term compounded growth rate. Robust Strategies - I have only demonstrated some simple random signal generating toy strategies to date. Now that we are beginning to create a reliable intraday forex trading system, we should start carrying out some more interesting strategies. Future diary entries will concentrate on strategies drawn from a mixture of technical indicatorsfilters as well as time series models and machine learning techniques. Remote Deployment - Since we are potentially interested in trading 24 hours (at least during the week) we require a more sophisticated setup than running the backtester on a local desktoplaptop machine at home. It is vital that we create a robust remote server deployment of our system with appropriate redundancy and monitoring. Historical Backtesting - We have built the Portfolio object to allow us to perform realistic backtesting. At this stage we are missing a historical tick data storage system. In subsequent articles we will look at obtaining historical tick data and storing it in an appropriate database, such as HDF5 . Trade Database - Eventually we will wish to store our live trades in our own database. This will allow us to carry out our own analytics on live trading data. A good recommendation for a relational database would be PostgreSQL or MySQL . Monitoring and High Availability - Since we are considering a high-frequency intraday system, we must put comprehensive monitoring and high availability redundancy in place. This means reporting on CPU usage, disk usage, network IO, latency and checking that any periodic scripts are set to keep running. In addition we need a backup and restore strategy. Ask yourself what backup plans you would have in place if you had large open positions, in a volatile market, and your server suddenly died. Believe me, it happens Multiple BrokerFIX Integration - At the moment we are strongly coupled to the OANDA broker. As I said this is simply because I came across their API and found it to be a modern offering. There are plenty of other brokers out there, many of which support the FIX protocol. Adding a FIX capability would increase the number of brokers that could be used with the system. GUI Control and Reporting - Right now the system is completely consolecommand line based. At the very least we will need some basic charting to display backtest results. A more sophisticated system will incorporate summary statistics of trades, strategy-level performance metrics as well as overall portfolio performance. This GUI could be implemented using a cross-platform windowing system such as Qt or Tkinter. It could also be presented using a web-based front-end, utilising a web-framework such as Django . As can be seen there is a lot of functionality left on the roadmap That being said, each new diary entry (and potential contributions from the community) will move the project forward. Decimal Data-Types Now that we have discussed the longer term plan I want to present some of the changes I have made to the code since diary entry 2. In particular, I want to describe how I modified the code to handle the Decimal data-type instead of using floating point storage. This is an extremely important change as floating point representations are a substantial source of long-term error in portfolio and order management systems. Python natively supports decimal representations to an arbitrary precision. The functionality is contained within the decimal library. In particular we need to modify - every - value that appears in a Position calculation to a Decimal data-type. This includes the units, exposure, pips, profit and percentage profit. This ensures we are in full control of how rounding issues are handled when dealing with currency representations that have two decimal places of precision. In particular we need to choose the method of rounding. Python supports a few different types, but we are going to go with ROUNDHALFDOWN. which rounds to the nearest integer with ties going towards zero. Here is an example of how the code is modified to handle Decimal data-types from their previous floating point representations. The following is a list of position. py : Note that we must provide Decimal with a string argument, rather than a floating point argument. This is because a string is precisely specifying the precision of the value, whereas a floating point type will not. Note also that when we begin storing our trades in a relational database (as described above in the roadmap) we will need to make sure we once again use the correct data-type. PostgreSQL and MySQL support a decimal representation. It is vital that we utilise these data-types when we create our database schema, otherwise we will run into rounding errors that are extremely difficult to diagnose For those who are interested in a deeper discussion of these issues, in mathematics and computer science, the subject of Numerical Analysis covers floating point storage issues, among many other interesting topics. In subsequent diary entries we are going to discuss how I have applied unit testing to the code and how we can extend the software to more currency pairs by modifying the position calculations. Full Python Code Since the full source code for the project is now open source, under a MIT license. it can always be found out at githubmhallsmooreqsforex. with the accompanying documentation. If you would like to read the other entries in the series, please follow the links below:
Comments
Post a Comment