Cristopher Robin
Cristopher Robin личный блог
05 сентября 2015, 21:48

Самый быстрый интерфейс FORTS = Plaza2 + CGate

Итак. Немного скучновато самому раскуривать тему быстрого доступа к бирже. Готов поделится информацией, которой владею на данный момент, а также последующим опытом написания реального торгового робота на этой платформе. Но для этого мне нужны ваши палюсики и хотя бы какая то активность в комментариях. Я не сомневаюсь, что уже давно имеется много людей, которые разобрались в технологии и успешно торгуют, однако на Смартлабе по прежнему достаточно участников, которые спрашивают с чего стоит начать программировать роботов и просят предложить им «что то посерьезнее» чем готовые платные фреймворки, оснащенные всеми необходимыми средствами интеграции как в инфраструктуру биржи так и в инфраструктуру брокера.

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

Вот ряд вопросов, ответы на которые вам нужно будет знать перед тем как начинать разработку своей торговой системы.
1) В чем отличие программных продуктов по типу TSLAb, StockSharp, LiveTradeHFT и прочих от голого софта без оболочки
2) Каким образом биржа пускает к себе внешние приложения, какова должна быть архитектура подобного взаимодействия по мнению биржи
3) Какую клиентскую часть/API для Плаза2 выбрать, их есть две ClientGate и СGate. Не смотря на похожие названия это разные вещи.
4) Как завести учетную запись на бирже, зачем нужна тестовая запись и когда можно будет пускать робота через торговую запись
5) Какой язык программирования выбрать для навписания приложения и где брать тестовые примеры и документацию по АПИ

В комментариях пишите какие еще вопросы вас интересуют по теме HFT, буду пристально обращать внимание на эти вопросы, буду пробовать разбираться в них и объяснять тут простым языком.

Самый быстрый интерфейс FORTS = Plaza2 + CGate 
47 Комментариев
  • evgen000
    05 сентября 2015, 22:26
    Если и правда готовы рассказать то вот )
    Интересно было бы узнать стек торгового робота. К примеру
    1. На чем написано ядро робота
    2. клиентская часть (MVC/WPF)
    3. какая СУБД используется Microsoft SQL ?
    4. используете ли Microsoft CEP
    5. что вы там HFT'шники находите в стакане, хоть один пример.
    6. Хотелось бы подробнее про эту схему, актуальна ли она, и схему hft на Российском рынке )
    • Алексей К
      06 сентября 2015, 12:15
      Евгений, Это слишком сложно. CEP для HFT не годиться. Маркет-мейинг и арбитраж это сильно конкурентный бизнес. Движки написаны под конкретную задачу.
  • v3Rtex
    05 сентября 2015, 23:03
    Здорово, что на смартлабике есть такие люди :>
    ну и парочка вопросов от любопытного нуба
    Прямое подключение, максимально оптимизированный алгоритм + сервер в локальной сети биржи это уже хфт, или хфт это нечто большее?
    Как высока частота дискретизации времени, с которой биржа обрабатывает заявки, 1мс или гораздо глубже?
    На сколько микро\миллисекунд я должен опаздывать, чтобы гарантированно не успевать за конкурентами?
    • stitrace
      05 сентября 2015, 23:47
      v3Rtex, это хфт. Гарантированно опаздывать вы будете, даже если будете отставать на одну наносекунду, так что любая оптимизация имеет смысл, если ваша цель среагировать на событие раньше других. Раундтрип заявки на бирже сейчас около 11-и миллисекунд. Это время от посылки вами приказа, до получения вами идентификатора вашего ордера в стакане. Данные с биржи приходят каждые 3-мс. Тоесть участники узнают о вашей заявке через 3-мс после того как она встала в стакан. Еще, могу добавить к автору. Не существует на рынке коммерческих систем для тестирования hft стратегий, так что таковую вам придется писать самому, что весьма сложнее, чем реализация робота, т.к вам придется практически переписывать алгоритмы торговой системмы биржи, чтобы тестировать алгоритмы в условиях максимально приближенных к реальным. Так же, если в ваших алгоритмах будет много подстроек, то вам нужны будут прорвы вычислительных ресурсов для подстройки.
        • stitrace
          06 сентября 2015, 00:33
          Cristopher Robin, иногда дешевле, иногда нет. Но в самой системе есть один весомый плюс, в процессе реализации, досконально разбираешься в системе биржи. Турбуленция, кстати, тестируется в аэродинамической трубе, насколько я знаю.
            • stitrace
              06 сентября 2015, 00:51
              Cristopher Robin, турбуленция это тоже самое, что и турбулентность? Тогда как раз её и тестируют в аэродинамической трубе, подкрашивая поток воздуха и изучая завихрения за различными элементами конструкции ЛА и изучая какое влияние они оказывают на динамические характеристики. Хотя я не специалист в аэродинамике, могу и ошибаться. Что касается темы. У вас имеется, алгоритм, скажем с парой тройкой различных параметров с известным диапазоном значений. Сколько уйдёт времени на оптимизации на реальных торгах?
  • Шакиров Альберт
    05 сентября 2015, 23:03
    хорошие сиськи
    • Владимир Пермь
      06 сентября 2015, 08:34
      Шакиров Альберт, сорян не попал по плюсику…
    • alt
      06 сентября 2015, 08:42
      Шакиров Альберт, Но и тема автора достойна внимания…
      • Шакиров Альберт
        06 сентября 2015, 12:02
        alt, достойна, если разбираешься в ней
  • uralpro
    06 сентября 2015, 09:03
    Интервал между приходом коммитов на колокейшене 3 мс, на удаленном — 15 мс. Реально раундтрип заявок у меня где- то 5 мс, и это без колокейшена
      • uralpro
        06 сентября 2015, 12:18
        Cristopher Robin, а это и есть с транспортом. Пинг от хостинга до биржи около 1 мс, то есть 2 мс на транспорт. Но это, конечно, в идеальных условиях. Вообще, раундтрип сильно зависит от объемов торгов
          • uralpro
            06 сентября 2015, 13:18
            Cristopher Robin, про тестовый полигон сказать ничего не могу, давно уже там не тестирую
              • uralpro
                06 сентября 2015, 13:33
                Cristopher Robin, лучше воздержусь от сообщения моего IP, но могу сказать, что это TEL hosting. Выбирал по меньшей задержке до биржи
          • stitrace
            07 сентября 2015, 18:54
            Cristopher Robin, на тестовом полигоне совсем другие цифры задержек, конечно.
              • stitrace
                08 сентября 2015, 14:19
                Cristopher Robin, сильно больше. Я в начале неправильно написал, т.к. давно не смотрел сколько задержка на колокэшне. Раундтрип заявки действительно около 3-х миллисекунд, но в моменты активности бывает что подскакивает до 10-11, а в редких случаях бывает и >30.

                На тестовом полигоне же, я никогда не видел задержки меньше 16 мс.

                Задержку я считаю, от момента исполнения POST в приложении до получения ответа в коллбэк своего робота.
                  • stitrace
                    08 сентября 2015, 15:10
                    Cristopher Robin, бывает через инет тестирую, это добавляет максимум пару ms к раундтрипу. Но сути не меняет.
        • П М
          28 сентября 2015, 09:11
          uralpro, 5 мс по плазе2, так?
          вопрос, если у меня из дома до брокера пинг порядка 5мс,
          есть ли шанс что из дома до биржи будет пинг пошустрее?
          я пробовал пинговать 91.208.232.246 (нашел где-то в интернетах) — он не возвращает ответ.
          до ближайшего к нему xxx.MACcomnet.net порядка 3 мсек.
          как достичь пинга 1мс без колокейшена? у меня до роутера домашнего 1 мс…
          • uralpro
            28 сентября 2015, 09:26
            ПBМ, ну если вы в Москве, то есть шанс что напрямую к бирже будет пошустрее. Пинга в 1 мс без колокейшна достичь нельзя. У меня от хостинга до биржи в одну сторону 2 мс. К роутеру вы через вай фай подключены? тогда может быть, там еще шифрование, коррекция ошибок и т.п.
  • Алексей_72
    06 сентября 2015, 11:52
    Правильно ли я понимаю разницу между CGate и ClientGate?
    Это две разные библиотеки об одном и том же.
    CGate больше подходит для любителей всяких Си и линуксов, а ClientGate для Дельфи/C# и виндовса?
    И разницы в скорости, логике потоков и таблиц у них нет?
  • moonwalker
    06 сентября 2015, 12:36
    как оцениваете прирост производительности, с появлением возможности компилировать код C# в машинный?
  • moonwalker
    06 сентября 2015, 13:30
    на asm это уже хардкор, хотя можно в fpga зашиться, но надо ли это частнику.
  • moonwalker
    06 сентября 2015, 13:38
    Кстати к вопросу о том, что для hft софт должен быть только самописный. Есть уже много компаний, который предлагают готовые решения, включая бэктест и оптимизацию, в том числе и с fgpa. К примеру deltix, за который просят 90к в год. А маркетсетера вообще бесплатная и обеспечивает хороший латенси.
    • stitrace
      07 сентября 2015, 18:56
      moonwalker, вряд ли они предложат решение для РТС за вменяемые деньги.
      • moonwalker
        07 сентября 2015, 20:37
        stitrace, по фикс протоколу спокойно подключается
        • stitrace
          08 сентября 2015, 14:21
          moonwalker, FIX/FAST это, как говрят, обвязка вокруг Plaza 2. Тоесть подключившись в FIX/FAST вы будете гарантированно медленнее других, т.к. получаете оверхед на приведение данных к FAST/FIX формату.
  • Anton
    06 сентября 2015, 20:44
    Как зарабатывает htf, скальпинг?
  • Счастливый Конец
    10 сентября 2015, 01:11
    тут еще один момент — плаза2 она небесплатная, стоит например 4700 в ITInvest+10% от биржевого сбора+сам биржевой сбор. Т.е. имеет смысл заниматься этим если стратегия, которую надо реализовывать на плаза2 приносит хотя бы 10тр в месяц (ну 5тр расходы, 5тр останется) — да и то это смешно. Если бы 100тр в месяц приносит, тогда да. Но, предположим, 100тр в месяц. В месяц допустим 2% (т.е. 24% годовых — неплохо). Т.о. депо должно быть 5млн рублей или около того. Просто хотел сказать, если у кого нет 5млн рублей, то плаза2 особого смысла не имеет, проще автоматизировать через терминал брокера.
    • Алексей_72
      10 сентября 2015, 17:39
      Счастливый Конец, HFTшники не меряют прибыль в процентах, т.к. от размера депозита величина прибыли мало зависит.
      Это потому, что тема почти не масштабируется. Если HFT робот даёт надёжную прибыль при выставлении заявок в 1 лот, это не гарантирует прибыль при заявках в 100 лотов и даже при 10.
      Если имеешь хороший грааль (а они есть, см. ЛЧИ) то можно хорошо рубить и при 100к и 200к депозита. Хорошо это от 10к в день.
      А вообще отгонять народ от плазы это для правильных людей гуд! Денег вначале надо не мало.
      4000р за логин, +4000р если нужен ордер лог и ещё раз и то и то за подключение единовременно. + НДС + ещё брокер своё накручивает + за хостнг, если хош нормальный пинг. moex.com/s324#gateway
      А если хочешь в сетку биржи свой комп, то просто за место для него там 10000р/мес + интернет там 2000р/мес(1мbit, 10м->15к). + 1000р за ip-адрес. moex.com/a1374.
      Но это всё копейки. Потому, как комп того форм-фактора, что они требуют(1U) стоит от 80000. www.wit.ru/equipment/server/server-Intel-1cpu-e3-1u-hotswap.asp
      И биржа ещё не малые бабки возьмёт за установку и конфигурирование всего этого, даже если всё и так настроено.
      Так шо, если нет рабочего, проверенного алгоритма, лучше не соваться. Вариант, «щас не пашет потому что скорость мала. а на плазе пойдёт» не прокатит!

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

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