تحليل بايثون للأسهم المالية (تداول Algo)

في هذه المقالة سوف نتعمق في تحليل الأسهم المالية باستخدام لغة برمجة Python ومكتبة Yahoo Finance Python. يغطي هذا البرنامج التعليمي إحضار بيانات المخزون وإنشاء مخططات الأسهم وتحليل المخزون باستخدام تطبيع بيانات المخزون. سيتم التنفيذ داخل Jupyter Notebook الذي سنقوم بتثبيته باستخدام منصة علم بيانات Anaconda. لذلك بدون مزيد من المقدمة ، فلنبدأ في التنفيذ الفعلي.

ينقسم التطبيق التالي إلى ثلاثة أجزاء. إذا واجهتك مشكلة في مرحلة ما أو كنت ترغب فقط في عرض هذا البرنامج التعليمي بتنسيق آخر ، فسيتم إرفاق رابط Youtube بكل قسم ، حيث يمكنك رؤية التنفيذ الفعلي قيد التنفيذ.

تثبيت Anaconda و Yahoo Finance

يوتيوب: https://youtu.be/8gGV6eGp9IQ

إذا كان Anaconda مثبتًا بالفعل على نظامك ، فيمكنك تخطي هذا الجزء.

انتقل إلى https://www.anaconda.com/products/individual وقم بتنزيل أحدث إصدار إلى نظام التشغيل (Windows أو Linux أو Mac OS).

جلب بيانات المخزون

يوتيوب: https://youtu.be/8gGV6eGp9IQ

بمجرد تثبيت Anaconda و Yahoo Finance ، نكون جاهزين لإنشاء أول دفتر ملاحظات خاص بنا. سنكتب وننفذ كود بايثون في دفتر ملاحظاتنا. لإنشاء دفتر ملاحظات ، انتقل إلى Jupyter وانقر فوق “جديد” لإنشاء دفتر جديد.

في دفتر Jupyter Notebook ، من الممكن كتابة كود Python مباشرة بين النص العادي. يمكنك تنفيذ كتلة من كود Python بالنقر فوق الزر التالي.

بعد ذلك سنقوم باستيراد المكتبات التالية ، لاستخدامها في هذا الدليل.

بعد استيراد المكتبات ، يتم تحديد قائمة بالشركات بناءً على تلك التي نرغب في جلب بيانات المخزون منها. بالنسبة لهذا الدليل ، سنقوم بإحضار البيانات من Apple و Google.

يمكنك التمسك بهذه الأسهم أو تحديد الأسهم من الشركات الأخرى. يتم ذلك بالانتقال إلى Yahoo Finance أو Google والبحث عن الشركة. هنا سترى الأحرف الأولى من أسهمهم على سبيل المثال

بمجرد تحديد قائمة بالشركات ، سيتم استخدام مكتبة Yahoo Finance لجلب البيانات لفترة معينة ، ويتم ذلك باستخدام السطر التالي:

عند استخدام yf.download ، يلزمك تقديم المعلمات الثلاثة التالية قائمة الأسهم ، وبدء الفترة ، ونهاية الفترة .

إذا كنت ترغب في إلقاء نظرة على البيانات التي تم جلبها ، يمكنك كتابة:

إنشاء الرسوم البيانية للسهم

يوتيوب: https://youtu.be/MwBtuEdFeBI

الآن وقد جلبنا بيانات الأسهم بناءً على قائمة الشركات في فترة معينة ، فقد حان الوقت لتصور البيانات عن طريق إنشاء مخطط كما هو موضح أدناه:

تتمثل الخطوة الأولى في إنشاء المخطط في تحديد المعلمات التي يجب أن يتضمنها المخطط. إذا كنت قد حاولت طباعة بيانات المخزون التي تم جلبها باستخدام data.head () ، فستلاحظ أن مجموعة البيانات لدينا تتكون من ما يلي: تعديل أسعار الإغلاق ، الإغلاق ، الارتفاع ، الانخفاض ، الفتح . في هذه السلسلة سنركز فقط على سعر الإغلاق في يوم تداول معين. للقيام بذلك ، نحتاج إلى إنشاء متغير جديد حيث نقوم بنسخ البيانات الختامية لبياناتنا الأصلية التي تم جلبها. يتم ذلك باستخدام السطر التالي:

مع وجود مجموعة بيانات الأسعار المغلقة ، حان الوقت لتحديد معلمات الرسم البياني التي سيتم استخدامها. سنحدد حجم الرسم البياني وحجم الخط والنمط. لا تتردد في تعديل هذه المعايير لأنها مستحضرات تجميل بحتة.

مع تعيين معلمات التصميم ، يتبقى لنا السطر الأخير والأخير الذي سيقدم بيانات سهم السعر المغلق بصريًا.

تطبيع بيانات المخزون

يوتيوب: https://youtu.be/COwS2JcZ2tM

إذا نظرنا فقط إلى مخطط الأسهم لدينا ، فقد يبدو أن أداء Apple أسوأ بكثير من أداء Google فيما يتعلق بالأداء ، ولكن مخطط الأسهم قد يكون مضللًا لأنه لا يأخذ في الحسبان نطاقات الأسعار المختلفة في الفترة ، على سبيل المثال يبدأ سعر Apple من 7.6 دولار أمريكي و Google بسعر 313 دولار أمريكي. ما نريد فعله هو تسوية البيانات للحصول على نظرة عامة أفضل على أداء السعر بمرور الوقت.

لتطبيع البيانات ، نقسم السلسلة على العنصر الأول ثم نضربها في 100 ، وهذا سيجعل جميع الأسهم في مخططنا تبدأ من 100 ويعرض النسبة المئوية للتغيير كل يوم من بداية الفترة التي اخترناها إلى نهايتها.

يتم التطبيع باستخدام السطر التالي:

بعد ذلك ، يمكننا إما اختيار إعادة استخدام الرسم البياني السابق المحدد أو إنشاء مخطط جديد لتوضيح الفرق. من أجل هذا المثال سوف نحدد مخطط مخطط جديد.

إذا قارنا المخططين فمن الواضح أن أداء سهم Apple هو في الواقع أفضل بكثير من أداء سهم Google عند النظر إلى زيادة الأسعار بمرور الوقت.

باستخدام هذا النهج يمكننا البدء في مقارنة أداء الأسهم المختلفة وتحليلها.

للجزء الثاني ، راجع: https://vinsloev.medium.com/python-financial-stock-analysis-risk-vs-performance-6c7d70d01181 حيث سنركز على المخاطر مقابل الأداء.