Можем ли мы создать модели искусственного интеллекта для прогнозирования макроэкономических тенденций?

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

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

По словам одного очень известного человека, идея состоит в том, чтобы «меньше ошибаться».

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

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

Очень часто можно услышать, как бизнесмены или политические эксперты говорят о том, что составляет монотематическую предвзятость, основанную на очень ограниченной способности человеческого разума охватить лишь несколько аспектов данной темы. Здесь я пытаюсь заставить ИИ объединить тысячи сложных потоков данных (каждый из которых можно рассматривать как отдельную метрику электронной таблицы) в единый и проверяемый оракул.

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

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

Конечно, я понимаю, что исторических данных недостаточно.

Меня тоже интересует человеческое поведение. Мнения экспертов и влиятельных лиц, даже если они ошибочны, определенно влияют на человеческое поведение. Мы точно знаем, что рынки или, скорее, большие группы людей ведут себя нелогично. Тем не менее, там есть закономерности в том, как средний Джо слушает президентскую речь, наблюдает за спорами немногих ученых мужей, читает пару статей, разговаривает с друзьями на работе, смотрит несколько видеороликов с заголовком «Неминуемая авария в [вставить любые год] », слышит, что кого-то уволили, и, наконец, через несколько дней начинает продавать свои акции, совершая колоссальную инвестиционную ошибку.

Такое моделирование сложно, но достижимо. Мы уже регулярно вычитаем человеческое отношение к поисковым запросам в Google, видеороликам на YouTube о новейших инновациях Apple или Tesla, публикациям в Twitter и сообщениям в блогах. Это всем известная и проверенная технология.

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

Планируется, что каждые несколько дней я добавляю новые источники данных и продолжаю строить модели, пока не научусь что-то предсказывать. Я специально использовал слово «что-то». Я не уверен, смогу ли я предсказать конкретную цену S&P 500, но уверен, что найду закономерности в какой-то нише, и понимание на уровне волшебника может открыть двери, хотя и менее избранный путь.

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



Цели проекта

  • собрать и проанализировать как можно больше рыночных индикаторов
  • чтобы узнать закономерности и взаимодействия в данных
  • для прогнозирования рыночных тенденций на 7, 30 или 90 дней вперед
  • предсказывать конкретную цену акций
  • для создания повторно используемого кода и документирования процесса

Что такое индикаторы рынка?

Индикаторы рынка - это наборы данных (например, электронные таблицы), отражающие исторические показатели конкретной области интересов, например:

  • Индекс «S&P 500» показывает, как работают 500 основных акций в целом.
  • Индекс ISM Manufacturing показывает, насколько хорошо работает обрабатывающая промышленность.
  • Индекс ВВП (валового внутреннего продукта) показывает, как обстоят дела в стране
  • и т. д., т. д. и т. д.

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

Почему бы не использовать электронные таблицы?

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

Современные компьютеры могут обрабатывать множество «тера» операций в секунду.
Тера составляет 1 000 000 000 000. Думаю, суть ясна.

Подход к машинному обучению

Огромное преимущество машинного обучения или искусственного интеллекта (ИИ) становится очевидным, когда мы пытаемся найти тонкие закономерности в тысячах потоков данных.

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

Зачем использовать Юлию?

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

Вот несколько характеристик языка Julia:

  • Джулия современная, быстрая, элегантная, многозадачная, и очень хорошо умеет считать, конечно, мы говорим о языке программирования Джулия.
  • в отличие от C / C ++ читать и писать Julia одно удовольствие
  • он разработан в Массачусетском технологическом институте специально для научных вычислений и машинного обучения.
  • как и C, это очень быстро
  • как и Python, его очень легко выучить
  • он предназначен для параллелизма
  • он разработан для распределенных вычислений, так как однажды я могу решить запустить сотни прогнозных моделей параллельно, а не последовательно, как сейчас.

Да пребудет с тобой источник, Люк

Я ежедневно вношу изменения в код проекта.

Логический подход и код, несомненно, будут отличаться от любых примеров, которые я мог бы здесь привести. Другими словами, это каламбур Оби-Вана Кеноби: «Помни, Люк, используй источник». , изучите реальный код.

Смотрите актуальные прогнозы

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

Остальная часть проекта задокументирована по адресу:



Подпишитесь и поделитесь

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

Свяжитесь со мной через LinkedIn.

Получите доступ к экспертному обзору - Подпишитесь на DDI Intel