Да, конечно.

В течение 2020 года цена акций Tesla выросла с 88 до 705 долларов (~ 720%). И это несмотря на то, что выручка и прибыль увеличились только на 39% и 73% соответственно. Хотя компания Tesla, несомненно, впечатляет, этот рост цен кажется чрезмерным.

Я собираюсь сделать смелое и конкретное заявление. 4 января 2021 года, когда TSLA продавался по 730 долларов, он был существенно переоценен в 12,35 раза. Другими словами, цена закрытия Tesla должна была составить около 59 долларов.

Как я могу это утверждать? Я научил модель машинного обучения прогнозировать цены на акции.

Базовая анатомия модели

  • Набор данных: последний балансовый отчет, отчет о прибылях и убытках и отчет о движении денежных средств по ​​каждой акции S&P 1500. S&P 1500 представляет собой комбинацию S&P 500 (крупно- акции капитализации), S&P 600 (акции средней капитализации) и S&P 400 (акции малой капитализации). Из-за отсутствия данных мне пришлось отказаться от 93 акций.
  • Входные переменные (X): всего 16 различных финансовых показателей для каждой компании, взятых из последней квартальной отчетности (10Q). Подумайте о доходах, доходах, активах, выплаченных дивидендах, росте доходов и т. д.
  • Выходная переменная (Y): рыночная капитализация. Это цена акции, умноженная на количество акций в обращении. Вы можете думать о рыночной капитализации как о цене, за которую можно купить всю компанию. Рыночная капитализация Tesla в настоящее время составляет около 700 миллиардов долларов.

В следующих разделах я подробно расскажу, что такое оценка акций, как я разработал свою модель, ее недостатки и мои результаты. Чтобы увидеть только науку о данных, перейдите к разделу «Дизайн модели».

Обычная оценка запасов

Возможно, самая известная инвестиционная стратегия известна как инвестирование в стоимость. Стоимостное инвестирование, которое чаще всего ассоциируется с Бенджамином Грэмом и Уорреном Баффетом, рекомендует покупать недооцененные акции и держать их в течение длительного времени — обычно годы или десятилетия. В то время как стоимостное инвестирование концептуально просто, его реализация может быть сложной.

Как определить недооцененные акции?

Одной из основных стратегий является изучение коэффициентов оценки. Некоторые известные коэффициенты включают следующее:

Цена/прибыль (P/E)

Коэффициент P/E — это рыночная капитализация компании, деленная на ее прибыль. Хороший способ представить это соотношение — насколько дорога компания по отношению к ее годовой прибыли. С 1920-х годов P/E был наиболее известным и широко используемым показателем оценки акций. Тесла имеет коэффициент P/E примерно в 1400 раз, что означает, что для покупки компании потребуется 1400 лет годовой прибыли Теслы. Для сравнения, коэффициент P/E у Apple ближе к 40, что немного выше текущего среднего показателя по рынку.

Цена/Продажи (P/S)

Отношение P/S — это рыночная капитализация компании, деленная на ее выручку. Это соотношение становится все более важным в последние десятилетия, поскольку все больше компаний предпочитают отказываться от прибыли и вместо этого реинвестировать свои свободные деньги, чтобы расти быстрее. Например, учтите, что Amazon не получал прибыль до 2017 года. До этого P/E AMZN не имело смысла, и вместо этого было более разумно использовать P/S.

Цена/Заказ (P/B)

Отношение P/B — это рыночная капитализация компании, деленная на ее «балансовую стоимость», то есть ее активы за вычетом обязательств (долгов). Другой способ думать о «книге» — это то, сколько вы могли бы получить, закрыв компанию и продав все. P/B наиболее полезен в двух категориях: традиционные компании с большим количеством активов и компании, испытывающие финансовые затруднения. Для компаний с большим количеством активов P/B является мерой того, насколько хорошо они их используют. Таким образом, компания, которая владеет одним заводом, но зарабатывает на этом заводе много денег, скорее всего, будет иметь высокую оценку. С другой стороны, для компаний, испытывающих финансовые затруднения, P/B становится наихудшей мерой непредвиденных обстоятельств. Если компания должна закрыться, как поведут себя акционеры после продажи активов и погашения долга?

Дивидендная доходность

Дивидендная доходность немного отличается от других приведенных выше коэффициентов. Это общие годовые дивиденды, разделенные на рыночную капитализацию, поэтому числитель и знаменатель меняются местами. До 1920-х годов это был основной коэффициент оценки акций. В то время компании распределяли большую часть прибыли обратно акционерам в виде дивидендов. Сегодня крупнейшими плательщиками дивидендов, как правило, являются старые стабильные отрасли, такие как коммунальные услуги. Эти прочные и стабильные компании получают регулярную прибыль, но не могут легко реинвестировать ее.

Проблема с коэффициентами оценки

Используя приведенные выше коэффициенты оценки, мы можем понять, насколько переоценена Tesla, сравнив коэффициенты Tesla со средними рыночными показателями.

Оставляя в стороне возможность того, что цена Tesla в бесконечность раз завышена, эти цифры показывают, что TSLA стоит в 11–37 раз больше, чем она стоит в разумных пределах. Но какое соотношение является подходящим для понимания Теслы? Ответ - ни один из вышеперечисленных. Справедливая оценка Tesla — это больше, чем ее прибыль, продажи или активы. По крайней мере, для такой компании, как Tesla, мы должны учитывать ее рост. В более общем плане базовая стоимость любой компании зависит от тысячи различных факторов.

В прошлом веке, до появления компьютеров, коэффициенты оценки были единственным разумным способом оценки акций. В ту эпоху инвесторы смотрели на несколько коэффициентов оценки, решали, кажется ли цена акций «справедливой», и торговали соответственно.

С ростом компьютеризации многие профессионалы теперь не уделяют особого внимания коэффициентам оценки. Вместо этого они используют все более сложные многомерные модели. У инвесторов-любителей, к сожалению, такой возможности не было. У большей части класса нечетных лотерей, включая меня, не было иного выбора, кроме как использовать устаревшие инструменты.

Хотя маловероятно, что инвесторы-любители когда-либо смогут догнать профессионалов, мы, безусловно, можем стать лучше. Гипотетически большая часть информации, которая может повлиять на базовую оценку, содержится в финансовой отчетности компании. Затем задача состоит в том, чтобы найти способ объединить эту информацию в пригодное для использования число. Здесь на помощь приходит машинное обучение.

Дизайн модели

Данные

Финансовая отчетность публичных компаний США доступна бесплатно на сайте SEC. Компании обязаны по закону раскрывать свои финансы в ежеквартальной форме под названием 10Q. В этом документе вы можете найти их баланс, отчет о прибылях и убытках и отчет о движении денежных средств. Хотя Комиссия по ценным бумагам и биржам требует, чтобы эти данные были доступны в компьютерно-читаемой форме, анализировать их по-прежнему довольно обременительно. В результате несколько компаний начали продавать очищенные финансовые данные через API. Я использовал EODHistoricalData.

Для рыночной капитализации я использовал бесплатный (и устаревший) Yahoo Finance API.

Выбор алгоритма

Оценка цен на акции представляет собой регрессионную задачу. Мы берем набор чисел и используем его для оценки другого числа. В классе алгоритма регрессии есть несколько вариантов:

  • Линейная регрессия
  • Полиномиальная регрессия
  • Линейные SVM
  • Деревья решений
  • Нейронные сети

Оценка стоимости акций является сложной задачей. Таким образом, мои первоначальные тесты с простой линейной/полиномиальной регрессией не увенчались успехом. Линейные SVM также не увенчались успехом. С деревьями решений (в частности, с XGBoost) и нейронными сетями я наконец добился некоторого успеха. В целом XGBoost работает несколько лучше. Думаю, со временем я мог бы разработать нейронную сеть с более высокой производительностью, чем XGBoost. Но, принимая во внимание, насколько медленно обучаются нейронные сети, XGBoost был очевидным лучшим выбором.

Входные данные модели

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

  1. Отсутствие согласованности. Помимо нескольких основных статей, таких как выручка, прибыль и активы, компании удивительно отличаются в том, что они предпочитают сообщать и как они выбирают свои цифры.
  2. Переобучение. Переобучение более вероятно при наличии ограниченного набора данных. Мой набор данных содержал только 1407 отдельных точек данных.

Таким образом, учитывая большое количество финансовых показателей и небольшой набор данных, мне нужно было выбрать несколько «наиболее важных» показателей в качестве входных данных. Для этого я начал с обучения модели с максимально возможным количеством фигур — в моем случае около 60. Эта исходная модель была сильно переобучена — что было легко обнаружить. В самом простом определении переобучение — это когда ошибка теста высока по сравнению с ошибкой обучения.

Чтобы уменьшить число входных данных с 60 до 59, я использовал показатель «важность функции» модели XGBoost. Это обеспечивает ранжированный список функций по важности. Я удалил «наименее важную» функцию и переобучил. Я продолжал делать это, пока не минимизировал ошибку теста на 16 входах, перечисленных ниже:

Результаты

  • Набор данных: 1407 акций.
  • Алгоритм: XGBoost в ансамбле из 100 моделей
  • Прогоны: 100 случайных разделений теста/обучения.
  • Средний тест r²: 0,95

Ниже представлена ​​таблица некоторых акций:

В целом вывод кажется правильным. Тесла, тезка этой статьи, является самой переоцененной акцией. С другой стороны, модель идентифицирует скучные и испытывающие трудности компании, такие как Bank of America и CVS, как недооцененные.

Я называю соотношение между реальной ценой и ценовой оценкой Фундаментально подобранный оценочный коэффициент или FFER. Расчет этого коэффициента является текущим проектом. Текущие расчеты для нескольких сотен акций, обновляемые ежедневно, можно найти на ffer.io.

Проблемы с моделью/следующие шаги

Недавно я начал работать с финансовым консультантом над моделью. Мы нацелены на три конкретные области улучшения:

  1. Больше данных!= лучшие результаты. Хотя мы используем акции S&P 1500 для набора данных, мы хотели бы использовать более 6000 акций с рынка США (NYSE + Nasdaq). Однако попытка использовать этот больший набор данных отбрасывает модель. Наша гипотеза состоит в том, что S&P отбирает составляющие свои индексы частично из соображений рациональности их рыночной капитализации. Однако хорошая модель оценки акций должна быть в состоянии предсказать любую рыночную капитализацию.
  2. Дрожание модели. Учитывая, что основные финансовые показатели меняются только раз в квартал, оценки цен также не должны сильно меняться изо дня в день. Однако, поскольку рыночная капитализация меняется, сама модель также имеет тенденцию к колебаниям. Мы думаем, что это частично объясняется XGBoost, алгоритмом дерева решений. Алгоритмы дерева решений имеют репутацию более «обидчивых». Проблема может быть решена с помощью другого алгоритма или путем усреднения рыночной капитализации за несколько дней/недель.
  3. Лучшая объяснимость. Несмотря на то, что модель имеет высокое значение r², входные параметры несколько противоречивы. Некоторые из них являются абсолютными значениями, другие - отношениями, третьи кажутся повторениями. Отсутствуют, но не из-за отсутствия усилий, какие-либо входные параметры, которые фиксируют «ускорение» компании, например. изменение изменения.

Так стоит ли покупать акции Tesla?

Я бы не советовал 🙂

Скотт Роговски совместно публикует FFER — ежедневную таблицу оценок акций, полученных с помощью машинного обучения.