Блог им. algo2000

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

Всем привет!
Ищу книги, где бы описали сам процесс создания трейдингового софта, с примерами классов, типа как обрабатывать ордера, как взаимодействовать с потоками котировок… Не важно, какой язык программирования. 
Пока нашел две
Может кто-то еще встречал книжки наподобие этих? Или не книги, а какие-нибудь хорошие туториалы?
★1
14 комментариев
А смысл от таких книг? У тебя есть вендор, брокер, DMA — они работают по какому-то протоколу — берешь и гуглишь реализацию.
Виталий Зенин, посмотреть хоть на пример более-менее грамотной реализации
avatar
algo2000, а как вообще с программированием дело обстоит?
Виталий Зенин, нормально, но так, что бы посмотреть просто уже чей-то готовый код, без объяснений — немного не комфортно)
avatar
algo2000, https://github.com/PlamenStilyianov/Quant мб что-то подойдет
Смысла нет: у каждой торговой системы свой  API. Для квика свой, у того же IB — другой, у той же плазы — третий и т. д. и т. п.. Каждый раз приходится читать руководство и главное смотреть и разбирать примеры. 
avatar
А. Г., Да нет, это вы говорите про детали, ну там какие поля используются, форматы данных и прочее. Но это мелочи, нюансы. Я так понимаю, вопрос про то, как сделать софт чтобы и поддерживать легко было и расширять и углублять, чтоб если у тебя 10 интеграций с разными брокерами, например, чтоб все они были единообразны и не надо было с корнем из проторговщика вырывать одну и на скотч приматывать другую)). Все это про архитектуру приложения, но типа в срезе конкретной предметной области. 
avatar
Replikant_mih,  не только поля, но и организация обмена разная. Не представляю, как однообразно сделать в том же квике, где три варианта:
— Qlua;
— библиотека TRANS2QUIK.dll под С++;
— текстовые файлы;

и в том же API от IB. 
avatar

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

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

 

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

 

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

 

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

avatar
Replikant_mih, ну да, вот именно для этих целей хочется что-нибудь изучить)
avatar
 Мне кажется надо либо читать про общие паттерны разработки и архитектуру и самому натягивать на предметную область, либо пробовать и ошибаться, либо на гите искать похожие проекты и подсматривать интересные моменты.
avatar
Я бы зарегил тестовый доступ и начал сам делать от малого к сложному
avatar
Андрей К, а какие брокеры предоставляют тестовый доступ?
avatar
algo2000, это не к брокерам. Это к самой бирже. У МосБиржи есть тестовый контур. Пишите им письмо с предоставлением доступа к тому или иному сектору рынка, к тому или иному протоколу. Они дают доступ и начинаете работать. На сайте у них гляньте раздел, например вот этот https://www.moex.com/s438

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

теги блога algo2000

....все тэги



UPDONW
Новый дизайн