Продолжаем разговаривать про то, как создавать свои собственные индексы, которые никто, кроме Вас (и Ваших роботов), не видит.
Какие способы автоподбора бумаг в индекс существуют в OsEngine? На какие следует обратить внимание.
1. Бумаг много (внезапно!).
На каждой площадке обычно не одна сотня бумаг. И если нам надо собрать индекс самых расторгованных (или волатильных) бумаг по площадке, добавлять в индекс-билдер надо всю площадку. Добавлять совсем уже низколиквидный шлак не нужно (говорили об этом здесь).
В итоге Ваш список бумаг будет выглядеть как-то так:
Конечно же, для большинства типов индексов выбирать бумаги из этого списка надо автоматически.
2. Типы выбора бумаг для формулы индекса, которые есть в OsEngine.
На данных момент их четыре:
1. First in Array – выбираются первые N бумаг из списка.
2. Volume Weighted – выбираются N бумаг с самыми большими объёмами за M последних дней.
3. Max Volatility Weighted – выбираются N бумаг с самым большим показателем волатильности за M последних дней.
4. Min Volatility Weighted – выбираются N бумаг с самым низким показателем волатильности за M последних дней.
В интерфейсе Вы видите это в следующей настройке:
3. First in Array.
Означает, что сортировать ничего не нужно и надо взять просто первые бумаги из списка. Такой способ следует выбирать, только если Вы точно знаете какие бумаги у Вас будут в индексе. Например, при типе автоформулы «Cointegration», когда у нас только две бумаги. Или Вы дублируете какой-то уже известный индекс.
Выглядеть это может как-то так:
На картинке Вы видите сортировку бумаг в индекс по «First in Array» с включенным взвешиванием через «Cointegration». Из этого получается «График минимальных отклонений между двумя ценовыми рядами с оптимальным мультипликатором».
4. Volume Weighted.
В формулу выбираются N бумаг с самыми большими объёмами за M последних дней.
Выглядеть это может так:
Что здесь происходило:
1. Алгоритм отсортировал бумаги по объёму за последние 20 дней. ТОП 15 выбрал для индекса.
2. Далее произошло равномерное взвешивание (Equal Weighted) этих бумаг в формулу.
3. На выходе наш личный индекс MOEX TOP 15 с равномерным взвешиванием, который будет пересчитываться для Вас и Ваших роботов каждое утро.
5. Max Volatility Weighted.
Выбираются N бумаг с самым большим показателем волатильности за M последних дней.
Выглядеть это может так:
Что здесь происходило:
1. Алгоритм отсортировал бумаги по максимальной волатильности за последние 3 дня. ТОП 5 по скорости движения.
2. Далее произошло равномерное взвешивание (Equal Weighted) этих бумаг в формулу.
3. На выходе наш личный индекс MOEX TOP 5 по скорости движения с равномерным взвешиванием, который будет пересчитываться для Вас и Ваших роботов каждое утро.
6. Min Volatility Weighted.
Выбираются N бумаг с самым низким показателем волатильности за M последних дней.
Что здесь происходило:
1. Алгоритм отсортировал бумаги по минимальной волатильности за последние 3 дня.
2. Далее произошло равномерное взвешивание (Equal Weighted) этих бумаг в формулу.
7. Исходники в OsEngine.
Выбор бумаг для формулы индекса происходит в файле BotTabIndex, в классе IndexFormulaBuilder:
https://github.com/AlexWan/OsEngine
В методе:
* Если Вы нашли в исходниках ошибки, обязательно пишите в поддержку:
https://t.me/osengine_official_support
Удачных алгоритмов!
Комментарии