uralpro
uralpro личный блог
04 сентября 2016, 12:06

Разница между HFT на фьючерсах и акциях

Разница между HFT на фьючерсах и акциях

Статья из блога Jonathan Kinlay, в которой есть очень правильные наблюдения, относящиеся к высокочастотным стратегиям.

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

Очевидно, что он использовал технику мани менеджмента, так любимую многими разработчиками алгоритмов на фьючерсах. Я предложил ему посмотреть, как будет чувствовать его стратегия при торговле тысячным лотом E-mini, при падении рынка на 20 пунктов. Внутридневная просадка в 100 000$ может сделать такой алгоритм гораздо менее привлекательным. С другой стороны, если вы уже заработали миллионы долларов на стратегии, то можете не особо беспокоиться по этому поводу.

Более важная критика техник мани менеджмента состоит в том, что они обычно очень зависимы от ценового пути. Если вы начали торговать довольно близко к одному из периодов просадки, которые почти незаметны на графике, это может привести к катастрофическим последствиям для вашего торгового счета. Единственный путь избежать этого — это протестировать стратегию сотни и тысячи раз с использованием моделирования Монте-Карло. Такой тест может ясно показать, что риск разорения гораздо выше, чем это следовало из одного бэктеста. 

Затем я спросил его, как стратегия входит в позицию — пассивно, посылая лимитные ордера на покупку или продажу, или агрессивно, пересекая спред для продажи на биде и покупая на аске. У меня было предположение, что он скажет, учитывая объемы сделок в стратегии, и он его подтвердил, ответив, что алгоритм использует пассивные входы и выходы. Оставляя пока возможность исполнения 1000 контрактов при таком виде входа, я попросил показать кривую прибыльности для одного контракта в этой стратегии, без применения мани менеджмента. Она все еще выглядела впечатляющей:

Разница между HFT на фьючерсах и акциях

Критические замечания по поводу пассивных стратегий

Есть определенные допущения, видимые в выше показанных результатах, одно из которых — вероятность исполнения ордера. Обычно в розничных программных платформах, таких, как например Tradestation, сделано допущение при тестировании, что ваши ордера будут исполнены, если сделки в данных происходят по цене вашего лимитного ордера. Предположение о 100% исполнении ордера в высшей степени нереалистично.Ваши ордера учавствуют в соревновании за приоритет в очереди заявок с ордерами многих тысяч других трейдеров, включая HFT компании, которые стараются опередить вас в каждый момент времени. Вследствие, реальная вероятность исполнения намного ниже — от 10% до 20%.И это в случае удачи. А многие случаи исполнения будут «токсичны» — ордера на покупку исполнятся как раз перед движением рынка вниз, а ордера на продажу — перед движением вверх. В результате, реальная производительность стратегии будет далека от красивых графиков гипотетических кривых прибыльности.

Один из путей учесть эту проблему — это сделать намного более консервативное допущение, что ваши лимитные ордера будут исполняться только если цена пересечет их.  Это может быть сделано в Tradestation путем выбора правильной установки в настройках бэктеста:

Разница между HFT на фьючерсах и акциях

Производительность стратегии в результате часто выглядит совсем другой при таких консервативных настройках, и в нижеприведенном графике нет ничего удивительного:

Разница между HFT на фьючерсах и акциях

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

Пример высокочастотной стратегии на акциях

 Далее сравним стратегию на фьючерсах с примером подобной высокочастотной стратегии на акциях. При оптимистичной вероятности исполнения кривая эквити выглядит так:

Разница между HFT на фьючерсах и акциях

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

Разница между HFT на фьючерсах и акциях

Микроструктура рынка

 Здесь есть фундаментальная причина в разности поведения двух стратегий при различных вариантах исполнения, которые соответствуют очень разным микроструктурам рынков фючерсов и акций. В случае стратегии на E-mini средняя сделка может быть, скажем на 50$, что эквивалентно только 4 тикам ( каждый тик стоит 12,5$). Таким образом коэффициент отношения средней сделки к шагу цены = 4:1. В стратегии на акциях при похожей средней цене сделки размер шага цены может быть и около 1 цента. Для фьючерсной стратегии, пересечение спреда для входа и выхода более чем в очень ограниченном количестве случаев ( или пропуске входов в случае лимитных ордеров) быстро уничтожит всю прибыльность системы. Высокочастотная стратегия на акциях, с другой стороны, будет работать устойчивей, из-за малого размера шага цены.

Конечно, есть много других трудностей в HFT торговле акциями, от которых системы на фьючерсах не страдают, например  множество бирж, где акции торгуются. Это значит, например, что в консолидированном потоке рыночных данных ваша система может увидеть возможности, которые нельзя реализовать в действительности, из-за эффектов задержек в этом потоке. Таким образом, прибыльность высокочастотных стратегий на акциях часто завышена при использовании консолидированных потоков маркет даты. Фьючерсы, которые торгуются на одной бирже, не подвержены этому. Есть еще много различий в микроструктуре рынков фьючерсов и акций, которые должен учитывать грамотный разработчик. Но, в общем случае, можно утверждать, что акции являются более легким стартовым акивом для разработки высокочастотных систем, по сравнению с фьючерсами.

Другие стратегии и алгоритмы автоматической торговли смотрите на моем сайте www.quantalgos.ru

27 Комментариев
  • waldhaber
    04 сентября 2016, 12:45

    Всё ещё переживашь, будешь ли интересен на конфе?))

    Скажу так… буду ждать и с удовольствием посмотрю видос, если Тимофей выложит! К слову мне может не так интересны/близки темы, как интересна методология мышления.

      • SAI
        04 сентября 2016, 13:15
        uralpro, Что вы используете в качестве бэктестера для HFT?
  • SAI
    04 сентября 2016, 13:18
     Если не секрет, какой критерий исполнения заявки?
  • Антон Денисков (Fry)
    04 сентября 2016, 13:49
    Всё гораздо хуже!
    реальная вероятность исполнения намного ниже — от 10% до 20%.И это в случае удачи.
    Ещё ниже! Уж поверьте практику с CME.
    А многие случаи исполнения будут «токсичны» — ордера на покупку исполнятся как раз перед движением рынка вниз, а ордера на продажу — перед движением вверх.
    Реально почти все случаи исполнения такими и будут.

    Один из путей учесть эту проблему — это сделать намного более консервативное допущение, что ваши лимитные ордера будут исполняться только если цена пересечет их.
    Не поможет! Это только примерно для наглядности, но по факту всё будет ещё хуже!

    А дело вот в чём. От ордера «случайного участника» в стакане ES на CME маркет-мейкер убегает и придерживает цену над ордером (проверьте сами — это элементарно). Придерживается при этом даже базовый расчётный индекс S&P500 во время амерской сессии, а во время европейской — придерживается вся связка DAX-ES и цепочка! Придерживается ещё как!
    И вот что будет:
    1) исполнение на сильном прорыве сразу в убыток;
    2) никакого исполнения не будет.

    Ценами на фьючерсах кукл манипулирует только так.
    Не, ну кто Вам даст ловить все зигзаги цены? =)
    Мало того, если исполнять по рынку, то рынок зажимают и увозят в убыток надолго. Пытаются высадить.
    Иначе это была бы бесплатная раздача денег всем желающим со стороны.

    Вот такая реальность CME
  • Антон Денисков (Fry)
    04 сентября 2016, 13:57
    И ещё ключевой момент: очередь там нарушается. Нереально занять очередь первым. А на тех инструментах, где учитывается кроме времени ещё и объём заявки при сортировке последовательности исполнения — так там вообще сплошной развод!
    Их даже штрафуют за это… раз в год на 3 копейки =)
    • Petrov
      04 сентября 2016, 19:16
      Fry (Антон), хороший коммент. Главное не в скорости роботов
      и классности их алгоритмов, фишка в «маркет-мэйкерах» и их
      технологиях по дойке «стада».
      ; рь
        • Petrov
          05 сентября 2016, 09:35
          uralpro, я, собственно, не против маркет-мэйкеров (не будь их, не было бы и рынка; р)), но надо с абсолютной чёткостью понимать, что «технические причмоки» ничто по сравнению инсайдом умноженным на торговые ресурсы многократно превышающие средние показатели  крупных физиков.
          ; р))
          На мой взгляд, успешные частные трейдеры — это трейдеры прилипалы. А уж как они прилипли к брюху «большой белой акулы» не суть важно. С помощью «умного робота» или собственных дрожащих ручек. Главное результат.

          ПС. Про высокоскоростные молотилки рассуждать не буду.
          Мой небольшой отрицательный опыт знакомства с ними не объективен. А так, скажу, очень затратно содержать и огромные комиссионные в пользу «продавцов лопат».

          ПСС. И кстати, последних я тоже люблю.
          Они честно делают своё дело и никто не заставляет
          трейдера насильно покупать у них их услуги.
          : о))
  • xfo
    04 сентября 2016, 15:00
    В случае стратегии на E-mini средняя сделка может быть, скажем на 50$, что эквивалентно только 4 тикам ( каждый тик стоит 12,5$). Таким образом коэффициент отношения средней сделки к шагу цены = 4:1. В стратегии на акциях при похожей средней цене сделки размер шага цены может быть и около 1 цента.
    Автор, наверно, хочет сказать, что цена сделки $50 — это на 100 акций, а тик в 1 цент — на одну? Косо звучит. Даже если брать 50 центов — это очень много для ХФТ.
    Для ХФТ спред + 2 тика — это очень хорошая сделка, имхо. По ES это будет $37.5. По ликвидной акции это будет 3 цента. Ну, учитывая, что волатильность акции в 4-5 раз выше, пусть будет 10 центов. На графике страты на акциях оно и заметно — добавили -1 цент (тик) в страту и тут же эквити просела в 1.5 (ПОЛТОРА раза), т.е. доходность на одну сделку (НЕ круг «купил-продал») была ровно 3 цента, стала 2 цента.
    По страте ES на одном контракте видно, что после нормировки она просела на 6000*2*12.5 = 150к. Почему для каждого трейда посчитано целых два тика в минус — непонятно, один трейд — это же не полный круг.
    А тестировать ХФТ стратегию на голых тиках, без вообще ничего, без очереди, без реальных объёмов — это сильно.
  • ELab
    04 сентября 2016, 17:27
    Кто знает, что такое TradeStation тот посмеялся. Невероятно дырный тестер
  • Cristopher Robin
    04 сентября 2016, 20:20
    Что касается HFT, считаю что бектестить можно ключевые гипотезы, но никак не конечные алгоритмы.
      • Cristopher Robin
        04 сентября 2016, 20:31
        uralpro, потому что эффективный HFT-алгоритм обязан сам сильно валиять на рынок.
          • Cristopher Robin
            04 сентября 2016, 20:48
            uralpro, мое мнение, данные полными не могут быть в принципе. В таком масштабе времени на результат основное влияние начинают оказывать случайные факторы, которые в разной степени возникают почти на всех участках инфраструктуры. Причем, чем совершеннее инфраструктура, тем больше это становится проблемой. Не говоря уже об упомянутых нелинейных эффектах. Зато данные истории могут быть достаточными для проверки отдельных гипотез, на основании которых потом можно развить рабочий алгоритм, почему нет.
  • buy_sell
    04 сентября 2016, 20:31
    Я вообще не представляю торговлю HFT-роботом лимитными ордерами. Ведь сразу упадет частота сделок. Да, вы быстро встанете в хвост очереди и потом будете долго стоять. А если ваша очередь быстро подойдет, то ещё хуже. Значит вы встали против моментума и получите убытки.
  • buy_sell
    04 сентября 2016, 21:14
    uralpro, как вы учитываете то, что алгоритм запущенный на рынке изменяет поведение рынка? Или совсем не учитываете?
      • Cristopher Robin
        04 сентября 2016, 21:39
        uralpro, вы говорите о себе во множественном числе. О какой команде идет речь, если не секрет?
  • buy_sell
    04 сентября 2016, 21:53
    uralpro, это ошибка. Слабые возмущения не влияют на систему, когда она находится в устойчивом состоянии, но если система приблизилась к зоне неустойчивости, то взмах крыла бабочки может вызвать тайфун. Значит ваш алгоритм должен уметь определять состояние рынка и немедленно выходить из рынка при возрастании неустойчивости.
  • SoftAlgoTrade
    05 сентября 2016, 12:05

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

    Например, ниже наши примеры исполнения заявок в режимах «касания» и «пробития» цены.
    Limit Orders Execution Mode

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

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