Проверьте этот инструмент на ntrinsically.com (бесплатно). Поддержите мой контент, узнав больше об инвестировании в стоимость, вариантах или инвестировании в рост (партнерские ссылки Amazon.com).

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

В предыдущем посте я обсуждал использование дивергенции сектора от рынка, чтобы определить, недооценен ли он по сравнению с рынком в целом. Для этого данные за десять лет из нескольких секторов были нормализованы и сопоставлены с данными S&P 500 за десять лет. Это обеспечивало значение расхождения, которое определяло, был ли сектор недооценен или переоценен. Несколько наивное предположение состоит в том, что, в конце концов, сектор сблизится с рынком либо за счет роста стоимости сектора, либо за счет снижения стоимости рынка в целом. Конечно, этого не должно произойти, что является риском в этой стратегии. Для более подробного объяснения ознакомьтесь с мой пост на эту тему.

Этот пост во многом является продолжением этого поста, и в нем будет обсуждаться метод применения этого анализа конвергенции/дивергенции к построению портфеля. Код Python предоставляется для самостоятельного запуска. Чтобы сделать это немного более удобным, я также создал инструмент на своем веб-сайте, ntrinsically.com, который можно использовать бесплатно и который автоматически создает портфолио.

Выполнение

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

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

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

Это было сделано для того, чтобы и логика построения графика, и логика построения портфеля могли использовать одни и те же расчеты дивергенции. Нет необходимости писать и поддерживать этот код в двух местах. Объяснение расчета дивергенции см. в моем предыдущем посте.

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

  1. Баланс портфеля: количество денег в портфеле.
  2. Сбалансированная доля: это процент портфеля, который должен быть в равной степени инвестирован в каждый сектор. Например, если для переменной fraction_balanced установлено значение 0,5, половина портфеля распределяется равномерно по всем секторам, а другая половина инвестируется на основе значений дивергенции секторов.

При заданных соответствующих параметрах данные по каждому сектору собираются через мою оболочку Yahoo Finance API, а расхождение рассчитывается с использованием класса Divergence выше.

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

Теперь можно вычислить распределения.

Логика распределения начинается с установки распределения текущего сектора на минимальную сумму распределения на основе размера портфеля и процента, который равномерно распределяется. Далее, если сектор имеет отрицательное значение дивергенции (т.е. сектор опустился ниже рынка), величина дивергенции определяется в процентах от суммы всех отрицательных значений дивергенции. Оставшаяся сумма (то есть размер портфеля — (размер портфеля * фракция_баланса)) умножается на этот процент, чтобы определить дополнительный доллар, который необходимо инвестировать в рассматриваемый сектор. Если сектор не отклонился от рынка, дополнительные инвестиции не производятся. Полный код можно увидеть ниже.

Онлайн-инструмент

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

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

Заключение

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

Запланируйте сеанс DDIChat в Data Science / AI / ML / DL:



Подайте заявку на участие в программе DDIChat Expert здесь.
Работайте с DDI: https://datadriveninvestor.com/collaborate
Подпишитесь на DDIntel здесь.