قیمتهای سهام بستر آزمایشی ایدهآلی برای تقویت مهارتهای تجزیه و تحلیل دادههای شما هستند: آنها آزادانه در دسترس هستند، دائماً در حال تغییر و با مجموعه دادههای بزرگ هستند.
آیا به دنبال بازیابی اطلاعات بازار سهام با استفاده از پایتون هستید؟ شما در جای مناسب هستید. در این مقاله، نحوه به دست آوردن اطلاعات بازار سهام با استفاده از پایتون را خواهید آموخت. میتوانید از دادهها برای تجزیه و تحلیل، تجسم و دریافت بینش بیشتر استفاده کنید.
شما از کتابخانه yfinance Python برای دریافت اطلاعات قیمت فعلی و تاریخی بازار سهام از Yahoo Finance استفاده خواهید کرد.
نصب کتابخانه های مورد نیاز
Yahoo Finance یکی از پلتفرم های پرکاربردی است که داده های بازار سهام را ارائه می دهد. شما می توانید به راحتی مجموعه داده را از وب سایت آنها دانلود کنید، اما اگر می خواهید مستقیماً از یک برنامه پایتون به آن دسترسی داشته باشید، می توانید از کتابخانه yfinance استفاده کنید. برای نصب yfinance با استفاده از pip، باید دستور زیر را در خط فرمان اجرا کنید:
pip install yfinance
استفاده از کتابخانه yfinance Python رایگان است و نیازی به کلید API ندارد.
کد مورد استفاده در این پروژه در یک مخزن GitHub موجود است و برای استفاده شما تحت مجوز MIT رایگان است.
اطلاعات قیمت فعلی سهام را دریافت کنید
شما باید علامت سهامی را داشته باشید که میخواهید دادهها را برای آن استخراج کنید. در مثال زیر، قیمت بازار و قیمت بسته قبلی را برای GOOGL پیدا خواهیم کرد.
import yfinance as yf
ticker = yf.Ticker(&aposGOOGL&apos).info
market_price = ticker[&aposregularMarketPrice&apos]
previous_close_price = ticker[&aposregularMarketPreviousClose&apos]
print(&aposTicker: GOOGL&apos)
print(&aposMarket Price:&apos, market_price)
print(&aposPrevious Close Price:&apos, previous_close_price)
این خروجی زیر را تولید می کند:
این مثال از ویژگی های regularMarketPrice و regularMarketPreviousClose برای دریافت داده های مورد نیاز استفاده می کند. کتابخانه yfinance چندین ویژگی دیگر را ارائه می دهد که می توانید آنها را کشف کنید. اینها عبارتند از zip، بخش، تمام وقت کارکنان، LongBusinessSummary، شهر، تلفن، ایالت و کشور. با استفاده از این کد می توانید لیست کامل املاک موجود را دریافت کنید:
import yfinance as yf
ticker = yf.Ticker(&aposGOOGL&apos).info
print(ticker.keys())
داده های تاریخی قیمت سهام را دریافت کنید
میتوانید با ارائه تاریخ شروع، تاریخ پایان و علامت، تمام دادههای قیمت تاریخی را دریافت کنید.
# Importing the yfinance package
import yfinance as yf
# Set the start and end date
start_date = &apos2020-01-01&apos
end_date = &apos2022-01-01&apos
# Set the ticker
ticker = &aposGOOGL&apos
# Get the data
data = yf.download(ticker, start_date, end_date)
# Print the last 5 rows
print(data.tail())
این خروجی زیر را تولید می کند:
کد بالا اطلاعات قیمت سهام را از 01-01-2020 تا 01-01-2022 واکشی می کند.
اگر میخواهید دادههای چند علامت را بهطور همزمان جمعآوری کنید، میتوانید این کار را با ارائه علامتها به شکل رشتهای جدا شده با فاصله انجام دهید.
import yfinance as yf
start_date = &apos2020-01-01&apos
end_date = &apos2022-01-01&apos
# Add multiple space separated tickers here
ticker = &aposGOOGL MSFT TSLA&apos
data = yf.download(ticker, start_date, end_date)
print(data.tail())
تبدیل داده ها برای تجزیه و تحلیل
در مجموعه داده فوق، Date شاخص مجموعه داده است و نه یک ستون. برای انجام هرگونه تحلیل داده بر روی این داده ها، باید این شاخص را به یک ستون تبدیل کنید. در زیر نحوه انجام این کار آورده شده است:
import yfinance as yf
start_date = &apos2020-01-01&apos
end_date = &apos2022-01-01&apos
ticker = &aposGOOGL&apos
data = yf.download(ticker, start_date, end_date)
data["Date"] = data.index
data = data[["Date", "Open", "High",
"Low", "Close", "Adj Close", "Volume"]]
data.reset_index(drop=True, inplace=True)
print(data.head())
این خروجی زیر را تولید می کند:
این داده های تبدیل شده همان داده هایی است که از Yahoo Finance دانلود می کردید.
ذخیره داده های دریافتی در یک فایل CSV
با استفاده از روش ()to_csv میتوانید یک شی DataFrame را به یک فایل CSV صادر کنید. از آنجایی که دادههای بالا قبلاً به شکل DataFrame پاندا هستند، میتوانید با استفاده از کد زیر دادهها را به یک فایل CSV صادر کنید:
import yfinance as yf
start_date = &apos2020-01-01&apos
end_date = &apos2022-01-01&apos
ticker = &aposGOOGL&apos
data = yf.download(ticker, start_date, end_date)
print(data.tail())
# Export data to a CSV file
data.to_csv("GOOGL.csv")
Pandas کتابخانه پایتون است که به طور گسترده مورد استفاده قرار می گیرد. اگر با این کتابخانه چندان راحت نیستید، باید با استفاده از پانداها عملیات اساسی را شروع کنید.
داده ها را تجسم کنید
کتابخانه yfinance Python یکی از راحتترین کتابخانهها برای راهاندازی، واکشی دادهها و انجام وظایف تحلیل دادهها است. میتوانید از این دادهها برای تجسم نتایج و گرفتن بینش با استفاده از کتابخانههایی مانند Matplotlib، Seaborn یا Bokeh استفاده کنید.
حتی می توانید این تجسم ها را مستقیماً در یک صفحه وب با استفاده از PyScript نمایش دهید.