Быстрый старт

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

Организация соревнования

В соревновании есть три типа посылок:

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

По окончании основного этапа соревнования будет произведено Финальное тестирование.

Симулятор торгов

  • Есть четыре ограничения, приближающих симулятор торгов к реальности:
    • Максимальный размер открытой позиции ограничен 100 лотами на покупку и на продажу. Как такового начального капитала нет, ограничение на набираемую позицию, по сути, и является ограничением на начальный капитал.
    • Если стратегия достигает отрицательного результата в -100000 в течение торгового дня, то симулятор автоматически закрывает её позицию и завершает торговлю.
    • Комиссия = 8 за каждый лот в сделке.
    • Есть round-trip, равный 10 микросекундам — время, которое проходит от того момента, как вы захотели что-то сделать (поставить или удалить заявку) до реального исполнения этого действия.
  • Есть закрытие позиции в конце торгового дня. Это происходит автоматически для вашего удобства. Подробную информацию про закрытие позиции можно прочитать здесь.
  • События, приходящие в стратегию, бывают трех видов: обновление стакана, обновление сделок и отчёт об исполнении вашей заявки. При этом, если произошла сделка с участием вашей заявки, то сначала придёт отчёт об исполнении вашей заявки, потом — обновление сделок.

Внимательно смотрите в логи стратегии: там содержится полезная информация по всем вашим заявкам и сделкам.

Подробнее в разделе Симулятор торгов.

Пакет для локальной разработки

  • Мы опубликовали на GitHub симулятор для локальной разработки стратегий:

    git clone https://github.com/hftbattle/hftbattle.git
    
  • Для работы с пакетом необходим компилятор g++ 5.0 и выше, а также CMake 2.8.4 и выше.
  • Если стратегия реализована на языке C++, то она описывается в cpp-файле, если же на языке Python, то её код содержится в файле python_strategy.py. Каждой стратегии соответствует одноимённый json-файл.
  • Чтобы собрать все имеющиеся в папке strategies стратегии, нужно запустить python-скрипт build.py, находящийся в корне репозитория:

    ./build.py
    
  • Чтобы запустить нужную вам стратегию, нужно запустить python-скрипт run.py, передав ему в качестве аргумента название вашей стратегии:

    ./run.py user_strategy
    
  • При создании новых стратегий на языке C++ в пакете для локальной разработки, нужно менять строчку с регистрацией стратегии в конце cpp-файла. Обратите внимание, что best_strategy_ever здесь — это название папки, cpp и json файла:

    REGISTER_CONTEST_STRATEGY(UserStrategy, best_strategy_ever)
    

Подробнее в разделе Пакет для локальной разработки.

Анализ биржевого стакана с помощью Viewer

  • По адресу viewer.hftbattle.com вам доступен инструмент для визуализации биржевых торгов. В нём все события показываются атомарно, сделки объединены в пачки.
  • Обратите внимание, что стакан во Viewer — это реальный стакан, то есть список пар [цена, суммарный объём на цене], реально имевшихся на бирже в данный момент. На него вы влиять не могли.
  • При этом у вас также имеется возможность получить Viewer для вашей стратегии. Для этого на странице посылки вам нужно нажать клавишу "Записать данные во Viewer" на интересующем вас дне. После этого через некоторое время у вас появится возможность посмотреть действия вашей стратегии во Viewer.
  • Можно перемещаться как по всем событиям, так и только по своим (смотрите вкладку Settings).
  • Нажав на точку на графике с результатом и позицией, можно перейти во Viewer, и там отобразятся ваши заявки и сделки в районе выбранного момента.

Подробнее в разделе Viewer.

Quick Tips

  • Если интересно посмотреть, как стратегия торгует на конкретном дне, рекомендуется запускать стратегию только на нём — так вы получите результат стратегии на этом дне быстрее.
  • Чтобы выжать максимальный результат из вашей идеи, попробуйте перебрать параметры стратегии.

Про интерфейс участника можно прочитать в соответствующем разделе.

results matching ""

    No results matching ""