Получите финансовые данные от Yahoo Finance с помощью Python
Трейдинговым, инвестиционным и другим финансовым специалистам необходим доступ к финансовым данным, поскольку от них зависят инвестиционные исследования. Yahoo Finance, предлагающий актуальную рыночную статистику, новости и анализ, является одним из самых известных источников финансовой информации. Python — это надежный и гибкий язык программирования, который можно использовать для извлечения финансовых данных из Yahoo Finance, поэтому в этом посте мы будем использовать пакет yfinance именно для этого.
Установка и синтаксис
Прежде чем мы начнем, нам нужно установить библиотеку yfinance, которая позволит нам получать доступ к данным Yahoo Finance из Python. Мы можем установить yfinance с помощью pip, установщика пакетов Python.
pip install yfinance
После установки yfinance мы можем начать использовать его в наших скриптах Python. Синтаксис импорта yfinance прост:
import yfinance as yf
Алгоритм
Чтобы получить финансовые данные из Yahoo Finance, нам сначала нужно создать экземпляр класса yfinance Ticker, который представляет конкретную акцию или другой финансовый инструмент.
Мы можем создать экземпляр Ticker, передав символ акции конструктору yf.Ticker(), например: msft=yf.Ticker("MSFT")
-
Получив экземпляр Ticker, мы можем использовать его методы для получения финансовых данных. Например, мы можем использовать метод History() для получения исторических данных о ценах на акции:
история=msft.history(период="макс")
Параметр period указывает период времени, за который мы хотим получить данные. В этом случае мы получаем данные за всю историю акции.
Мы также можем использовать другие методы класса Ticker для получения других типов финансовых данных, таких как дивиденды, дробления и финансовые отчеты.
Общие функции
yf.Ticker(symbol) — этот метод используется для создания объекта Ticker для определенного биржевого символа. Он возвращает экземпляр класса Ticker, который можно использовать для получения различных финансовых данных для данного символа акции.
ticker.info — этот метод возвращает словарь, содержащий подробную информацию о символе акции, такую как его название, отрасль, сектор, биржа и другие финансовые показатели, такие как рыночная капитализация, дивидендная доходность, коэффициент P/E. , и более.
ticker.history() — этот метод возвращает DataFrame pandas, содержащий исторические цены OHLC (открытие, максимум, минимум, закрытие), объем и другие финансовые данные для указанного символа акции за указанный период времени. .
ticker.recommendations() — этот метод возвращает DataFrame pandas, содержащий последние рекомендации финансовых аналитиков для данного символа акций, включая целевую цену, рейтинг рекомендаций и дату рекомендации.
ticker.calendar() — этот метод возвращает DataFrame pandas, содержащий предстоящие доходы, дивиденды и другие важные события для данного символа акции.
ticker.sustainability() — этот метод возвращает DataFrame pandas, содержащий значения устойчивости для данного биржевого символа, такие как оценки окружающей среды, социальной сферы и управления (ESG).
-
ticker.options — этот метод возвращает словарь, содержащий даты истечения срока действия и другие сведения об опциях, доступных для данного биржевого символа.
Измените тикер, чтобы получить финансовые данные по конкретной акции.
Некоторые популярные тикерные символы —
AAPL
Apple Inc.
MSFT
Корпорация Microsoft
AMZN
Amazon.com, Inc.
TSLA
-
Тесла, Инк.
GOOGL
Alphabet Inc. (Google)
Пример
import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt
# Create a Ticker object for a specific stock symbol
ticker = yf.Ticker("AAPL")
# Get detailed information about the stock symbol
info = ticker.info
print("Detailed Information:")
for key, value in info.items():
# format and indent the printed output
print(f"{key}: {value}")
print("-" * 10)
# Get historical OHLC prices and other financial data
history = ticker.history(period="1mo")
print("\nHistorical Data:")
print(history)
# Plot historical prices
plt.plot(history.index, history["Close"])
plt.title(f"{info['shortName']} ({info['symbol']})")
plt.xlabel("Date")
plt.ylabel("Price")
plt.show()
Выход
Detailed Information:
address1: One Apple Park Way
----------
city: Cupertino
----------
state: CA
----------
zip: 95014
----------
country: United States
----------
phone: 408 996 1010
----------
website: https://www.apple.com
----------
industry: Consumer Electronics
----------
sector: Technology
----------
fullTimeEmployees: 164000
----------
maxAge: 86400
----------
priceHint: 2
----------
previousClose: 168.54
----------
open: 169.5
----------
dayLow: 167.16
----------
dayHigh: 170.92
----------
regularMarketPreviousClose: 168.54
----------
regularMarketOpen: 169.5
----------
regularMarketDayLow: 167.16
----------
regularMarketDayHigh: 170.92
----------
dividendRate: 0.92
----------
dividendYield: 0.0055
----------
exDividendDate: 1675987200
----------
payoutRatio: 0.1545
----------
fiveYearAvgDividendYield: 0.92
----------
totalRevenue: 387537010688
----------
debtToEquity: 195.868
----------
revenuePerShare: 24.084
----------
returnOnAssets: 0.19569999
----------
returnOnEquity: 1.47943
----------
grossProfits: 170782000000
----------
freeCashflow: 84729126912
----------
operatingCashflow: 109189996544
----------
earningsGrowth: -0.105
----------
Historical Data:
2023-04-21 00:00:00-04:00 165.050003 166.449997 164.490005 165.020004 58311900 0.0 0.0
2023-04-24 00:00:00-04:00 165.000000 165.600006 163.889999 165.330002 41949600 0.0 0.0
2023-04-25 00:00:00-04:00 165.190002 166.309998 163.729996 163.770004 48714100 0.0 0.0
2023-04-26 00:00:00-04:00 163.059998 165.279999 162.800003 163.759995 45498800 0.0 0.0
2023-04-27 00:00:00-04:00 165.190002 168.559998 165.190002 168.410004 64902300 0.0 0.0
2023-04-28 00:00:00-04:00 168.490005 169.850006 167.880005 169.679993 55209200 0.0 0.0
2023-05-01 00:00:00-04:00 169.279999 170.449997 168.639999 169.589996 52472900 0.0 0.0
2023-05-02 00:00:00-04:00 170.089996 170.350006 167.539993 168.539993 48425700 0.0 0.0
2023-05-03 00:00:00-04:00 169.500000 170.919998 167.160004 167.449997 64566300 0.0 0.0
Объяснение
Этот код использует библиотеку yfinance в Python для получения финансовых данных для определенного символа акций (в данном случае «AAPL», который представляет Apple Inc.). Затем он печатает подробную информацию о символе акции, извлекает исторические цены OHLC (открытие, максимум, минимум, закрытие) и строит график исторических цен с помощью библиотеки matplotlib.
Импортируйте необходимые библиотеки: yfinance, pandas и matplotlib. Затем объект тикера создается с использованием метода Ticker из yfinance с передачей символа акции «AAPL» в качестве параметра.
Затем переменной info присваивается словарь, возвращаемый методом Ticketer.info, который содержит подробную информацию о символе акции, такую как его имя, сектор, рыночная капитализация, соотношение P/E и т. д. Затем код печатает эту информацию в читаемом формате, используя цикл for и форматирование строки.
Переменной истории присваивается DataFrame, возвращаемый методом Ticketer.history, который извлекает исторические цены OHLC, объем и другие финансовые данные для указанного символа акции за указанный период времени (в данном случае за последний месяц). Затем эти данные распечатываются в читаемом формате.
Наконец, исторические цены отображаются с использованием matplotlib, где ось X представляет дату, а ось Y представляет цену закрытия. Перед отображением с помощью метода show графику присваивается заголовок и метки осей.
Приложения
Финансовые аналитики. Могут использовать данные Python и Yahoo Finance для исследования компаний, принятия решения о том, что покупать, и следить за их портфелями.
Алгоритмы торговли. Используя рыночные данные от Yahoo Finance в реальном времени, Python можно использовать для создания торговых алгоритмов, которые автоматически покупают и продают акции.
Анализ данных. Финансовые данные можно статистически анализировать и визуализировать с помощью Python с данными Yahoo Finance.
Заключение
Для финансовых экспертов, инвесторов и трейдеров использование Python для получения финансовых данных от Yahoo Finance является мощным инструментом. Мы можем быстро получить доступ к финансовым отчетам, информации о дивидендах, информации о дроблении и историческим данным о ценах для любых акций или финансовых инструментов, котирующихся на Yahoo Finance, используя библиотеку yfinance и класс Ticker. Python и Yahoo Finance — важный инструмент для всех, кто работает в финансовом секторе, поскольку существует бесчисленное множество возможностей для оценки и использования этих данных.