Опционные скрипты Simm/Real trading - v95

Автор: Option Wizard

Опционные скрипты Simm/Real trading - v95 - Wed Jan 23 2019 05:34 PM

В скриптах Simm trading и Real trading накопились определенные изменения и улучшения,
поэтому настало время выложить новую версию номер 95.

ВАЖНО: Данный скрипт создан и сохранен в TSLab v2.0.32.
Совместимость с предыдущими версиями не проверялась.

Инструменты - Проверить наличие обновлений.

Основные изменения в скрипте:
  • Добавлена возможность переключать серию опционов "на лету".
  • Добавлена возможность принудительно указать тип опциона,
    который будет использован для создания позиций.



В окне с настройками улыбки в левом верхнем углу появилась группа контролов для переключения рабочей серии опционов.
ВАЖНО: позиции в разных сериях сейчас полностью независимы,
поэтому торговать календарные комбинации КАТЕГОРИЧЕСКИ НЕЛЬЗЯ.
В противном случае Вы получите скачок дельты и неправильную работу хеджера.
Автор: Redmonk

Re: Опционные скрипты Simm/Real trading - v95 - Mon Jul 15 2019 01:40 PM

Подскажите, пожалуйста.
В скрипте Simm_Trading можно ли как-то посмотреть ГО собранной опционной позиции.

Или размер гарантийного обеспечения никак не рассчитывается?
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Mon Jul 15 2019 02:38 PM

Originally Posted By: Redmonk
Или размер гарантийного обеспечения никак не рассчитывается?


Никак не рассчитывается.
Автор: Redmonk

Re: Опционные скрипты Simm/Real trading - v95 - Tue Jul 16 2019 07:50 PM

Очень жаль.

А как тогда можно, хотя бы примерно, прикинуть какое ГО будет у набранной в симуляции позиции?

Для чего нужно: тестирую разные опционные стратегии в плане того, как TSLab их корректирует дельта-хеджем.
И хочу понять, какие стратегии лучше работают и дают заданную прибыль, исходя из размера моего реального счёта.

Например, можно собрать позицию продав 100 опционов, что даст доходность 40% годовых (в пересчёте). Но если она загрузит ГО на 90% - я не стану её реализовывать на своём торговом счёте.
Слишком рискованно.

А значит, использование такой стратегии, в принципе, не имеет смысла.

Буду искать другие сервисы, где можно рассчитать ГО набранной позиции. Хотя бы примерно в начальном варианте, без дельнейшего управления.
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Wed Jul 17 2019 02:10 PM

Originally Posted By: Redmonk
А как тогда можно, хотя бы примерно, прикинуть какое ГО будет у набранной в симуляции позиции?


Алгоритм расчета ГО является ноу-хау Биржи и детально она его не раскрывает.
Все наши (и Ваши, и других сервисов) фантазии на тему "какое было бы ГО" -- это просто фантазии.


Originally Posted By: Redmonk
Для чего нужно: тестирую разные опционные стратегии в плане того, как TSLab их корректирует дельта-хеджем.
И хочу понять, какие стратегии лучше работают и дают заданную прибыль, исходя из размера моего реального счёта.

Например, можно собрать позицию продав 100 опционов, что даст доходность 40% годовых (в пересчёте). Но если она загрузит ГО на 90% - я не стану её реализовывать на своём торговом счёте.
Слишком рискованно.

А значит, использование такой стратегии, в принципе, не имеет смысла.


Ну, если Ваша стратегия состоит в продаже 100 опционов,
то берете ГО продавца (например, 5 тыр для СИ) и получаете грубую прикидку ГО в размере 500 тыр.


В любом случае Вы НЕ будете забивать Ваш счет на 100% по ГО какими бы считалками Вы перед этим не воспользовались.
Думаю, понятно почему.


На практике Вы будете работать фиксированным сайзом. Сначала 10 лотов, потом 20, потом до 50 или 100 дойдете (на СИ).

И в процессе этой эволюции естественным образом поймете соответствует Ваш аппетит Вашему счету или перегружает его.


Originally Posted By: Redmonk
Буду искать другие сервисы, где можно рассчитать ГО набранной позиции. Хотя бы примерно в начальном варианте, без дельнейшего управления.


Если найдете -- маякните. Посмотрю из любопытства.
Раньше Option.Ru претендовал на оценку ГО,
но сейчас у него как-то совсем все тухло стало.
И это именно внешний сервис без возможности закидывать в него позиции из своей программы через публичный АПИ.
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Tue Jan 21 2020 10:51 PM

Есть вопрос по опционным скриптам. в симмуляции дельтахедж симмулируется?
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Wed Jan 22 2020 09:52 AM

Originally Posted By: Rucobor
Есть вопрос по опционным скриптам. в симмуляции дельтахедж симмулируется?


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

Бороться с этим можно указав небольшой зацеп рынка.
Обычно 1-2 шага цены достаточно, чтобы приблизиться к реальности.

С уважением.
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Thu Mar 12 2020 08:22 PM

В симуляторном скрипте никак не получается выставить режим экспирации по фиксированной дате. В режимах "по номеру" и "ближайшая" как-то само в день экспирации может переключиться на не то, что надо (часто на пустую, уже экспирнувшуюся серию)
А по фикс дате не настроить.
Как ее гвоздем к скрипту прибить?
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Thu Mar 26 2020 03:21 PM

Originally Posted By: Rucobor
В симуляторном скрипте никак не получается выставить режим экспирации по фиксированной дате. В режимах "по номеру" и "ближайшая" как-то само в день экспирации может переключиться на не то, что надо (часто на пустую, уже экспирнувшуюся серию)
А по фикс дате не настроить.
Как ее гвоздем к скрипту прибить?


Чтобы работал режим "Фиксированная дата" нужно отредактировать точную дату экспирации
в свойстве "Экспирация" == "Expiry" кубика "NearOptStream".
Параметр имеет тип "строка" с указанием времени суток.
Формат "dd-MM-yyyy HH:mm".
Без лишних пробелов по краям, без символа переноса строки в конце.


Синхронизация этого параметра с кубиками "dT" и "NearOptions" произойдет автоматически
(они соединены кубиками "Связанные параметры").


Скорее всего, этот параметр можно вынести на Панель Управления "MktPane" и сделать его редактируемым по аналогии с
редактированием даты экспирации в скрипте "HVIV RI**".
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Thu Mar 26 2020 04:08 PM

Originally Posted By: Rucobor
Как ее гвоздем к скрипту прибить?


Попробовал вынести фиксированную дату экспирации на контрольную панель.
Если будет возможность сообщите потом стало ли удобней использовать скрипт?
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Wed Apr 08 2020 10:24 AM

Да. Гораздо удобнее. Спасибо!
А вот еще один вопрос. В этих скриптах-симуляторах, как-то возможно сделать так, чтоб текущий доход ( общий и по результатам дельтахеджа) как-то в графически-историческом виде отображался за периоод работы скрипта?
Ну так, как это сделано в линейных скриптах тслаба.
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Wed Apr 08 2020 11:39 AM

Originally Posted By: Rucobor
Да. Гораздо удобнее. Спасибо!
А вот еще один вопрос. В этих скриптах-симуляторах, как-то возможно сделать так, чтоб текущий доход ( общий и по результатам дельтахеджа) как-то в графически-историческом виде отображался за периоод работы скрипта?
Ну так, как это сделано в линейных скриптах тслаба.


Из-за того, что опционы часто имеют большой бид-аск спред (особенно когда они ушли глубоко в деньги)
правдоподобный расчет ликвидационной стоимости позиции стандартными методами невозможен.
Опционщики сами делают оценку своей позиции на основании какой-то из своих улыбок.

В Доске Опционов профит оценивается по портфельной улыбке (зеленая).
В торговых агентах прибыль оценивается по рыночной улыбке (красная).


Самый реалистичный на мой взгляд способ построить искомый график --
настроить экспорт последнего ненулевого значения кубика
TotalProfit во внешний ЦСВ-файл (с добавлением в конец файла) или во внешнюю базу данных.



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

Хотя если правильно настроить формат ЦСВ-файла, то, как мне кажется,
его можно будет напрямую использовать как источник для текстового поставщика .
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Thu Apr 09 2020 08:41 PM

Спасибо. Непросто..
А если как-то выводить в график финрез только дельтахеджа? то есть работы только фьючей, в рамках стратегии агента?
Автор: ly0ka

Re: Опционные скрипты Simm/Real trading - v95 - Thu Apr 09 2020 10:42 PM

Текущее значение через кубик "Доход за все время"?
Но если данные за весь период дх, то скорее всего внутри самого агента никак, он ведь работает по последним 4 барам
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Sun Apr 12 2020 07:26 PM

Вопрос такой возник. Обнаружились в скрипте вкладки с графиками Дельты и Гаммы. А график Тетты каким-то заклинанием в скрипт можно вызвать?
И еще. Возможно-ли на такой панели создать свой график из греков по своим формулам?
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Mon Apr 13 2020 01:08 AM

Originally Posted By: Rucobor
А график Тетты каким-то заклинанием в скрипт можно вызвать?


С тетой всё сложно.
Готового кубика нет.
Только если Вы сами на сишарп напишите. (Или закажете)


Originally Posted By: Rucobor
Возможно-ли на такой панели создать свой график из греков по своим формулам?


Вы можете создать новое Окно, на него кинуть новую Панель Холста.
И на этой панели можете рисовать совершенно всё что угодно.

Главное, чтобы кубик-источник подготовил данные в формате InteractiveSeries или Double2N.


PS Если у Вас есть на руках 2 числовые серии (два индикатора), их можно слепить в требуемый формат.
Одну серию объявить иксом, вторую -- игреком.
Для этого специальный кубик есть (вылетело из головы название по причине поздней ночи).
Если Вам такой режим использования актуален, маякните.
Подскажу как он точно назван.
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Mon Apr 13 2020 06:21 PM

Originally Posted By: Option Wizard
про кубик


Да. такой режим подходит. буду пробовать. Намекните, что за кубик
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Mon Apr 13 2020 06:23 PM

Вопросище тут назрел по скрипту симуляции (если так работает и в реале, тогда тихий караул..)
Пробую купить (продать) опцион. Пишу кого, количество. жму старт. Скрипт покупает (продает) потом еще через несколько секунд покупает (продает) столько же.
иногда может это трижды сделать...
УЖОС!
как это побороть?

Доп. Если хочу устроить "соревнование" между агентами - ставлю количество, кого (страйк) жму на агентах Старт (по очереди через секунду примерно) - агенты покупают в двойном - тройном, четверном размере.
Как с этим бороться?
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Tue Apr 14 2020 03:48 PM

Originally Posted By: Rucobor
Originally Posted By: Option Wizard
про кубик


Да. такой режим подходит. буду пробовать. Намекните, что за кубик


В разделе кубиков "Опционы (индикаторы)".
По-английски называется "Prepare line".
По-русски "Подготовить линию".
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Tue Apr 14 2020 03:54 PM

Originally Posted By: Rucobor
Вопросище тут назрел по скрипту симуляции (если так работает и в реале, тогда тихий караул..)
Пробую купить (продать) опцион. Пишу кого, количество. жму старт. Скрипт покупает (продает) потом еще через несколько секунд покупает (продает) столько же.
иногда может это трижды сделать...
УЖОС!
как это побороть?

Доп. Если хочу устроить "соревнование" между агентами - ставлю количество, кого (страйк) жму на агентах Старт (по очереди через секунду примерно) - агенты покупают в двойном - тройном, четверном размере.
Как с этим бороться?


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

Мне лично удобней выставлять заявки кликом по узлам "Котировочной улыбки" (бежевая).


И нет, в реальности всё четко.
Дело в том, что в режиме симуляции мы исполняем виртуальную заявку моментально по цене заявки полным объёмом.
А в режиме реальной торговли создаётся Задача Котирования,
и уже следующим шагом ЗК выставит реальную заявку в стакан.

Одна Задача Котирования ставит только 1 заявку в стакан.
На одном страйке в одном типе инструмента (колл/пут) в одном направлении (бай/селл)
может быть только одна Задача Котирования.
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Wed Apr 15 2020 12:46 AM

Originally Posted By: Option Wizard

Одна Задача Котирования ставит только 1 заявку в стакан.
На одном страйке в одном типе инструмента (колл/пут) в одном направлении (бай/селл)
может быть только одна Задача Котирования.

Значит, когда я с небольшим временным промежутком ставлю задачу в одном агенте котировать и в другом, то это не должно никак отразиться на котировках в другом агенте?
А то создавалось такое впечатление, что они принимают заявки от других агентов за свои и исполняю, накручивая объем позы.
Хотя.. когда это делаешь в одном агенте, то часто все равно исполняется дважды и трижды.. хз, отчего..
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Wed Apr 15 2020 12:56 PM

Ну вот. Однократное нажатие на старт с целью продать 10 колов 107500 привело к продаже 60-ти колов...(

Это из лога агента.
15.04.2020 12:49:31 100 [T1604-0HV:PosMan] VIRTUAL BUY 5 RIM0 @ 107470
15.04.2020 12:49:31 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:5; px:107470; sec:RIM0:FORTS: Фьючерсы
15.04.2020 12:49:31 100 F:107470; Delta:-4.83055459564549; TargetDelta:0
15.04.2020 12:49:21 100 Qty:-10; IV:0.00 %+0; dT:0.00569255479969766; Mode:Relative
15.04.2020 12:49:21 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:49:21 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1470
15.04.2020 12:49:21 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1470; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:49:21 100 [QuoteIv.StartButton] Strike: 107 500
15.04.2020 12:49:21 100 [T1604-0HV:PosMan] VIRTUAL BUY 5 RIM0 @ 107470
15.04.2020 12:49:21 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:5; px:107470; sec:RIM0:FORTS: Фьючерсы
15.04.2020 12:49:21 100 F:107470; Delta:-4.79749305169521; TargetDelta:0
15.04.2020 12:49:12 100 Qty:-10; IV:0.00 %+0; dT:0.00569336930174369; Mode:Relative
15.04.2020 12:49:12 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:49:12 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1490
15.04.2020 12:49:12 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1490; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:49:12 100 [QuoteIv.StartButton] Strike: 107 500
15.04.2020 12:49:12 100 [T1604-0HV:PosMan] VIRTUAL BUY 5 RIM0 @ 107500
15.04.2020 12:49:12 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:5; px:107500; sec:RIM0:FORTS: Фьючерсы
15.04.2020 12:49:12 100 F:107500; Delta:-4.90187898241787; TargetDelta:0
15.04.2020 12:49:02 100 Qty:-10; IV:0.00 %+0; dT:0.00569418380378972; Mode:Relative
15.04.2020 12:49:02 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:49:02 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1440
15.04.2020 12:49:02 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1440; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:49:02 100 [QuoteIv.StartButton] Strike: 107 500
15.04.2020 12:49:01 100 [T1604-0HV:PosMan] VIRTUAL BUY 11 RIM0 @ 107440
15.04.2020 12:49:01 100 [T1604-0HV:PosMan] BuyAtPrice. Qty:11; px:107440; sec:RIM0:FORTS: Фьючерсы
15.04.2020 12:49:01 100 F:107440; Delta:-10.5658297014419; TargetDelta:0
15.04.2020 12:48:55 100 Qty:-10; IV:0.00 %+0; dT:0.00569499830583574; Mode:Relative
15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:48:55 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1450
15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1450; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:48:55 100 [QuoteIv.StartButton] Strike: 107 500
15.04.2020 12:48:55 100 Qty:-10; IV:0.00 %+0; dT:0.00569499830583574; Mode:Relative
15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:48:55 100 [T1604-0HV:PosMan] VIRTUAL SELL 10 RI107500BD0 @ 1450
15.04.2020 12:48:55 100 [T1604-0HV:PosMan] SellAtPrice. Qty:10; px:1450; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:48:55 100 [QuoteIv.StartButton] Strike: 107 500
15.04.2020 12:48:53 100 Qty:-10; IV:0.00 %+0; dT:0.00569581280788177; Mode:Relative
15.04.2020 12:48:53 100 [T1604-0HV:PosMan] SellVolatility. Qty:10; rIV:0.00 %; sec:RI107500BD0:FORTS: Опционы
15.04.2020 12:48:53 100 [QuoteIv.StartButton] Strike: 107 500

P.S. Что-то не получается с чарты улыбки нажатием на котировки продать/купить. Как это делается? Щелкал, щелкал - оно никак...

P.P.S. Пардон, но не знаю, как код и логи тут в бокс взять, чтоб полотенцем не выкладывалось
Автор: Option Wizard

Re: Опционные скрипты Simm/Real trading - v95 - Fri Apr 17 2020 12:48 AM

1) Если в торговом агенте установлена блокировка торговли,
то он будет игнорировать нажатия на бежевую улыбку.
Другое дело, что он и нажатие на кнопку "Start" тогда должен игнорировать.

Это стандартный скрипт или Вы его модифицировали/меняли настройки исполнения?
Или нарисовали свой алгоритм с нуля?


2) Ерунда какая-то.
Судя по этому фрагменту лога один Ваш скрипт после нажатия одной единственной кнопки
6 раз исполнился?

Думаю, "по фотографии" Вам ничего внятного не скажу.
Нужно писать в саппорт с журналом программы и по возможности примером глючного торгового скрипта,
который себя так странно ведет.
Автор: Rucobor

Re: Опционные скрипты Simm/Real trading - v95 - Sat Apr 18 2020 06:34 PM

Originally Posted By: Option Wizard

Это стандартный скрипт или Вы его модифицировали/меняли настройки исполнения?
Или нарисовали свой алгоритм с нуля?


2) Ерунда какая-то.
Судя по этому фрагменту лога один Ваш скрипт после нажатия одной единственной кнопки
6 раз исполнился?

Думаю, "по фотографии" Вам ничего внятного не скажу.
Нужно писать в саппорт с журналом программы и по возможности примером глючного торгового скрипта,
который себя так странно ведет.

Скрипт стандартный (101-й Simm)
В саппорт написать можно, но я как-то думал что скрипты - не дело саппорта. Скажут - как написали - так и работает...