با استفاده از کتابخانههای yfinance و mplfinance میتوانید دادههای تاریخی سهام را دریافت کرده و نمودار کندلی (Candlestick) آن را رسم کنید. در ادامه نحوه انجام این کار توضیح داده شده است:
مراحل کار:
1. نصب کتابخانهها:
- ابتدا باید کتابخانههای yfinance و mplfinance را نصب کنید.
!pip install yfinance mplfinance
2. استخراج دادههای سهام:
- با استفاده از `yfinance`، میتوانید دادههای تاریخی مربوط به سهام خاصی را در یک بازه زمانی مشخص دریافت کنید. این کتابخانه به Yahoo Finance متصل میشود و دادهها را بارگیری میکند.
3. رسم نمودار کندلی:
- با استفاده از mplfinance میتوانید دادههای دریافتی را به شکل نمودار کندلی (که قالبی رایج برای نمایش روند قیمت سهام است) رسم کنید.
کد:
import yfinance as yf
import mplfinance as mpf
ticker = input("Enter the stock symbol: ")
df = yf.download(ticker, start='2023-08-01', end='2024-09-01')
if df.empty:
print(f"No data found for {ticker}. Please check the symbol and date range.")
else:
mpf.plot(df, type='candle', style='charles',
title=f'{ticker} Candlestick Chart', ylabel='Price')
توضیحات کد:
- وارد کردن کتابخانهها: yfinance برای دریافت دادههای مالی و mplfinance برای ایجاد نمودارهای مالی استفاده میشود.
یافت نماد سهام: کاربر نماد سهام مورد نظرش را وارد میکند.
- بارگیری دادهها: با استفاده از تابع download از `yfinance`، دادههای تاریخی سهام بارگیری میشوند.
- بررسی دادههای بارگیریشده: اگر دادهای بارگیری نشود، پیامی برای بررسی نماد و محدوده تاریخی نمایش داده میشود.
- رسم نمودار: اگر دادهها موجود باشند، نمودار کندلی توسط mplfinance رسم میشود.
با این روش میتوانید برای هر نماد بورسی موجود، نمودار کندلی مربوط به آن را به سادگی رسم کنید.
اینجا موقع اجرای کد توی کولب ما از نماد بورسی طلا یعنی GLD استفاده کردیم.
برای مثال نمادهای بورسی بیست شرکت معروف دنیا عبارتند از:
Apple Inc. - (AAPL)
Microsoft Corporation - (MSFT)
Alphabet Inc. (Class A) - (GOOGL)
Amazon.com Inc. - (AMZN) Inc.
NVIDIA Corporation - (NVDA)
Berkshire Hathaway Inc. (Class B) - (BRK.B)
Tesla Inc. - (TSLA)
Meta Platforms Inc. - (META)
Visa Inc. - (V)
Johnson & Johnson - (JNJ)
UnitedHealth Group Incorporated - (UNH)
Exxon Mobil Corporation - (XOM)
Procter & Gamble Co. - (PG)
JPMorgan Chase & Co. - (JPM)
Samsung Electronics Co. Ltd. - (005930.KS)
Alibaba Group Holding Limited - (BABA)
LVMH Moët Hennessy Louis Vuitton - (LVMUY)
Kweichow Moutai Co., Ltd. - (600519.SS)
Nestlé S.A. - (NSRGY)
Taiwan Semiconductor Manufacturing Company Limited - (TSM)