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)Задание: анализ финансовых показателей
Давайте решим практическую задачу на основе полученных данных:
Цель:
- Найти значения выручки (revenue), чистой прибыли (net income) и операционных расходов (operating expenses) за последние годы.
- Представить данные в виде удобной таблицы.
- Оценить динамику чистой прибыли по годам и рассчитать её годовые темпы роста (или падения).
- Вычислить отношение долга к капиталу (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 — ключевой показатель финансовой устойчивости: чем выше, тем больше компания зависит от заемного капитала.