هل تتطلع إلى استرداد بيانات سوق الأسهم باستخدام Python؟ أنت في المكان الصحيح. في هذه المقالة ، ستتعلم كيفية الحصول على بيانات سوق الأسهم باستخدام Python. يمكنك أيضًا استخدام البيانات لتحليلها وتصورها والحصول على رؤى منها.

ستستخدم ملف yfinance مكتبة Python للحصول على بيانات أسعار سوق الأسهم الحالية والتاريخية من Yahoo Finance.

تثبيت المكتبات المطلوبة

تمويل ياهو هي إحدى المنصات المستخدمة على نطاق واسع والتي توفر بيانات سوق الأوراق المالية. يمكنك بسهولة تنزيل مجموعة البيانات من موقع الويب الخاص بهم ، ولكن إذا كنت ترغب في الوصول إليها مباشرة من برنامج Python ، فيمكنك استخدام yfinance مكتبة. لتثبيت yfinance باستخدام النقطة ، تحتاج إلى تشغيل الأمر التالي في موجه الأوامر:

نقطة ثَبَّتَ yfinance

مكتبة yfinance Python مجانية للاستخدام ولا تتطلب مفتاح API.

الكود المستخدم في هذا المشروع متاح في ملف مستودع جيثب وهو مجاني لك لاستخدامه بموجب ترخيص MIT.

احصل على بيانات سعر السهم الحالي

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

instagram viewer
يستورد yfinance مثل ص
شريط = yf. شريط ('جوجل').معلومات
market_price = مؤشر الأسهم ['سعر السوق العادي']
previous_close_price = مؤشر الأسهم ['السوق العادي']
مطبعة('الشريط: GOOGL')
مطبعة('سعر السوق:'، سعر السوق)
مطبعة('سعر الإغلاق السابق:'، Previous_close_price)

ينتج عن ذلك الناتج التالي:

يستخدم هذا المثال الامتداد سعر السوق العادي و السوق العادي خصائص للحصول على البيانات المطلوبة. توفر مكتبة yfinance العديد من الخصائص الأخرى التي يمكنك استكشافها. وتشمل هذه الملفات zip ، و Sector ، و fullTimeEmployees ، و longBusinessSummary ، والمدينة ، والهاتف ، والولاية ، والبلد. يمكنك الحصول على القائمة الكاملة للخصائص المتاحة باستخدام هذا الكود:

يستورد yfinance مثل ص
شريط = yf. شريط ('جوجل').معلومات
مطبعة(ticker.keys ())

احصل على بيانات أسعار الأسهم التاريخية

يمكنك الحصول على جميع بيانات الأسعار التاريخية من خلال تقديم تاريخ البدء وتاريخ الانتهاء والمؤشر.

# استيراد حزمة yfinance
يستورد yfinance مثل ص

# تعيين تاريخ البدء والانتهاء
تاريخ_البدء = '2020-01-01'
end_date = '2022-01-01'

# تعيين المؤشر
شريط = 'جوجل'

# احصل على البيانات
data = yf.download (شريط الأسهم ، تاريخ البدء ، تاريخ الانتهاء)

# طباعة آخر 5 صفوف
مطبعة(data.tail ())

ينتج عن ذلك الناتج التالي:

سيقوم الكود أعلاه بجلب بيانات سعر السهم من 2020-01-01 إلى 2022-01-01.

إذا كنت ترغب في سحب بيانات مؤشرات متعددة في وقت واحد ، فيمكنك القيام بذلك عن طريق توفير المؤشرات في شكل سلسلة مفصولة بمسافات.

يستورد yfinance مثل ص
تاريخ_البدء = '2020-01-01'
end_date = '2022-01-01'

# أضف عدة مؤشرات مفصولة بمسافات هنا
شريط = 'GOOGL MSFT TSLA'
data = yf.download (شريط الأسهم ، تاريخ البدء ، تاريخ الانتهاء)
مطبعة(data.tail ())

تحويل البيانات للتحليل

في مجموعة البيانات أعلاه ، تاريخ هو فهرس مجموعة البيانات وليس عمودًا. لإجراء أي تحليل للبيانات على هذه البيانات ، تحتاج إلى تحويل هذا الفهرس إلى عمود. فيما يلي كيف يمكنك القيام بذلك:

يستورد yfinance مثل ص
تاريخ_البدء = '2020-01-01'
end_date = '2022-01-01'
شريط = 'جوجل'
data = yf.download (شريط الأسهم ، تاريخ البدء ، تاريخ الانتهاء)
بيانات["تاريخ"] = data.index

data = data [["تاريخ", "يفتح", "عالي",
"قليل", "يغلق", "أضف إغلاق", "مقدار"]]

data.reset_index (يسقط=حقيقي، inplace =حقيقي)
مطبعة(data.head ())

ينتج عن ذلك الناتج التالي:

هذه البيانات المحولة هي نفسها البيانات التي كنت ستنزلها من Yahoo Finance.

تخزين البيانات المستلمة في ملف CSV

أنت تستطيع تصدير كائن DataFrame إلى ملف CSV باستخدام to_csv () طريقة. نظرًا لأن البيانات أعلاه موجودة بالفعل في شكل pandas DataFrame ، يمكنك تصدير البيانات إلى ملف CSV باستخدام الكود التالي:

يستورد yfinance مثل ص
تاريخ_البدء = '2020-01-01'
end_date = '2022-01-01'
شريط = 'جوجل'
data = yf.download (شريط الأسهم ، تاريخ البدء ، تاريخ الانتهاء)
مطبعة(data.tail ())
# تصدير البيانات إلى ملف CSV
data.to_csv ("GOOGL.csv")

Pandas هي مكتبة Python المستخدمة على نطاق واسع لتحليل البيانات. إذا لم تكن مرتاحًا جدًا لهذه المكتبة ، فيجب أن تبدأ بها العمليات الأساسية باستخدام الباندا.

تصور البيانات

تعد مكتبة yfinance Python واحدة من أكثر المكتبات ملاءمة لإعداد وجلب البيانات وتنفيذ مهام تحليل البيانات باستخدامها. يمكنك استخدام هذه البيانات لتصور النتائج والتقاط الرؤى باستخدام مكتبات مثل Matplotlib أو Seaborn أو Bokeh.

يمكنك حتى عرض هذه المرئيات مباشرة على صفحة ويب باستخدام PyScript.