algo2000
algo2000 личный блог
14 июня 2020, 10:08

Книги по алготрейдингу про торговую инфраструктуру.

Всем привет!
Ищу книги, где бы описали сам процесс создания трейдингового софта, с примерами классов, типа как обрабатывать ордера, как взаимодействовать с потоками котировок… Не важно, какой язык программирования. 
Пока нашел две
Может кто-то еще встречал книжки наподобие этих? Или не книги, а какие-нибудь хорошие туториалы?
14 Комментариев
  • Виталий Зенин
    14 июня 2020, 10:21
    А смысл от таких книг? У тебя есть вендор, брокер, DMA — они работают по какому-то протоколу — берешь и гуглишь реализацию.
      • Виталий Зенин
        14 июня 2020, 10:54
        algo2000, а как вообще с программированием дело обстоит?
  • А. Г.
    14 июня 2020, 11:39
    Смысла нет: у каждой торговой системы свой  API. Для квика свой, у того же IB — другой, у той же плазы — третий и т. д. и т. п.. Каждый раз приходится читать руководство и главное смотреть и разбирать примеры. 
    • Replikant_mih
      14 июня 2020, 19:57
      А. Г., Да нет, это вы говорите про детали, ну там какие поля используются, форматы данных и прочее. Но это мелочи, нюансы. Я так понимаю, вопрос про то, как сделать софт чтобы и поддерживать легко было и расширять и углублять, чтоб если у тебя 10 интеграций с разными брокерами, например, чтоб все они были единообразны и не надо было с корнем из проторговщика вырывать одну и на скотч приматывать другую)). Все это про архитектуру приложения, но типа в срезе конкретной предметной области. 
      • А. Г.
        14 июня 2020, 20:57
        Replikant_mih,  не только поля, но и организация обмена разная. Не представляю, как однообразно сделать в том же квике, где три варианта:
        — Qlua;
        — библиотека TRANS2QUIK.dll под С++;
        — текстовые файлы;

        и в том же API от IB. 
        • Replikant_mih
          14 июня 2020, 21:59

          А. Г., Ну вот на немного попроще примере могу проиллюстрировать. 

          У меня есть базовый класс (на C#, например, этот специальный тип классов называется интерфейс, на питоне этого нет) «Поставщик исторических данных» эта штука содержит один метод «дай мне исторические данные по такому-то тикеру, такой-то TF, с даты по дату», фактически поставщики исторических данных это классы наследники.

           

          Так вот, любой мой софт, если этому софту нужны исторические данные, я там завожу объект типа «Поставщик исторических данных» и через этот единственный метод обращаюсь для получения данных, мои любые софтины не заботятся вообще о том, как работает получение исторических данных.

           

          А как оно работает? Есть несколько классов наследников от класса «Поставщик исторических данных», например, один из файлов на диске историю берет, другой класс, допустим, из базы, третий — от брокера через его API подтягивает и т.д. Все эти классы обязаны реализовать единообразный метод «Дай мне исторические данные», единообразный в части какие параметры аргументы принимать и что отдавать. Согласитесь, то как эти классы забирают исторические данные — очень отличается.

           

          Если вернуться к брокерским API — да, там могут быть принципиально разные схемы, например, где-то идет подписка на данные, где-то ты сам дергаешь метод чтобы получить текущую свежую инфу. Ну будет такая вариативность значит. Понятно, что всегда куча нюансов, ну, надо как-то с этим работать).

  • Replikant_mih
    14 июня 2020, 19:58
     Мне кажется надо либо читать про общие паттерны разработки и архитектуру и самому натягивать на предметную область, либо пробовать и ошибаться, либо на гите искать похожие проекты и подсматривать интересные моменты.
  • Андрей К
    15 июня 2020, 15:59
    Я бы зарегил тестовый доступ и начал сам делать от малого к сложному
      • Андрей К
        16 июня 2020, 11:04
        algo2000, это не к брокерам. Это к самой бирже. У МосБиржи есть тестовый контур. Пишите им письмо с предоставлением доступа к тому или иному сектору рынка, к тому или иному протоколу. Они дают доступ и начинаете работать. На сайте у них гляньте раздел, например вот этот https://www.moex.com/s438

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

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

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