Проект выполнен Даниэлем Дабдубом и Иманолом Ресио Эркисиа. Вы можете найти код этого проекта здесь.

«Инвестирование в фондовый рынок. Это звучит здорово! Я попробую ».

Это обычная фраза, которую каждый новичок (включая меня и, возможно, вас тоже) произносит, когда в первый раз слушает историю успеха миллионера, читает статью о том, как цены следующих 10 компаний взлетят в этом году, или когда смотрел Big Short и ничего не понял.

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

  • В какие компании мне следует инвестировать?
  • лучшая стратегия инвестирования в фондовый рынок.
  • инвестирование в фондовый рынок для чайников.
  • научитесь торговать за 59 минут
  • Безопасно ли инвестировать в фондовый рынок?

Вы ошеломлены, понимаете, что информации слишком много (примерно 985 000 000 результатов), поэтому задаете последний вопрос: «Что мне нужно знать, прежде чем делать свои первые инвестиции на фондовом рынке?»

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

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

Это означает, что наша цель не будет заключаться в создании сложных моделей, которые достигают точности 99% и гарантируют каждому пользователю успешное вложение (предупреждение о спойлере: при инвестировании нет такой вещи, как гарантии, поскольку всегда есть определенный риск) . Вместо этого мы сосредоточимся на создании интерпретируемых моделей и идей, которые могут помочь пользователям и читателям вдохновлять и проводить собственный анализ, следуя нашему подходу.

Подводя итог, мы хотим создать модель, чтобы приблизить фондовые рынки к более широкому кругу людей, сделав их более доступными. Так родился AI Learn to Invest.

Кто такая команда AI-Learn to Invest?
Иманол Ресио Эркисиа:
Бывшая лабораторная крыса переработана в кодировщика, а с субботы - любитель науки о данных .
Дэниел Дабдуб:
Любопытный инженер и энтузиаст данных.

Разработанная нами методология была следующей:

  1. Смоделируйте набор данных транзакций (инвестиций), совершенных за последние 10 лет. Важно отметить, что даты, горизонты, компании и суммы инвестиций были сгенерированы случайным образом. Мы вернемся к этому позже.
  2. Читайте, задавайте вопросы и исследуйте, какие переменные часто используются для оценки инвестиционных решений.
  3. Соберите и извлеките нужные данные и переменные. Затем создайте набор данных, который будет использоваться для оценки поведения всех этих переменных при моделировании инвестиций.
  4. Применяйте методы машинного обучения для создания моделей и определения важности функций. Какие переменные самые важные?
  5. Проанализируйте набор данных и извлеките из него интересную информацию, а также о производительности построенных моделей.
  6. Запустите модель на сервере Flask и проверьте, работает ли она в среде сервер-клиент.

1 - Моделирование набора данных транзакции.

Для начала нам нужен был набор предыдущих инвестиций, чтобы мы могли их проанализировать и извлечь из них уроки. Итак, мы решили смоделировать инвестиции за последние 10 лет и выбрать случайным образом все параметры, необходимые для этих инвестиций (компания, инвестиционный горизонт, дата покупки и сумма инвестиций). Не измеряя какое-либо соотношение и не исследуя лучшие стратегии или компании, в которые можно инвестировать, мы смоделировали некоторые довольно хорошие инвестиции (а также некоторые ужасные инвестиции, чтобы сделать наш набор данных более реалистичным). На этапе анализа:

Из 405 000 смоделированных инвестиций нам удалось получить ХОРОШУЮ доходность (процентную доходность, по крайней мере, превышающую уровень инфляции) в 35% наших случаев.

Учитывая сумму, которую мы инвестировали в каждую транзакцию, цифры весьма интересны: с вложенными 3 286 миллионами долларов нам удалось получить прибыль в размере 233 миллионов долларов. Средняя доходность нашего портфеля составляет 7%. Неплохо.

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

«Гипотеза эффективного рынка, представленная Фамой (1995), предполагает, что на эффективных информационных рынках цены на акции ведут себя как случайное блуждание, и невозможно предсказать направление и изменение величины».

Таким образом, результат вложения неизвестен, и иногда его можно объяснить удачей.

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

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

1.1. - Изучите ключевые переменные

На этом этапе мы оценили наличие множества инвестиционных стратегий (фундаментальный анализ, технический анализ, влияние новостей и т. Д.) И, следовательно, множество переменных, которые можно было бы рассмотреть. «Полный подход» к оценке всех категорий переменных мог бы быть следующим:

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

Важно отметить, что попытка включить множество переменных может привести к слишком большому шуму в вашем проекте (не все переменные приведут вас в одном направлении).

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

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

  1. Коэффициент PE: (Цена к прибыли) показывает, сколько инвесторы в акции платят за каждый доллар прибыли. Базовое определение коэффициента P / E - это цена акции, деленная на прибыль на акцию (EPS). Коэффициент PE - это простой способ оценить, переоценена или недооценена акция.
  2. EPS: (прибыль на акцию) EPS - это конечный показатель прибыльности компании, который в основном определяется как чистая прибыль, деленная на количество акций в обращении.
  3. Коэффициент PS: (Цена к продажам) измеряет стоимость акций компании по отношению к ее выручке.
  4. Соотношение PB: (Цена к балансовой стоимости) Отношение цены к балансовой стоимости используется для сравнения текущей рыночной цены компании с ее балансовой стоимостью. Фаворит для стоимостных инвесторов, поскольку балансовая стоимость является более ощутимой оценкой компании, чем их прибыль. В то время как рыночная стоимость компании, также известная как рыночная капитализация компании, определяется финансовыми рынками, балансовая стоимость компании определяется на балансе компании. Балансовая стоимость буквально означает стоимость компании в соответствии с ее бухгалтерскими книгами, то есть ее финансовой отчетностью.
  5. Коэффициент текущей ликвидности. Коэффициент текущей ликвидности - это коэффициент ликвидности, который измеряет способность компании погашать краткосрочные обязательства без дополнительных продаж или привлечения дополнительных долгов.
  6. Коэффициент ROE: Рентабельность капитала может быть определена как сумма чистой прибыли, возвращаемой как процент от акционерного капитала. Рентабельность собственного капитала измеряет прибыльность корпорации, показывая, какую прибыль компания получает с деньгами, вложенными акционерами.
  7. ROA: Рентабельность активов можно определить как показатель того, насколько прибыльна компания по отношению к ее совокупным активам. Он говорит нам, насколько эффективно фирма использует свои активы. Чем выше рентабельность инвестиций, тем эффективнее и продуктивнее компания использует ресурсы.
  8. Маржа чистой прибыли: Маржа чистой прибыли можно определить как чистый доход как часть общего дохода от продаж.

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

10. Коэффициент Шарпа. Эта переменная помогает инвесторам понять доходность инвестиций по сравнению с их риском и является наиболее широко используемым методом расчета доходности с поправкой на риск. Коэффициент Шарпа часто используется для сравнения изменения общих характеристик риска и доходности, когда новый актив (например, акция) добавляется в портфель (вашу коллекцию инвестиций).

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

12. Рейтинг рисков ESG: Критерии экологического, социального и корпоративного управления (ESG) становятся все более популярным способом для инвесторов оценивать компании, в которые они могли бы инвестировать. Рейтинг рисков ESG измеряет подверженность компании существенным отраслевым рискам ESG и то, насколько хорошо компания управляет этими рисками.

1.2. - Извлечение данных

Цены

Когда вы хотите что-то купить, на что вы в первую очередь смотрите? Цена. Вы хотите, чтобы он был низким, чтобы ваши расходы были низкими.

Когда вы хотите что-то продать, что является ключевым элементом в процессе продажи? Цена. Вы хотите, чтобы он был достаточно высоким, чтобы вы могли получить от него прибыль.

Как видите, знание цен акций и их изменений (их взлетов и падений) является фундаментальной частью инвестиционной головоломки. В этом проекте мы определили 28 компаний из разных отраслей и извлекли стоимость их акций на каждый день за последние 10 лет. Удивительный пакет под названием pandas_datareader помог нам справиться с этим сбором данных.

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

Соотношения.

Когда наши параметры инвестирования установлены, собраны цены и рассчитана прибыль. Нам просто нужно собрать переменные, о которых мы упоминали ранее.

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

2 - Моделирование машинного обучения.

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

2.1. Исследовательский анализ данных (EDA)

Во-первых, нам нужно подготовить и очистить наш набор данных.

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

2.2. Исследование модели

Первым шагом было изучение возможной корреляции между нашими переменными, как это показано на карте корреляции (рисунок x). Никакой существенной корреляции между нашей переменной-меткой и остальными столбцами не обнаружено. Корреляция между компанией и сектором более чем оправдана одним только определением этих переменных.

2.3. Реализация дерева решений

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

Просто установив уровень глубины в 4, мы получим 0,71 точности теста с долей обучения 1/3. Вот так выглядит дерево решений. Каждый узел показывает зеленым цветом хорошие инвестиции, а желтым - плохие.

3 - Анализ и выводы.

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

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

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

На графике выше мы видим, как наблюдается тенденция к увеличению% ХОРОШИХ инвестиций по мере увеличения горизонта (в днях).

Затем мы проверили наше дерево решений и спросили его мнение. Очевидно, что на последнем уровне, даже если ожидаемая доходность была ниже его порогового значения в 3%, если ваши инвестиции продолжаются более 630 дней ... скорее всего, ваши инвестиции будут ХОРОШИМИ.

Остальные 3 идеи касаются 3 наиболее важных особенностей, обнаруженных моделью.

Коэффициент PE. Он считается одним из наиболее часто используемых коэффициентов для оценки компаний, поэтому обнаружение, что это переменная, оказывающая наибольшее влияние на целевую переменную, может много значить! Мы спросили друга, более опытного в финансах, чем мы, и он предложил нам эмпирическое правило при анализе этого коэффициента: если коэффициент PE> 35, это означает, что компания переоценена, поэтому постарайтесь не инвестировать туда. Иначе, если коэффициент PE

Наш друг совсем не ошибся! Большинство ХОРОШИХ инвестиций случаются, когда коэффициент PE ниже… что означает, что компании вначале недооценены.

Что по этому поводу думает наше дерево решений?

Как видно из фрагмента дерева выше, на 3-м уровне дерево устанавливает порог 27,45! Все инвестиции ниже этого порога с большей вероятностью станут ХОРОШИМИ инвестициями (посмотрите, где в кружках больше зеленого, чем желтого).

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

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

Маржа чистой прибыли показывает, получает компания прибыль или нет. Базовый коэффициент, но его следует проверять всякий раз, когда вы думаете об инвестировании в компанию. Эта переменная заняла 3-е место в нашем списке важных функций. Кроме того, проверив дерево решений, он рассчитал порог в 11,86% для определения того, могут ли инвестиции быть ХОРОШИМИ или ПЛОХОЙ.

Вы бы инвестировали в компанию, у которой нет хорошей прибыли? Думаю об этом.

ВАЖНО ПОМНИТЬ. С учетом большей части идей, изложенных в этой статье, мы должны быть осторожны с переоснащением модели и думать, что найденные закономерности могут быть идеально обобщены ... Сказав это, я призываю вас бросить вызов этому анализу, провести больше экспериментов с этими подходами. и дайте нам знать, если вы придете к более обоснованным выводам (или совершенно другим!).

4 - Размещение модели на сервере REST API.

В итоге мы развернули нашу модель дерева решений и разместили ее на сервере, созданном с помощью Flask. Мы проверили с помощью Postman REST API, что можем запускать петиции к API, и получили json-обещание с информацией о предсказании нашей модели.

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

5 - Выводы.

  • Коэффициент PE, ожидаемая годовая доходность и коэффициент чистой прибыли являются наиболее важными переменными при прогнозировании того, станет ли инвестиция зеленой или красной.
  • Инвестируйте в долгосрочную перспективу. Будьте терпеливы, будут хорошие вещи.
  • Случайность имеет силу! не бойтесь не знать точно, как будут работать ваши инвестиции. Возможно, вам повезет (или нет!), Но одно можно сказать наверняка: вы не сможете на 100% предсказать рынок, поэтому не расстраивайтесь. Анализируйте, спрашивайте совета, доверяйте своей интуиции и инвестируйте в соответствии со своими жизненными целями!
  • И последнее, но не менее важное: AI Learn to Invest предстоит пройти долгий путь в будущее!

6 - Дальнейшая работа.

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

  • Использование большего количества компаний из нескольких отраслей, поэтому анализ, выполненный по отраслям, может быть более надежным.
  • Распространите модель на другие рынки, а не только на NYSE.
  • Выбор категорий переменных, которые дополняют друг друга (и извлекают больше переменных). Затем проведите несколько экспериментов и оцените, какие модели с какими переменными имеют лучшую производительность.
  • Создание приложения AI Learn to Invest, которое делает прогнозы с использованием данных в реальном времени (и нашей модели прогнозирования с точностью не 99%!)

7 - Благодарности.

Мы благодарим организацию Суббота.АИ и всех наставников, которые были у нас за эти недели, за отличную академическую подготовку и полученную поддержку.

8 - Ссылки.

Данные:

Https://www.macrotrends.net/stocks/charts/MSFT/microsoft

h ttps: //www.macrotrends.net/formulas-definitions

Https://www.sustainalytics.com/esg-rating/apple-inc/1007903183/

Рекомендуется:

Https://www.forbes.com/sites/rickferri/2012/12/20/any-monkey-can-beat-the-market/?sh=6b55bc7e630a

Https://www.youtube.com/watch?v=_vdB7gphtyo

Вдохновение и идеи для проекта:

Машинное обучение для исследования факторов. Авторы Гийом Кокере и Тони Гуида (https://www.mlfactor.com/)

Прогноз движения фондового рынка: систематический обзор, О. Бустос и А. Помарес-Кимбайя. (Https://www.researchgate.net/publication/340800865_Stock_Market_Movement_Forecast_A_Systematic_Review)

Https://towardsdatascience.com/portfolio-optimization-with-numpy-93e1428525a5