Использование НЛП, чтобы проникнуть внутрь разума Уоррена Баффета, часть 2

Анализ частот и настроений.

В части 1 я использовал трансформеров, обученных задаче Вопросы и ответы, чтобы ответить на вопрос: Может ли модель машинного обучения отвечать на вопросы о финансах и экономике?. Если вы еще не читали эту статью, не теряйте больше времени и нажмите здесь, чтобы прочитать ее.

В этой статье я буду использовать техники НЛП, чтобы ответить на вопросы:

1. Каковы наиболее часто используемые термины "шведский стол" и менялись ли эти термины с течением времени?

2. Как он относился к экономике и фондовому рынку на протяжении многих лет?

Каковы наиболее часто используемые термины «шведский стол» и менялись ли эти термины с течением времени?

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

Сначала я объединил текст из всех букв от 1977 до 2020 и построил облако слов. Облако слов — это визуальное представление, в котором размер слов указывает на их частоту в тексте.

Облако слов

Слова заработок и акции выделены буквами, как и ожидалось, поскольку их основной бизнес заключается в том, чтобы зарабатывать деньги на акциях, но есть и другие интересные слова, которые также имеют большое значение: страхование и Geico. Показывая, как Баффет действительно любит страховой сектор, и подтверждает это интервью Forbes, когда он сказал, что Geico была инвестицией номер 1 в его жизни.

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

Тепловая карта частоты

Основываясь на наиболее часто используемых словах в письмах, я построил тепловую карту, чтобы увидеть, произошли ли изменения в речи Уоррена за эти годы или он остался неизменным.

Мы можем заметить, что слова страхование, акционер, прибыль, убыток и акции очень сильно присутствовали в письмах на протяжении анализируемых лет. Слово CEO стало более постоянно появляться в письмах только с середины 90-х годов.

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

Еще одним выдающимся моментом является 1995 год в ряду акций, когда обсуждалось создание класса B акций Berkshire. Поскольку это было важное решение компании, которое должно было повлиять на всех инвесторов Berkshire, ему пришлось объяснить, как это творение будет работать. Вот почему в том году чаще использовался термин акции.

В строке облигации мы видим основные события в 1984 и 2008 годах. В 1984 году он написал об обосновании своих инвестиций в покупку облигаций. В 2008 году он писал о рынке страхования необлагаемых налогом облигаций.

Но поскольку мы не увидели какой-либо четкой закономерности в письмах на этой тепловой карте, я сгруппировал данные по 5-летнему периоду, чтобы проанализировать, возникает ли какая-либо закономерность.

Даже сгруппировав тепловую карту, мы смогли увидеть тенденцию только в строке CEO row, где частота с годами увеличивалась.

Но почему Уоррен Баффет стал чаще употреблять в письмах слово CEO?

Углубившись в жизнь Баффета, я обнаружил, что он начал свою инвестиционную стратегию с покупки компаний окурков.

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

Руководители компаний, производящих сигарные окурки, не играли значительной роли в инвестициях, поскольку намерением Баффета в таких компаниях было получение прибыли только в краткосрочной перспективе. Но его партнер Чарли Мангер убедил Баффета изменить свою инвестиционную стратегию и сосредоточиться на инвестициях в стоимость (стратегия, которая включает в себя выбор акций, которые торгуются по цене ниже их внутренней или балансовой стоимости). Для стоимостных инвесторов, которые сосредоточены на долгосрочных результатах, большую роль в том, стоит ли инвестировать в нее, играет то, кто является генеральным директором компании.

Это изменение в инвестиционном мышлении Уоррена произошло в конце 80-х, как он писал в письме 1989 года:

"Но теперь, покупая компании или обыкновенные акции, мы ищем первоклассные предприятия с первоклассным менеджментом".

Таким образом, вероятной причиной более частого использования Баффетом слова «генеральный директор» было изменение его инвестиционной стратегии с покупки компаний, производящих окурки, на покупку акций.

После этого я попытался узнать мнение Баффета о некоторых актуальных в настоящее время темах, таких как биткойн, блокчейн, криптовалюта, форекс, опционы, искусственный интеллект, ESG, Tesla и FAANG. Но эти термины никогда не появлялись в его письмах. Подтверждение его концепции «круга компетенций». Круг компетентности — это когда инвестор придерживается известных ему областей при принятии решения о том, в какие компании инвестировать.

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

Как он относился к экономике и фондовому рынку на протяжении многих лет?

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

Чтобы выполнить этот анализ, я снова воспользовался мощью преобразователей, на этот раз используя предварительно обученный конвейер анализа настроений, а также использовал Анализатор интенсивности настроений с помощью VADER (Valence Aware Dictionary). для рассуждения о чувствах), чтобы увидеть, есть ли какая-либо разница между этими двумя методами.

Что такое анализ тональности?

Анализ настроений или анализ мнений — это подмножество НЛП, которое пытается определить, является ли текст положительным, отрицательным или нейтральным (некоторые анализы настроений классифицируют текст только как положительный или отрицательный).

Анализ настроений с помощью Transformers

Использовать предварительно обученный преобразователь в задаче анализа тональности в Python несложно. С помощью 3 строк кода вы можете начать классифицировать свои предложения на отрицательные и положительные.

>>> from transformers import pipeline
>>> classifier = pipeline('sentiment-analysis')
>>> classifier('We are very happy to show you the 🤗 Transformers library.')
[{'label': 'POSITIVE', 'score': 0.9997795224189758}]

Результатом конвейера анализа настроений является словарь с положительной или отрицательной оценкой, которая в сумме составляет 1.

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

Наконец, я рисую результаты на графике тепловой карты.

Эта тепловая карта меня удивила, так как модель оценивала большинство лет как отрицательные. Годы 2001 и 2008 были более негативными, вероятно, из-за 11 сентября 2001 года и финансового кризиса 2008 года.

Еще одним интересным фактом является то, что рейтинг письма 2020 года был скорее положительным, чем отрицательным, несмотря на пандемию. В конце концов, как мы видим сегодня, мнение Баффетта было правильным, потому что с самого дна цен на акции 20 марта 2020 года до сих пор S&P 500 уже вырос более чем на 70%, поэтому «Никогда не ставьте против Америки'.

Анализ настроений Ngrams

Для реализации анализа тональности Ngrams я использовал пакет nltk, чтобы получить 20 наиболее часто встречающихся униграмм, биграмм, триграмм и квадрограмм из текстов всех букв, и использовал преобразователь для классификации ngrams на положительные и отрицательные.

Вы можете увидеть результат на графике ниже. Положительные энграммы выделены слева синим цветом, а отрицательные справа красным. Интересно отметить, что, за исключением энграмм, содержащих слово loss, все остальные отрицательные энграммы не кажутся отрицательными, например униграммы geico и stock.

Анализ тональности с использованием анализатора интенсивности тональности VADER

VADER (Valence Aware Dictionary and sEntiment Reasoner) – это основанный на лексике и правилах инструмент для анализа настроений, который специально адаптирован к настроениям, выраженным в социальных сетях.

Модель, использующая метод VADER анализатора интенсивности настроений (SIA), классифицирует тексты по 3 категориям: отрицательные, положительные и нейтральные. Процесс анализа писем проходил по тем же шагам, что и преобразователь, изменяя только технику, используемую для расчета тональности, и результат показан на тепловой карте ниже.

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

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

Вывод

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

Вы можете проверить код, использованный для написания этого поста, в моем репозитории Github. Не стесняйтесь обращаться ко мне с любыми комментариями в моей учетной записи Linkedin и благодарю вас за чтение этого поста.

Если вам нравится то, что вы читаете, обязательно 👏 это ниже, поделитесь им с друзьями и подпишитесь на меня, чтобы не пропустить эту серию постов.

использованная литература