Сегодня поговорим про равновзвешенный индекс или Equal Weighted Index. Это когда при помощи мультипликаторов, умноженных на цену, вес каждой бумаги в индексе выравнивается. В OsEngine такой тип взвешивания можно создавать в пару кликов с пересчётом один раз в час, день или неделю по любым акциям, которые есть у Вашего брокера.
1. Расчёт равновзвешенного индекса.

В момент, когда индекс пересчитывается, мы подбираем такие мультипликаторы для его цены, чтобы доля каждой бумаги была одинаковой. В данном случае по 25%, если у нас четыре бумаги.
Логика такая:
1. Для самой дорогой бумаги берём мультипликатор 1. Данная бумага у нас будет являться эталоном.
2. Для остальных бумаг подбираем такие мультипликаторы, чтобы они в данный момент были с таким же весом, что и бумага 1.
2. Складываем итоговые значения.
2. Как включить равновзвешенный индекс по цене через автоформулу в OsEngine.
В окне настроек индекса необходимо выбрать нужный тип взвешивания - Equal Weighted:

Так выглядит формула индекса, взвешенная по цене.
В итоге получаем свечной график индекса, на который можно ложить любые индикаторы из доступных в OsEngine, и с которого можно снимать торговые сигналы:
3. Исходный код.
Взвешивание индекса происходит в файле BotTabIndex в классе IndexFormulaBuilder:
https://github.com/AlexWan/OsEngine
В методе:

Логика разбита на разные типы взвешивания по методам.
Удачных алгоритмов!
P.S.
Os Engine поддержка терминала: https://t.me/osengine_official_support
Обсуждаем в телеграмме: https://t.me/o_s_a_chat
Канал проекта: https://t.me/bad_quant
Комментарии