Блог им. algo2000

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

Всем привет!
Ищу книги, где бы описали сам процесс создания трейдингового софта, с примерами классов, типа как обрабатывать ордера, как взаимодействовать с потоками котировок… Не важно, какой язык программирования. 
Пока нашел две
Может кто-то еще встречал книжки наподобие этих? Или не книги, а какие-нибудь хорошие туториалы?
502 | ★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

Читайте на SMART-LAB:
Фото
Снижение военной премии в нефти: что это меняет для доллара и G10
Во второй половине понедельника – начале вторники рынки активно пересматривают премию за худший сценарий на энергетическом рынке, что цепочкой...
X5 проведёт вебкаст по результатам 2025 года
Друзья, всем привет! Рады пригласить вас на вебкаст, посвящённый финансовым результатам X5 за 2025 год. В ходе звонка мы подведём итоги 2025...
⚙️ Как Займер использует ИИ в своей работе
Мы часто говорим, что наш сервис — высокотехнологичный, и это не пустые слова. Ранее мы уже рассказывали, как в Займере работают скоринг и...
Фото
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...

теги блога algo2000

....все тэги



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