Характеристика компаний на основе финансовых показателей во время covid19

Примечание. Все коды доступны в репозитории: https://quanp.readthedocs.io/en/latest/tutorials.html

В августе 2020 года автор начал демонстрацию внедрения геномного анализа одиночных клеток (SCGA) в мире бизнеса и финансов. SCGA имеет большое количество функций (до 56k генов / функций), а также часто имеет низкие сигналы на высоком фоне. Здесь автор попытался охарактеризовать компании S&P 500 в период covid19 на основе фундаментальных финансовых показателей.

Мы знаем, что Standard & Poor's 500 или просто S&P 500 - это индекс фондового рынка, который измеряет котировки акций 500 крупных компаний, котирующиеся на фондовых биржах США. Это один из наиболее часто используемых фондовых индексов, и многие считают его одним из лучших индикаторов фондового рынка США. Это также создает разумно хорошую и достаточную совокупность акций, чтобы выбрать несколько хороших компаний для формирования инвестиционного портфеля на основе Альфы, которую мы определили.

Во время периода блокировки COVID-19 мы понимаем, что компании с сильным свободным денежным потоком и низким краткосрочным долгом (т. е. ‹1-летнее обязательство), скорее всего, выживут в период изоляции от пандемии. . Свободный денежный поток (FCF) часто определяется как чистый операционный денежный поток за вычетом капитальных затрат. С другой стороны, Коэффициенты текущей ликвидности и / или быстрой ликвидности являются хорошими индикаторами для оценки краткосрочных долговых обязательств компании.

1. Загрузите данные

Здесь мы получаем 505 компаний-членов S & P500, перечисленных в Википедии, и получаем список фундаментальных показателей для каждой компании из TD Ameritrade API (все функции доступны из инструментов quanp).

Список потенциально полезных основ / функций по: -

2. Простая предварительная обработка функций

Распределения переменных для факторного анализа / анализа основных компонентов не действуют. Однако, если переменные распределены нормально, анализируемый результат обычно улучшается (Tabachnick & Fidell, 2013). Здесь мы выполняем только 2 простых и стандартных предварительной обработки, преобразование log (x + 1) с последующим масштабированием Стандартизация.

3. Уменьшение размеров с помощью PCA.

Мы уменьшили размерность данных, запустив PCA - он выявляет основные оси вариации и снижает уровень шума в данных. Здесь мы строим диаграмму рассеяния, используя координаты первых двух основных компонентов (ПК), и пытаемся увидеть, могут ли эти 2 ПК хорошо разделить GICS_Sector компаний.

Например, кажется, что компании, занимающиеся информационными технологиями, финансами и энергетикой, можно разделить от низкого уровня PC1 к высокому.

Теперь давайте проверим вклад отдельных компьютеров в общую дисперсию данных. Это дает нам информацию о том, сколько компьютеров мы должны рассмотреть, чтобы вычислить отношения соседства ячеек, например используется в функции кластеризации qp.tl.leiden(), qp.tl.louvain() или tSNE qp.tl.tsne(). По нашему опыту, часто бывает достаточно грубой оценки количества компьютеров. Точка локтя, кажется, предполагает, что по крайней мере до PC5 будут полезны для характеристики компаний. Позже мы собираемся сделать дальнейшее уменьшение размеров на основе первых 8 ПК. Позже мы проведем факторный анализ, чтобы проверить основные функции, составляющие эти ПК, в отдельной обучающей тетради.

4. Вычисление графа окрестностей

Прежде чем мы рассмотрим графики tSNE с аннотациями секторов, давайте вычислим граф соседства компаний, используя представление матрицы данных PCA. Это приведет к увеличению расстояний и взаимосвязей в каждой компании. Здесь мы рассматриваем 10 ближайших соседей с 8 компьютерами, полученными из PCA.

5. Кластеризация графа окрестностей

Здесь мы используем метод кластеризации графов Лейдена (обнаружение сообществ на основе оптимизации модульности) Траага и др. (2018) для кластеризации графа соседства компаний, который мы уже вычислили в предыдущем разделе.

6. Дальнейшее уменьшение размеров с использованием T-распределенного стохастического соседнего вложения (tSNE).

Давайте дополнительно уменьшим размерность 8 возможных значимых компьютеров, указанных выше, полностью до 2 измерений, используя инструмент tSNE, реализованный как qp.tl.tsne(adata, n_pcs=8). Теперь мы можем отображать и просматривать аннотации лейденской кластеризации, GICS_Sector или любых финансовых показателей / функций на графиках tsne. Мы видим, что Лейденский кластер 3 хорошо соответствует финансовому сектору и отличается низким коэффициентом текущей ликвидности.

7. Дальнейшее альтернативное уменьшение размеров с использованием аппроксимации и проекции равномерного многообразия (UMAP).

Мы также можем встроить графы соседства в 2 измерения, используя UMAP (McInnes et al., 2018), см. Ниже. Потенциально он более верен глобальной связности коллектора, чем tSNE. Перед запуском UMAP мы вычисляем корреляции между кластерами как исходные позиции для UMAP.

Теперь мы можем отображать и просматривать аннотации лейденской кластеризации, GICS_Sector или любых финансовых показателей / функций на графиках UMAP. Мы видим, что Лейденский кластер 3, похоже, хорошо соответствует финансовому сектору и в основном характеризуется высокими коэффициентами currentRatio и quickRatio.

8. Иерархическая кластеризация.

Мы можем запустить qp.tl.dendrogram для вычисления иерархической кластеризации для всех идентифицированных кластеров. Здесь использовался метод расстояния по умолчанию - Евклидов. Несколько визуализаций, которые затем могут включать дендрограмму: qp.pl.matrixplot, qp.pl.heatmap, qp.pl.dotplot и qp.pl.stacked_violin. Здесь показаны примеры тепловой карты и матричных графиков.

9. Ранжируйте и визуализируйте важные особенности, которые определяют каждый кластер.

Вместо того, чтобы рассматривать все особенности кластеров, как раньше, мы можем идентифицировать функции / метрики, которые по-разному характеризуют каждый кластер. Например, мы видим, что кластер 3 (в основном состоящий из финансовых компаний, показан ниже) в значительной степени коррелирует с более высоким дивидендным доходом, операционной маржой TTM, netProfitMarginTTM, epsTTM и netProfitMarginMRQ; но более низкие значения globalMarginTTM ,rossMarginMRQ, currentRatio, quickRatio, totalCapitalToDebt и т. д.

10. Визуализация 5 основных положительных характеристик с помощью матричного графика.

Вместе с графиком ранжирования функций, приведенным выше, мы обнаруживаем, что пятью основными положительными характеристиками, связанными с компаниями кластера 1, были currentRatio, quickRatio, returnOnEquity, diverndYield и pbRatio.

Наконец, мы можем сопоставить Лейден и GICS_Sector в кросс-таблице, чтобы проверить корреляцию между определениями сектора и Лейдена. Здесь мы обнаружили, что компании кластера 3 сильно коррелируют с компаниями финансового сектора, кластер 6 - это в основном компании сектора недвижимости.

Выводы: -

В этом руководстве мы обнаружили, что кластер 3 (в основном состоящий из компаний финансового сектора) в значительной степени коррелирует с более высокой дивидендной доходностью, операционной маржойTTM, netProfitMarginTTM, epsTTM и netProfitMarginMRQ; но с более низкими значениями globalMarginTTM ,rossMarginMRQ, currentRatio, quickRatio, totalCapitalToDebt и т. д. С другой стороны, компании из кластера 1 были связаны с высокими значениями currentRatio, quickRatio, returnOnEquity, diverndYield и pbRatio.

Однако следует отметить, что такие компании, как финансовые компании, могут быть не такими уязвимыми, как компании по производству материалов / промышленности, когда они имели низкий коэффициент currentRatio / quickRatio в течение этого периода COVID19. Компании с высоким коэффициентом текущей / быстрой ликвидности - особенно те, которые перечислены в кластере 1, могут иметь более высокое преимущество в выживаемости при сравнении компаний в секторе.

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА:

Https://quanp.readthedocs.io/en/latest/tutorials.html