Закрытие опционной позиции

Вопросы по программе Plazer
Ответить
Kirill Braulov
Сообщения: 201
Зарегистрирован: Вт 18 апр 2017, 18:31

Закрытие опционной позиции

Сообщение Kirill Braulov » Сб 18 ноя 2017, 15:35

В сборке 446 добавил новую министратегию: ClosePos. Позволяет котированием закрывать любую опционную позицию, даже самую сложную. Параметры у министратегии пока такие:

ID: ClosePos
  • nstrikes - Кол-во первых страйков, которые одновременно будут котироваться на закрытие. Если указано 0 - котируются все элементы минипортфеля;
  • maxvol - Максимальный объем в одной заявке на закрытие;
  • begoffset - Начальное смещение для заявки на закрытие. Относительно теорцены биржи. Может быть отрицательным (тогда котировка будет хуже теорцены).
  • endoffset - Конечное смещение.
  • mintoend - Кол-во минут за которое смещение изменится от fBegOffset к fEndOffset.
  • range - Погрешность, в пределах которой заявки не будут передвигаться.
При старте министратегии (а также в моменты изменения состава минипортфеля) все элементы будут отсортированы по модулю гаммы (в точке страйка каждого элемента) и по первым nstrikes будут выставлены котировки на закрытие. Если кол-во контрактов в элементе превышает maxvol, то котировка будет объема maxvol. Начальное смещение от теорцены берется равным begoffset и постепенно начинает сдвигаться к endoffset. Если происходит сделка, то следующая порция будет снова выставлена на смещение begoffset. Т.е. после каждой сделки котировка как-бы отскакивает назад и опять медленно ползет к endoffset.

Пример задания министратегии:
Изображение
Здесь одновременно котируются на закрытие только первые 10 элементов минипортфеля (с самой большой гаммой). Сначала котировки будут отстоять от теорцены на 20пп. Но через минуту смещение уменьшится до нулевого. Т.е. при отсутствии сделок котировки будут переставляться ровно по теорцене биржи.

Kirill Braulov
Сообщения: 201
Зарегистрирован: Вт 18 апр 2017, 18:31

Пример использования

Сообщение Kirill Braulov » Сб 18 ноя 2017, 16:24

Рассмотрим пример использования министратегии ClosePos. Ранее, с помощью министратегии MM, на тестовом полигоне была набрана вот такая позиция:

Изображение

Вот полный состав позиции (54 элемента):

Код: Выделить всё

Si-12.17 -19537 x 59393(59436,IV=0,D=-19537),
Si-12.17M211217CA61250 -75 x 383(368,IV=13,D=-19),
Si-12.17M211217PA59750 -619 x 1357(1110,IV=12,D=337),
Si-12.17M211217PA62000 12 x 2805(2811,IV=14,D=-10),
Si-12.17M211217CA62250 -90 x 245(216,IV=14,D=-14),
Si-12.17M211217CA60750 -8 x 475(479,IV=13,D=-2),
Si-12.17M211217CA57750 -38 x 1589(1947,IV=11,D=-30),
Si-12.17M211217PA57250 1014 x 268(160,IV=11,D=-146),
Si-12.17M211217PA59500 -3566 x 930(963,IV=12,D=1794),
Si-12.17M211217PA57750 78 x 425(261,IV=11,D=-16),
Si-12.17M211217PA58750 -1227 x 688(592,IV=12,D=457),
Si-12.17M211217CA58000 9307 x 1468(1762,IV=11,D=7009),
Si-12.17M211217CA57500 23 x 2416(2141,IV=11,D=19),
Si-12.17M211217CA64000 -4129 x 107(84,IV=15,D=-278),
Si-12.17M211217CA65000 3216 x 84(49,IV=16,D=131),
Si-12.17M211217CA62500 987 x 197(189,IV=14,D=138),
Si-12.17M211217PA56750 13 x 157(93,IV=11,D=-1),
Si-12.17M211217CA62000 5116 x 284(247,IV=14,D=904),
Si-12.17M211217PA56250 -25 x 83(52,IV=11,D=1),
Si-12.17M211217PA57500 3182 x 341(205,IV=11,D=-556),
Si-12.17M211217CA60000 8409 x 723(703,IV=12,D=3490),
Si-12.17M211217CA59500 -5525 x 839(899,IV=12,D=-2745),
Si-12.17M211217PA56500 1374 x 116(70,IV=11,D=-101),
Si-12.17M211217CA59250 -147 x 848(1014,IV=12,D=-79),
Si-12.17M211217PA63000 4 x 4246(3708,IV=14,D=-4),
Si-12.17M211217CA61750 -85 x 304(282,IV=13,D=-17),
Si-12.17M211217CA61000 3664 x 439(420,IV=13,D=1014),
Si-12.17M211217CA62750 30 x 177(165,IV=14,D=4),
Si-12.17M211217CA59000 1444 x 991(1140,IV=12,D=843),
Si-12.17M211217CA58250 2126 x 1292(1589,IV=11,D=1516),
Si-12.17M211217CA63500 7874 x 136(110,IV=15,D=679),
Si-12.17M211217CA63000 3214 x 201(144,IV=14,D=353),
Si-12.17M211217PA59000 13074 x 758(704,IV=12,D=-5443),
Si-12.17M211217CA63750 20 x 118(96,IV=15,D=2),
Si-12.17M211217CA64500 2774 x 106(64,IV=15,D=145),
Si-12.17M211217CA59750 -79 x 668(796,IV=12,D=-36),
Si-12.17M211217PA58250 -1637 x 553(403,IV=11,D=470),
Si-12.17M211217PA58000 1444 x 520(326,IV=11,D=-357),
Si-12.17M211217PA60500 -1051 x 1516(1609,IV=13,D=693),
Si-12.17M211217CA60500 4195 x 616(545,IV=13,D=1431),
Si-12.17M211217PA55500 -184 x 26(21,IV=11,D=5),
Si-12.17M211217CA58750 1395 x 1048(1278,IV=12,D=875),
Si-12.17M211217PA57000 -694 x 187(123,IV=11,D=81),
Si-12.17M211217PA58500 -7144 x 733(492,IV=12,D=2352),
Si-12.17M211217PA59250 -13070 x 941(828,IV=12,D=6013),
Si-12.17M211217PA56000 -7910 x 58(38,IV=11,D=349),
Si-12.17M211217CA58500 -753 x 1161(1428,IV=12,D=-505),
Si-12.17M211217CA61500 -8186 x 313(322,IV=13,D=-1818),
Si-12.17M211217CA60250 -10 x 588(619,IV=13,D=-4),
Si-12.17M211217CA64250 510 x 97(73,IV=15,D=30),
Si-12.17M211217PA60000 -185 x 1346(1267,IV=12,D=108),
Si-12.17M211217CA57000 75 x 2458(2559,IV=11,D=66),
Si-12.17M211217PA61500 -57 x 2288(2386,IV=13,D=44),
Si-12.17M211217PA61000 -56 x 1879(1984,IV=13,D=41)
Хотя позиция хорошая, но предположим, по какой-то причине, нам потребовалось полностью ее закрыть. На момент начала эксперимента (13.11.2017) поза показывала примерно 1.7-1.8 млнр прибыли. Но прибыль эта виртуальная, оцениваемая по текущим теорценам с биржи. Если же пытаться закрывать позу по рынку, то убыток будет ужасающий. Поэтому закрывать, конечно, нужно котированием. Вручную - это невозможно. Так что делаем это с помощью вот такой министратегии:

Изображение
(отключаем министратегию MM, оставляем только дельтахедж и закрытие позы).

После запуска появляются наши котировки (большие треугольнички):
Изображение

Но с такими настройками поза разгружалась не спеша и неохотно. Поэтому пришлось форсировать и выставил endoffset=-10. Вот как стали выглядеть котировки:
Изображение

Дело пошло веселее и 17.11 позиция была полностью закрыта. Финальный PnL = +1.2 млнр. Что совсем неплохо. Учитывая, что в начальной позиции были десятки тысяч контрактов и большую часть пришлось закрывать по цене хуже теоретической. Записал анимашку, как менялась общая позиция:
Изображение

Ответить