Да, конечно.
В течение 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, есть сотни цифр, свидетельствующих о финансовом состоянии компании. В идеале я бы предпочел использовать их все в качестве входных данных модели. Однако мне нужно было ограничить количество входных данных по двум причинам:
- Отсутствие согласованности. Помимо нескольких основных статей, таких как выручка, прибыль и активы, компании удивительно отличаются в том, что они предпочитают сообщать и как они выбирают свои цифры.
- Переобучение. Переобучение более вероятно при наличии ограниченного набора данных. Мой набор данных содержал только 1407 отдельных точек данных.
Таким образом, учитывая большое количество финансовых показателей и небольшой набор данных, мне нужно было выбрать несколько «наиболее важных» показателей в качестве входных данных. Для этого я начал с обучения модели с максимально возможным количеством фигур — в моем случае около 60. Эта исходная модель была сильно переобучена — что было легко обнаружить. В самом простом определении переобучение — это когда ошибка теста высока по сравнению с ошибкой обучения.
Чтобы уменьшить число входных данных с 60 до 59, я использовал показатель «важность функции» модели XGBoost. Это обеспечивает ранжированный список функций по важности. Я удалил «наименее важную» функцию и переобучил. Я продолжал делать это, пока не минимизировал ошибку теста на 16 входах, перечисленных ниже:
Результаты
- Набор данных: 1407 акций.
- Алгоритм: XGBoost в ансамбле из 100 моделей
- Прогоны: 100 случайных разделений теста/обучения.
- Средний тест r²: 0,95
Ниже представлена таблица некоторых акций:
В целом вывод кажется правильным. Тесла, тезка этой статьи, является самой переоцененной акцией. С другой стороны, модель идентифицирует скучные и испытывающие трудности компании, такие как Bank of America и CVS, как недооцененные.
Я называю соотношение между реальной ценой и ценовой оценкой Фундаментально подобранный оценочный коэффициент или FFER. Расчет этого коэффициента является текущим проектом. Текущие расчеты для нескольких сотен акций, обновляемые ежедневно, можно найти на ffer.io.
Проблемы с моделью/следующие шаги
Недавно я начал работать с финансовым консультантом над моделью. Мы нацелены на три конкретные области улучшения:
- Больше данных!= лучшие результаты. Хотя мы используем акции S&P 1500 для набора данных, мы хотели бы использовать более 6000 акций с рынка США (NYSE + Nasdaq). Однако попытка использовать этот больший набор данных отбрасывает модель. Наша гипотеза состоит в том, что S&P отбирает составляющие свои индексы частично из соображений рациональности их рыночной капитализации. Однако хорошая модель оценки акций должна быть в состоянии предсказать любую рыночную капитализацию.
- Дрожание модели. Учитывая, что основные финансовые показатели меняются только раз в квартал, оценки цен также не должны сильно меняться изо дня в день. Однако, поскольку рыночная капитализация меняется, сама модель также имеет тенденцию к колебаниям. Мы думаем, что это частично объясняется XGBoost, алгоритмом дерева решений. Алгоритмы дерева решений имеют репутацию более «обидчивых». Проблема может быть решена с помощью другого алгоритма или путем усреднения рыночной капитализации за несколько дней/недель.
- Лучшая объяснимость. Несмотря на то, что модель имеет высокое значение r², входные параметры несколько противоречивы. Некоторые из них являются абсолютными значениями, другие - отношениями, третьи кажутся повторениями. Отсутствуют, но не из-за отсутствия усилий, какие-либо входные параметры, которые фиксируют «ускорение» компании, например. изменение изменения.
Так стоит ли покупать акции Tesla?
Я бы не советовал 🙂
Скотт Роговски совместно публикует FFER — ежедневную таблицу оценок акций, полученных с помощью машинного обучения.