Поиск по сайту:

Получите финансовые данные от 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 — важный инструмент для всех, кто работает в финансовом секторе, поскольку существует бесчисленное множество возможностей для оценки и использования этих данных.

Статьи по данной тематике: