Гном
Гном личный блог
11 июля 2014, 12:16

История одного робота. Главы 4 1/2 и 5

Глава четыре с половиной. Новая игрушка.
 
Новая версия имела целый комплекс технических решений, о которых я, при всем желании, рассказать не смогу. Просто потому, что эта программная архитектура находится за рамками моего понимания. Были полностью переработаны работы с базами, сильно ускорены и распараллелены вычисления. Но самое главное – появился SABR, по которому строилась улыбка, определялись тер-цены (а не по МА-шкам каждого из контрактов) и был очень серьезно усилен GUI.
 
Параметров и необходимой информации стало настолько много, что в интерфейсе появились вкладки. Основная – Summary – описывала все необходимые состояния рынка и робота.


 
История одного робота. Главы  4 1/2 и 5
 
Здесь были текущие значения по прибыли, комиссии, размеру счета, необходимому ГО и фьючу РТС. (Внимательный читатель заметит, что счет снова стал 2.2 млн. Увы, мартовского скрина не сохранилось, поэтому приложен конец апреля. Забегая вперед скажу, что за два месяца мы отбили лося в 600К и вывели еще 200. Новая версия полностью оправдала ожидания Мозга.)
 
— Так вот, — продолжал презентацию Мозг, — добавилось много индикаторов надежности. Введены правила, которые регламентируют, что и когда включается. Их перечень ты видишь вот тут, слева внизу. – он поводил мышкой в углу экрана и продолжал:
 
— Если сливаем больше установленного, или связь пропала, или, например, раундтрип выше среднего в критичное число раз – все заявки снимаются, и торговать прекращаем, пока все не вернется в нужные рамки, — закончил он.
 
Я одобрительно помычал.
 
— Ладно, больше тут особо смотреть нечего. Просто статистика всякая. Тебе это нафиг не нужно. – И он переключился на другую вкладку.
 
История одного робота. Главы  4 1/2 и 5
 
-Вот она, долгожданная разбивка профита. Здесь можно понять, почему и где налосили.
 
— Или заработали. — Я придвинулся поближе. Цифры были уж очень мелкие.
 
— Ну да. Значит сверху – наша основная стратегия. Она зарабатывает на спреде, поэтому в плюс идет спред-профит.
 
— Угу, — я кивнул, — это понятно.
 
— Дальше, идет результат по Веге. В большинстве случаев – он отрицательный. Нам ведь плещут, как правило, туда, куда и идет вола, а не наоборот. Например, сегодня по РИ мы налосили по Веге больше чем подняли на спреде. А вот на акциях на веге даже заработали.
 
— Ну да, логично. Там ликвидности нет, вот вола и пошла в нашу сторону без наших сделок. – согласился я.
 
— Точно. Гамма и Тета – это разнонаправленные ребята. На одном зарабатываем, на другом сливаем. Поэтому вот тут пониже – есть GT (Gamma Theta) Result – то есть что мы в итоге нахеджили фьючом против теты.
 
— Так, «Вега стратегия» – тот же принцип что и котир, тут понятно, — продолжал изучать я табличку, — а что за цифры по Underlying Hedge?
 
— Сами цифры смысла не имеют, важна разница. Это то, что робот видел как цену для хеджа и то, что он реально исполнил. Проскальзывание, короче. F-Quotation – комисс по фьючу. И биржевой комисс по опциям. Вот и выходим на итог.
 
Он довольный откинулся на кресле.
 
— Круто, — согласился я. — Давай дальше показывай, чего развалился.
 
Мозг вернулся к монитору.
 
История одного робота. Главы  4 1/2 и 5
 
— Quotation Strategy. Здесь все наши заявки. Зелененькие – значит мы лучшие в стакане. Красные – значит не лучшие. Позиция тут наша видна, объем который мы сделали сегодня, наш профит по конкретному контракту, разница с РТС, параметры ликвидности, чтобы понимать, включается он или нет.
 
— Стоп стоп, не спеши, — осадил я Мозга, — что значит включается?
 
— Ну, я добавил штуку, при которой неликвидный контракт не торгуется. Должно пройти определенное количество сделок. Нечего систему перегружать лишними транзакциями.
 
— Окей, согласились.
 
— Плюс, добавлено добавление агрессивности – если профит по контракту высокий, да еще и растет за последние пол часа – он может удвоить лимиты по этому контракту и наоборот – снизит лимиты по лосевому.
 
— Отличная тема, — согласился я.
 
— А предыдущий столбец, если не понял – это разница в оценке нашей позы с тер-ценой РТС. По сути – объяснение разницы нашего профита и присылаемой маржи.
 
— Угу
 
— Team – это пацаны, которые торгуют. Стратегии разные, кто задействован на том или ином контракте.  MV – Market Volume, сколько всего прошло на рынке коней. Например смотри, по Газпрому – у нас процентов 70 рынка.
 
— А почему какие-то строчки серенькие, как будто не активные, но заявки там все-таки стоят?
 
— Это он их вывел из активного котирования, по какой-то из причин. Дельта там, например, слишком маленькая стала или ликвидность упала. Но на закрытие позы все равно стоит, даже если контракт не активный.
 
— А последние столбцы?
 
— А, не бери в голову. Для всяких правил коэффициенты рассчитываются. Выводил чтобы баги ловить проще было.
 
Мы перешли во вкладку «Вега Стратегия».
 
История одного робота. Главы  4 1/2 и 5
 
— ну тут, как ты видишь, активные контракты – это самый центр, который закладывается вегой сильно на отдалении от тер цены. Сейчас мы в Лонге по воле. И лонге приличном. Но, вроде отходим от лоев.
 
— Вкладка волатилити, — он переключился на следующий экран, — еще особо не доделана. Есть скю, которая аджастит все расчеты для гамма/дельта хеджа и короткая, быстрая лыба. Центр старается вписаться в нее идеально, края могут нарушать. но мы их и не торгуем особо. Я сюда скоро спред добавлю, чтобы биды и аски можно было видеть.
 
История одного робота. Главы  4 1/2 и 5


— Не понял, для чего скю нужно?
 
— Ну как бы если рынок упадет, то вола вырастет на сколько-то. И наоборот. Значит надо позицию дельтахеджить с учетом этого эффекта уже сейчас. Есть некоторый объяснимый скю, минимальный, который можно даже логарифмической шкалой объяснить, и есть необъяснимый. Первый – мы предсказываем, и например при продаже путов – встаем в чуть-чуть больший шорт чем говорит стандартный Блэк-Шоулс. Короче не спорь. Так точнее, — заключил он и переключился на следующую вкладку.
 
История одного робота. Главы  4 1/2 и 5
 
— Анализ позиции. Теперь хоть видно, какой профиль портфеля. Ну и всякие там греки можно будет строить.
 
История одного робота. Главы  4 1/2 и 5
 
— Гамма – это собственно как мы гамму хеджим. И нарисованы ее расчетные уровни, когда надо делать сделку. И, собственно, все!
 
 
— Отлично сработано, партнер, — с восхищением сказал я. – выглядит очень круто. Посмотрим, как торгует.
 
— Да, по торговле конечно тоже много чего пропатчилось. Я сделал лимиты на Вегу по путам и на Вегу по коллам, чтобы не мешать их. Также, есть на общую Вегу, чтобы параллельный шифт не словить. Введена функция разгрузки.
 
— Это еще что за зверь?
 
— Если мы набираем Вегу, и робот видит, что есть чья-то заявка чтобы закрыть позу по терцене, то он в нее бьет. Нам же выгодно закрыть Вегу по терцене, так?
 
— ну, да.
 
— то есть закрытие может происходить не только по котированию, но и об чужую заявку, если она довольно сладкая. Причем чем больше Вега, тем менее сладкую заявку бутчер готов схавать.
 
— Бутчер?
 
— Ну да, мясник. Он так быстро чоп-чоп топориком по заявкам машет, если кто выставил хорошую. – Мозг улыбался.
 
— Хорошая затея. То есть если кто-то выставит заявку не в рынок, а сильно лучше, мы в нее настучим?
 
— Ага. Он, в зависимости от вкусноты заявки, может получить лимитов как пять котировальщиков. И насовать неосторожному растяпе если кто-то сильно ошибется. Поэтому у него максимальный приоритет в выставлении заявок и скорости.
 

— Круто. Очень круто. Теперь лосей бы отбить.
 
 
И лоси отбились. Мы вернулись к предыдущей статистике по 3-4 убыточных дня в месяц. Рисков стало значительно меньше, бутчер хорошо разгружал нас по веге, профит стабильно тек и к началу мая мы вернулись на уровень 2.3 млн. Получив возможность снимать деньги, мы снова проинвестировали в техническое вооружение. Мозг собрал новый комп, уже примерно за 100 тысяч, с какими-то мега-характеристиками. Наконец купили альтернативный и-нет и парочку UPS-ок. Повышенные объемы требовали большей технической защищенности. При этом торговля все еще велась через квик. Мозг давно размышлял как перейти на шлюз и, похоже, работал над этим. Это было в его стиле, объявлять об идее, когда она уже была готова.
 
Приближались длинные майские праздники (8-10 мая). И, числа пятого, я уехал с Викой в Финляндию, в глушь, на озеро, где не было даже и-нета. Мозг периодически присылал мне значение профита через смс и я успокаивался. Робот прочно вошел в мою жизнь, и прожить два часа, чтобы не узнать как там дела – было трудно, начиналась ломка.
 
В Финляндии я первый раз заметил, что стоит мне уехать отдыхать, как случается что-то из ряда вон. Наступило 6-е мая.
 
Глава пятая. Первый Май.
 
Вечером мы добрались до торгового центра, где был бесплатный вай-фай. Я тут же загрузил веб-интерфейс робота и начал смотреть, что происходит.
 
Веб-интерфейс – это еще одна придумка Мозга, которая выводила все основные параметры, греки, рынок и основные ошибки в текстовом режиме. Там же была кнопка Set Emergency, на случай, если что-то пойдет не так. Теперь робота можно было остановить с любого телефона. Когда падал и-нет или электричество – приходили смс-ки. Была поставлена веб-камера, которой можно было управлять и осматривать угол квартиры, где стояли компы.
 
— 21-ый век, фули, — пробормотал я, когда Мозг показал мне новые фичи.
 
Неожиданно, котировки фьючерса полетели вниз, и робот встал в режим Waiting. Раунд-трип подскочил до нескольких секунд.
 
— Мозг, чо там за хрень творится? – Натыкал я стилусом в скайп.
 
— Хз… так валится, как будто ядерная война началась, — ответил он через долгие 30 секунд.
 
Это был знаменитый флэш-креш 6 мая 2010 года.
 
Рынок РТС ухнул вниз, увлекаемый падением S&P. Открывшись утром на 143850 он лег на планку в 135585 в последний час торгов.
 
Тут мы столкнулись с новым багом, который до этого не предусмотрели. При фьюче на планке опционы продолжают торговаться. Так как фьюч стоит (а по факту, виртуально двигается где-то ниже планки), а цены опционов меняются, волатильность начинает рассчитываться криво, из-за чего вся улыбка превращается в черти что, рисуя странный зигзаг. Робота выключили.
 
Мозг засел за чистку базы. Все сделки за последние пару часов были исключены из расчета лыбы. Было введено правило на запрет торговли опционами при 200 пунктах от планки, и впредь, сделки заключенные на ней, в расчет не брались. Ночь работы для Мозга и седьмого мая мы были снова готовы к работе.
 
А в пятницу рынок был веселым. Активная торговля почти всегда сулила нам значительную прибыль – участники лупили по рынку и мы собирали спреды. Несмотря на то, что американцы отыграли большую часть флэш-креша, мы к вечеру начали валиться, задирая волу вверх. Причем задирались и коллы, которые мы с радостью продавали.
 
История одного робота. Главы  4 1/2 и 5



Вола росла, но спред профит был выше. Это был хороший день.
 
История одного робота. Главы  4 1/2 и 5
 
 
Участились проливы, когда бросали в рынок большие объемы, существенно отличающиеся от тер цены. На рынке было жарко и мы чувствовали себя в своей стихии, пожирая неэффективности. Душа в такие дни поет и ты ощущаешь себя королем рынка.
 

 История одного робота. Главы  4 1/2 и 5
 
День закрыли на лоях, где-то на 131000, и нам перед закрытием напихали коллов по какой-то очень вкусной воле. Рынок уходил на длинные выходные (9 мая пришелся на воскресение, и 10-го в понедельник Россия отдыхала) и наш профиль был довольно устойчивым.
 
История одного робота. Главы  4 1/2 и 5
 
Гэпы в 3% как вверх, так и вниз, давали убыток около 50 тыс. рублей. Гэп даже на 10% вниз давал лося в 300К, ну а гэпов вверх никто не ждал. Из-за проданных коллов там, конечно, с рисками было хуже. Но откуда позитив то, если так валимся?
 
Наступило воскресенье, 9 мая. Немцы, вероятно, решили частично искупить вину перед мировым сообществом и ECB объявил европейское КУЕ на 750 млрд. евро. Это было сильно. В понедельник сипа поперла вверх, вызывая приступы острой кирпичной дизентерии у продавцов российского рынка, которые не имели возможности сделать ровным счетом ничего. Амеры закрылись примерно 5% ростом, что для нашего рынка означало гэп под 10%. В то время мы ходили с довольно сильной корреляцией к мировым рынкам, причем бета была около двух. То, что в пятницу мы повалились сильнее американцев говорило что гэп может быть и выше 10%.
 
10% — это лось около миллиона. А если вырастем еще? Ведь будет шорт-сквиз…Виски пульсировали и немного подташнивало.
 
Ночью, в купе поезда Хельскинки-Москва я строчил мозгу директивы.
 
— Делаем две вещи. В первую миллисекунду кидаем фьючей в планку, может что-то схватим. Затем, по заранее рассчитанным ценам по всем коллам покупка. Расчетная цена – 140000 по фьючу, то есть ставим его плагом, выше планки (планка была 138225). Может кому-то плеснем… Если амеры продолжат ночью рост, может быть вторая планка. Все решится в первую секунду, Мозг. Надо успевать хеджиться. Если уползем с лосем -300 – считай отлично отработали.
 
Мозг был настроен более скептично.
 
— Квик может не пропустить покупку опционов по лимитам. Да и никого там стоять не будет на продажу, дураков нет. Так что да, только фьючи. Причем будем кидать по акциям тоже. Собираем дельту где можем. Я подумаю, что можно сделать.
 
Утром, к открытию рынка я уже был в офисе. Как и предполагали, рванули в планку, +7%.
 
Раундтрипы были такие, что ничего схватить не удалось, но затем случилось чудо. Фьюч отлип от планки, дав возможность занулить дельту. Лось был около 300 тысяч. Меньше расчетного в 500-600: сказался тета-распад и падение волатильности. Занулив дельту, мы поставили робота в режим waiting и стали ждать. Фьюч вернулся на планку, и, постояв, пошел выше. Лось при этом начал стремительно уменьшаться – это падала вола. Задранная в пятницу на падении, она возвращалась к нормальным значениям, давая неплохой профит. К часу дня мы включили робота с лосем всего около 80 штук. А к вечеру, после активной торговли – профит был около полтинника. По взаимному решению он был снят и пущен на благотворительность.
 
Да, на этот раз мы уползли. Но окончание отпуска было испорчено и на моей голове добавилось немало седых волос. Как покажет время, не в последний раз.
 
Глава шестая. Первый смех.
44 Комментария
  • Владислав (Pilot)
    11 июля 2014, 12:38
    первый!)))
    щас почитаю…
  • Twilight_reg73
    11 июля 2014, 12:39
    Шедеврально =) Читая как будто сам там был и переживал происходящее=)
  • Kosh
    11 июля 2014, 12:39
    5!!!
  • Евгений Черных
    11 июля 2014, 12:51
    +100500.
    Класно преподносите!
  • ICEDONE
    11 июля 2014, 13:17
    переносы через ночь зло роботорговли))
    • volokno
      11 июля 2014, 14:48
      ICEDONE, сразу видно знатока. Как позу-то на опцах закрывать планируете?
      • Swan
        11 июля 2014, 14:55
        volokno, ржал как конь ))) ещё жду от знатоков каммента типа «надо ставить стопы!»
  • Mr.Gari
    11 июля 2014, 13:31
    Класс ждем еще
  • П М
    11 июля 2014, 14:10
    ближе к третьему скрину подумал «ух, е… ать!»
    круто! Мозг серьёзный программист.
    а на чём графики рисовали, если не секрет, среда разработки?
    • ves2010
      11 июля 2014, 14:43
      Павел Bosco М, че то сомневаюсь в подлинности софта… накуя там все по-английски???
  • SL
    11 июля 2014, 14:41
    Это не Мозг, это МЕГАМОЗГ!!!
  • IliaM
    11 июля 2014, 15:02
    Помню, помню как фьюч отлепился от верхней планки. Я сделал глоток кофе и сказал в экран
    — Опять дали кому-то соскочить.
  • Simix
    11 июля 2014, 15:02
    Был у нас в конторе по кличке Мегамозг )) Но не похож.
    А он вообще-то работал на дядю? время находил? А когда он спал?
    Серьёзная программерская работа проделана. Респект.
    Ёптыть чувствуешь себя карликом рядом с таким продуктом.
  • Genda
    11 июля 2014, 15:47
    А у меня вопрос к автору.
    Прокомментируйте плз. фразу:
    «MV – Market Volume, сколько всего прошло на рынке коней. Например смотри, по Газпрому – у нас процентов 70 рынка.».

    Правильно ли я понял, что в указанном примере вы сами себе продавали, т.е сами у себя выкупали аж 20%(70-50) рынка?
    • Twilight_reg73
      11 июля 2014, 15:55
      Genda, нет это значит от суточного объема 100% 70% сдулок были они и кто то другой контрагент
      ТО есть к примеру суточный объем 1000 лотов то они проторговали 700 лотов.
      • Genda
        11 июля 2014, 16:00
        Twilight_reg73, суть уловил, но с цифирями проблема. Одна сделка с одним лотом — это два лота в обороте, т.е. указанные 70% — это, как в вашем примере, их 350 лотов на 1000 лотов суточного объёма, так?
        • Twilight_reg73
          11 июля 2014, 16:01
          нет 70% это их 700 лотов из 1000 лотов суточного объема
          • Genda
            11 июля 2014, 16:03
            Twilight_reg73, а разве одна сделка с одним лотом — это не два лота в обороте?
  • Genda
    11 июля 2014, 16:25
    Изучил мат. часть.

    Был не прав. Действительно биржа даёт оборот по одной сделке с одним контрактом как 1, при этом объём открытой позиции отображается как 2.

    Спасибо, разобрался.
  • Федор
    11 июля 2014, 16:32
    Приятно читать… и нефиг вникать… это мемуары а не инструкция к действиям)
    • Twilight_reg73
      11 июля 2014, 16:33
      Федор, Не скажите=) КОму надо тот вынесет огромные + из рассказов Гнома. Даже хотя бы подходы к делу=)
  • П М
    11 июля 2014, 16:40
    А кто-нибудь понял, что такое SABR? Ведь это — самое главное.
    Но что ЭТО?
      • П М
        11 июля 2014, 17:17
        Гном, да, спасибо, тоже нашел по ключевому слову «опцион».
        Интересно! Всё-таки, как я и предполагал чуть раньше, дело кончилось мат статистикой, кажется это именно она.

        Скорее бы продолжение :)
      • Simix
        11 июля 2014, 17:20
        Гном, Спасибо, специально вернулся чтобы спросить об этом же SABR.
        Это вы уже в 2010г знали что такая хрень есть? Крутыши.
        Я тогда ещё думал что значения улыбки биржа транслирует, а опционщики вокруг неё вертятся ))
        Что впрочем не мешело мне прибыльно торговать на дурачка.
    • Сергеев Петр
      11 июля 2014, 18:41
      Павел Bosco М, это вот что: en.wikipedia.org/wiki/SABR_volatility_model
  • П М
    11 июля 2014, 17:46
    я кстати тут недавно читал книгу «Кванты как волшебники», там много отсылок к Насиму Талебу с критикой модели опционов.
    Мол все эти асимптотические модели не учитывают что произойти могут ВСЕ события, а не только наиболее вероятные. И рано или поздно они случаются, эти чёрные лебеди. Потому что они тоже должны быть. Так что интересно как бы вы пережили 2008ой, например.
    Пережили бы наверное. Кстати мой робот на историческом Si почему-то наибольшую прибыль показывает в 2009 году. Озолотиться можно было. 2010 — так себе годок. 2011 — уже очень вкусно. 12 — средне. А 13 и 14 на уровне 10го.
    Так что интересно как у вас было в 11 году!

    Я впрочем почитал smart-lab.ru/page/gnom//2/#krah
    и беру свои глупости обратно. Про лебедей. Не учи отца. И баста.
    • ves2010
      11 июля 2014, 20:17
      Павел Bosco М, в 2009г си был неликвид, т.к не было сальдирования убытков…
  • SMA
    12 июля 2014, 00:43
    Супер!
  • Трейдер-Кассир
    12 июля 2014, 15:21
    Крутяшечка))

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн