Фрагмент из поста
Опционный робот в торговле, день 09 с описанием работы блока
Central Strike и кратким разбором цепочек вызова:
Всё начинается с источника
OPTION (через него есть доступ ко всем сериям и всем вообще опционам данного базового актива), из всех серий выбираем одну с помощью блока
NearOptStream. Серию передаём в блок
CentralStrike, который выбирает один ближний страйк.
Отдельный блок нужен потому, что мы достаточно сильно нагружаем логику выбора. Код содержит встроенную защиту от частых переключений, когда цена стоит ровно между двумя страйками; имеется логика выбора ликвидных страйков (например, у
РИ совсем скучные опционы вида
хх2 500, у
СИ совсем нечего делать в страйках
хх 250 и даже
хх 500). На выход передаётся просто число (типа double).
Затем это число передаётся на соответствующий вход котировщика (блок
SellOptions). Который и занимается выставлением заявок в заданном страйке в соответствии со своими настройками. Он может котировать только колы, только путы или одновременно. Может набирать позицию, может сдавать лишнее с учетом текущей улыбки и параметров отступа. Из этого следует, что Вы можете передавать в него любое число в качестве страйка, а он попытается исполнить вашу команду наилучшим образом.
Но вернемся к
CentralStrike. Буквально на днях данный блок получил настройку
Shift Strike, которая даёт возможность сдвинуться в соседний страйк вверх или вниз от цены. Причем делается это с учетом всех фильтров, настроенных в блоке! Например, при продаже волатильности в РИ можно решить продавать на 1-2 страйка ниже денег, поскольку эти опционы имеют более высокую IV. Или потому, что нам кажется дальнейшее снижение маловероятным.