Автор malcolm, 8 лет назад, По-русски

Привет, Codeforces!

Полным ходом идёт HFT Battle 2017 – соревнование биржевых алгоритмов, на время которого каждый участник сможет примерить на себя роль разработчика HFT-стратегий. Задача участников – написать стабильно зарабатывающий HFT-алгоритм, исследуя микроструктуру рынка и поведение финансового инструмента. В мае на базе этих алгоритмов состоится дополнительное 24-часовое соревнование по ускорению и оптимизации кода, которое должно особенно понравиться участникам Codeforces.

В соревновании HFT Battle мы предоставляем набор полноценных HFT-инструментов для ресерча и анализа стратегий и реальные торговые данные одной из крупнейших бирж мира. Как и в прошлом году, мы даём упрощенные условия по сравнению с реальными: более низкая комиссия и round-trip.

Кроме того, есть несколько существенных отличий от соревнования прошлого года:

  • Добавлена возможность разработки стратегий не только на C++, но и на Python.
  • Можно участвовать командой с одного аккаунта: достаточно при регистрации указать данные одного из участников.
  • Возможность вызвать другого участника на дуэль, в котором ваши стратегии будут видеть и влиять на действия друг друга.

С чего начать

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

Мы предлагаем вам начать с краткой документации, которой будет достаточно для знакомства с системой. Кроме того, мы разработали пакет для локальной разработки стратегий.

Соревнование продлится до 30 апреля 2017, после чего мы проведём финальное тестирование на наборе из 20 новых торговых сессий.

В этом году мы наградим ТОП-20 призёров соревнования. А лучшие участники также получат возможность пройти собеседование в AIM Tech и присоединиться к нашей дружной команде.

Мы будем рады обратной связи! Отзывы лучше всего оставлять через кнопку "Помощь" ("Support") в интерфейсе системы, либо писать нам на почту help@hftbattle.com. Присоединяйтесь к бурному обсуждению соревнования в нашем канале в Telegram!

Для создания стратегии не требуется специальных экономических знаний и достаточно базовых навыков программирования на C++ или Python. Мы уверены, что многие участники Codeforces смогут добиться положительных результатов!

Желаем всем высокого рейтинга и отличных результатов в HFT Battle 2017!

  • Проголосовать: нравится
  • +194
  • Проголосовать: не нравится

»
8 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Автокомментарий: текст был обновлен пользователем malcolm (предыдущая версия, новая версия, сравнить).

»
8 лет назад, # |
  Проголосовать: нравится +27 Проголосовать: не нравится

написать стабильно зарабатывающий HFT-алгоритм

Неэкономист спрашивает: "а в чём подвох стратегии "взять этот алгоритм, натравить на реальную биржу и грести деньги лопатой"?

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +7 Проголосовать: не нравится

    мы даём упрощенные условия по сравнению с реальными: более низкая комиссия и round-trip.

    Написать стабильно зарабатывающий алгоритм с биржевыми комиссией и раунд-трипом гораздо сложнее.

    • »
      »
      »
      8 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      А что такое "round-trip"?

      • »
        »
        »
        »
        8 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +18 Проголосовать: не нравится

        Round-trip -- это сетевая задержка, время, которое требуется для прохождения данных от сервера биржи до вашего торгового сервера и обратно. В симуляторе нет работы с сетью, поэтому эта задержка моделируется при отправке запросов к бирже.

        Соответственно, если в симуляторе стоит round-trip ниже, чем в реальности, стратегия может намного проще заработать, т.к. её заявки "прилетают" на биржу гарантированно быстрее, чем заявки всех реальных участников торгов, и получается, что вы имеете большое преимущество по сравнению с реальностью.

        • »
          »
          »
          »
          »
          8 лет назад, # ^ |
            Проголосовать: нравится +13 Проголосовать: не нравится

          А, тогда всё становится ясно. Я изначально прчоитал как "(более низкая комиссия) и (round-trip)", то есть как будто бы наличие round-trip нам что-то упрощает. А надо, видимо, так: "более низкая (комиссия и round-trip)".

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +24 Проголосовать: не нравится

    Как отмечено выше, в соревновании участникам даются упрощённые условия, по сравнению с реальными торгами: более низкая комиссия и round-trip. Кроме того, по окончании соревнования мы откроем исходный код стратегий участников.

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

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

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Я посмотрел на API, и не понимаю вот какой вещи. Как определить по Quote, кто именно его разместил? Неужели этой информации нет на реальной бирже (и это сборище анонимусов)?

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

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Реальная биржа действительно не дает информации о том, кто именно разместил какие ордера и кто именно стоит на данной цене.

    Вообще, одна Quote в симуляторе может включать в себя несколько Order'ов (например, в качестве объема Quote будет выступать сумма объемов всех заявок на данной цене). На реальной бирже максимум, что можно получить — разбиение данного объема по заявкам, однако на данный момент мы не отдаем такой информации участникам HFT Battle.

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

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

    • »
      »
      »
      8 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

      Или аргумент в том, что разнообразные стратегии улучшают экосистему? Сходу не очень понятно, почему это так.

      • »
        »
        »
        »
        8 лет назад, # ^ |
          Проголосовать: нравится +19 Проголосовать: не нравится

        Если все маркет мейкеры (стратегии, которые котируют) будут действовать одинаково, то в какой-то момент стакан просто может опустеть и ликвидность пропадет. Еще такой рынок будет очень легко манипулироваться – если ты знаешь как ведет себя большая часть участников, то это можно использовать.

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

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

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

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

[sogou browser]'s fault.Firefox works well.Sorry for the inconvenience.

»
8 лет назад, # |
Rev. 5   Проголосовать: нравится -18 Проголосовать: не нравится

Хех

»
8 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Напишу сюда, так как "help" не отвечает.

Поначалу viewer работал, хотя и с багом(как только поменять некоторые настройки, двигаться по нему уже было невозможно). Потом кнопка "Write data to viewer" тупо перестала работать. "download logs" не работает все время, всегда выбивает ошибку сервера. Пробовал написать через "Help", там тоже ошибка сервера. Написал на help@hftbattle.com позавчера, мне не ответили(может в понедельник ответят). Вчера сервер висел(на 1 симуляцию нужно было ждать полчаса), а с сегодняшнего дня на половине тестов всегда вылетает "system error".

  • »
    »
    8 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +6 Проголосовать: не нравится

    Здравствуйте. От всей команды HFT Battle прошу прощения за долгий ответ на ваши сообщения.

    Мы решили ошибку с System Error, возникающую у многих участников.
    Также мы тестируем новые данные для Viewer, поэтому могут наблюдаться сбои в его работе. Сейчас занимаемся исправлением этой проблемы.

    Спасибо, что сообщили нам о проблемах с кнопкой "Помощь". Будем с этим разбираться! Кстати, у нас есть телеграм https://t.me/hftbattle, где мы стараемся наиболее оперативно отвечать на все возникающие вопросы и разбираться со всеми проблемами.

    Upd. Кнопку "Записать во Viewer" починили.