4  Финансовые данные по России

4.1 Финансовые данные по России

Любой количественный анализ начинается с данных. От их качества напрямую зависит достоверность результатов. Недаром в анализе данных существует выражение: «Что вложишь, то и получишь» (Garbage in — garbage out).

Перед тем как строить модели, рассчитывать риски или оптимизировать портфели, необходимо загрузить финансовые данные из надежных источников и привести их в пригодный для анализа формат.

4.2 Yahoo Finance

Вот черновик раздела на русском языке для вашей книги «Количественные финансы» — глава «Получение данных из Yahoo Finance»:


4.3 Получение данных из Yahoo Finance с помощью yfinance

Для количественного анализа в финансах критически важно иметь доступ к историческим и фундаментальным данным компаний. Один из самых удобных способов получить такие данные — использовать библиотеку yfinance, которая предоставляет доступ к данным с Yahoo Finance.

Yahoo Finance содержит широкий спектр информации: котировки акций, дивиденды, финансовую отчетность компаний (отчеты о прибылях и убытках, балансы, отчеты о движении денежных средств), данные по опционам и рекомендации аналитиков.

Установка и подключение

import yfinance as yf

Для начала работы достаточно создать объект Ticker, указав тикер интересующей компании:

AAPL = yf.Ticker("AAPL")

Теперь у нас есть доступ ко всей информации, связанной с Apple Inc.

Например, чтобы получить отчет о прибылях и убытках:

print(AAPL.financials)

Список всех доступных атрибутов можно посмотреть через:

dir(AAPL)

Задание: анализ финансовых показателей

Давайте решим практическую задачу на основе полученных данных:

Цель:

  1. Найти значения выручки (revenue), чистой прибыли (net income) и операционных расходов (operating expenses) за последние годы.
  2. Представить данные в виде удобной таблицы.
  3. Оценить динамику чистой прибыли по годам и рассчитать её годовые темпы роста (или падения).
  4. Вычислить отношение долга к капиталу (debt-to-equity ratio), если оно доступно в отчетности.

Пример кода:

import pandas as pd

# Получение финансовой отчетности
income_statement = AAPL.financials
balance_sheet = AAPL.balance_sheet

# Транспонируем для удобства чтения
df = income_statement.T

# Отбираем нужные строки
df_selected = df[["Total Revenue", "Net Income", "Operating Expenses"]]

# Добавим расчет изменения чистой прибыли
df_selected["Net Income YoY %"] = df_selected["Net Income"].pct_change() * 100

# Добавим расчет коэффициента debt-to-equity, если доступны данные
debt = balance_sheet.loc["Total Liab"]
equity = balance_sheet.loc["Total Stockholder Equity"]
df_selected["Debt/Equity"] = (debt / equity).values

# Округлим и отобразим
df_selected = df_selected.round(2)
df_selected

Интерпретация:

  • Выручка отражает общий объем продаж.
  • Операционные расходы показывают, сколько компания тратит на свою деятельность.
  • Чистая прибыль — итоговая прибыль после всех расходов и налогов.
  • Debt/Equity — ключевой показатель финансовой устойчивости: чем выше, тем больше компания зависит от заемного капитала.