Блог им. DmitriyDehtyarenko

Избитая алго тема

Всех приветствую!

Вопрос, к алгоритмистам. На чем остановились?

Начал писать (ну как начал, хорошие ребята пишут) на Multicharts.NET и столкнулся с ужасными багами в ядре. Двойные исполнения, «забытые» и «потерянные» ордера. Оказалось, что МС работает в двух режимах: «можно тестить на истории» «нельзя тестить, но есть доступ к ордерам».

Сейчас переписываем код на Ninja. Из всех более-менее доступных платформ он лишен болячек МС. Проверим.

На горизонте моячит SmartQuant.
На сколько он хорош? Кто юзает его?

Ну и писать самопал. Тоже выход, но рутинный и ресурсо емкий.

StockSharp и TSLab не обсуждаю, по понятным причинам.
★1
38 комментариев
Остановился на том, что все работает без привязки к конкретной платформе + коннекторы.
Ninja вроде неплох (но есть и собственные приколы), но привязываться к нему нет смысла.
avatar
как тестер multicharts подходит отлично. обычный только не net.
ну а так лучше самопал в качестве робота. я бы не доверил никаких денег программе написанной другим для самостоятельной торговли.
avatar
Много лет уже на TsLab. Никаких проблем.
avatar

Какой посыл? Вытащить из комментов весь диапазон вариантов или посмотреть распределение?

У меня самописное, но иногда хотелось все бросить)), да и щас временами)). Но конечно удобно когда оброс инфраструктурой, какие-нить модули, скрипты щас собираются относительно быстро потому что уже много всего есть.

avatar

www.quantacula.com/

Такую недавно нашел. Идейный продолжатель дела велс-лаба. Торговать тоже вроде можно через них, вроде коннектор есть к IB. Вроде, закрывают проект под этим брендом, перерождается в Wealth-Lab 7.

avatar
Amibroker уже много лет. И не парюсь)
avatar
Использую самопал. Рад. До этого ходил по граблям MC и потом MT5. 
avatar
Кто такие алгоритмисты?
avatar
$100, 21:48 алгоритмисты пишут алгоритмы. Программисты (кодеры) пишут программный код на поставленные им алгоритмы.
Кто ясно мыслит, ясно излагает. И наоборот.
avatar
Я бы все  таки посоветовал Вам StockSharp.  Поддержка у них плохая, но код хороший. Очень мощный инструмент.
avatar
LevNNN, инсайдеры проекта посоветовали пройти мимо. возможно, код хороший, но он документирован?
Дмитрий Дехтяренко, Я более трех лет использую их  библиотеку. У до этого меня был опыт программирования, поэтому мне структура их платформы  понятна и освоил довольно быстро. Для новичков в программировании  — тяжеловато будет. Документация есть, но скажем — «суховатая».  Примеры, по которым можно разобраться — есть.
Но библиотека мощная. Версии обновляют.  Техподдержка у них плохая. Отношение примерно такое -  понял — молодец, не понял — не наш клиент. Но не смотря на все это -  в целом доволен и не на какую другую платформу в ближайшем будущем уходит не планирую. 
avatar
Для чего писать код? Для каких торговых терминалов, каких тайм-фреймов?
Для торгового робота или тестовой системы?
Мои интересы сейчас на торговле через Quik в деци-секундах. Таково время прихода OnTransReply() после подачи заявки.
Отсюда естественно получаю ответ.
Для тестирования Visual C++ даёт хорошую скорость на нескольких ядрах CPU. Ещё больше ускоряет Visual С++ AMP на GPU, если объём данных не слишком велик.
Для торгового робота QLua обеспечивает реакцию в 0.001 сек. Для Quik всё остальное будет извращение.
avatar
Rostislav Kudryashov, у меня все проще — тики разной периодичности. Иногда бывает быстро. Но не критично. Бывает, вход-выход в рамках секунды. Но это редко. МС вывозит. Если бы не тупил, был бы шикарный аппарат.
Дмитрий Дехтяренко, 22:28 уточняю. Сейчас тестирую тики очереди заявок (стакана). www.qscalp.ru/qsh-service www.qscalp.ru/download
Если регистрировать только тики с лучшими ценами, игнорируя изменение количества лотов в заявках, интервал между тиками от 0.1 сек до 2 сек на фьючерсе индекса РТС.
На день от 10:00 до 18:45 получается 40-50 тыс тиков.
avatar
Rostislav Kudryashov, 
За сегодня 325 тыс тиков. Данные типа B. Что то вы не то собираете :)



Дмитрий Овчинников, Ростислав копит не сырой поток, а фильтрованный. А уж после фильтра можно и втрое и в сто раз меньший поток получить. 
avatar
SergeyJu, 
что это за фильтрованный поток? 
тот, на который хватило скорости у ТС?
есть стандартные типы данных: Full Orders Log (Тип А) и Top of the Book (Тип B), все остальное какой-то авиамоделизм, извините :(
Дмитрий Овчинников, ничего подобного. Взятие минутных свечей = фильтрация. Взятие только тех тиков, в которых цена отличается от предыдущей — фильтрация. Не надо исходить из единственной точки зрения — хфт. Люди торгуют и ендофдей, и часовки, и 15-минутки, и рэнко. Зачем им та часть потока, которая не несет для их систем информации? 
avatar
SergeyJu, 
я отвечал на вполне конкретное сообщение.
Перечитаем вместе?
Сейчас тестирую тики очереди заявок (стакана). www.qscalp.ru/qsh-service www.qscalp.ru/download
Если регистрировать только тики с лучшими ценами, игнорируя изменение количества лотов в заявках, интервал между тиками от 0.1 сек до 2 сек на фьючерсе индекса РТС.
На день от 10:00 до 18:45 получается 40-50 тыс тиков.
Он регистрирует тики с лучшими ценами в стакане, игнорируя любые изменения внутри стакана, то есть интересен только бестбид\бестофер. Это и есть искомый Top of the Book (Тип B). Каким образом получается 50 тыс тиков в сутки, когда у меня получается 350 тыс? Значит часть данных пропадает. 

Недостоверные данные существенно хуже их отсутствия :(

Про минутки здесь речи не идет, это совсем другая тема, по минуткам я тоже работаю там, где этого достаточно.
Дмитрий Овчинников,  В терминологии мосбиржи есть полный ордерлог, и есть поток сделок, который намного меньше и который обычно и называют тиками. Если я из этих тиков оставлю часть, это и будет фильтрация. Причем очень быстрая. Автор выразился не вполне понятно, но можно предположить, что он оставляет только заявки, которые относятся к лучшему спросу и лучшему предложению, а остальные игнорирует. . 
Я проверял для сделок. Одно только выбрасывания сделок с повторной ценой (по моим старым прикидкам на Ри) сокращает поток раза в 2, если не больше.

avatar
Rostislav Kudryashov, терминал конечно тормозной TWS от IB. Но для текущих задач, достаточно.
Дмитрий Дехтяренко, так у них же гейтвей есть, зачем вам терминал?
avatar
CloseToAlgoTrading, теже грабли только в профиль. просто без оболочки. и там и там ограничения
Дмитрий Дехтяренко, а какие именно ограничения вы видите?
Я могу предположить только лишь скорость обновления 200-300ms, не совсем реалтайм.
avatar
CloseToAlgoTrading, в догонку лимит 60 обращений за 10! мин.
Дмитрий Дехтяренко, так это же для исторических данных, выгрузили раз да и достаточно :)? Хотя конечно если это действительно проблема которая стоит остро, то можно использовать другого дадапровайдера. 
Но Я бы не сказал, что уж сильно все тормозное у ИБ в плане работы с их апи. 
Правда, стоит сказать, что я никогда не замерял и не сравнивал с другими :).
Когда 100 лет назад Герчик рекламировал lightspeed, я даже у них демо брал, правда потом решил, что для моих торгов это дороговато, но у них раньше все быстрее много работало чем в иб, хз как сейчас.

avatar
Rostislav Kudryashov, тестовый стенд собран на MC.Net. Тестит хорошо и корректно. Но в реале жестко тупит.

В общем, картина ясна. В перспективе, самопальные коробочки.
 Благодарю Всех за ответы…

еще не остановился, только начал. TWS IB, Java, Akka, MariaDb.

набор инструментов по причине привязки к брокеру и «профессиональной деформации» :)

 

edit 10.feb: с удивлением обнаружил desktop app от TradingView. судя по всему, это та же команда, что и MultiCharts.

avatar
Artyom T, Дело было так, в Ростве-на-Дону команда писала Tradestation, потом пути разошлись и они запилили — Multicharts. И да, TradingView — их рук дело.
Дмитрий Дехтяренко, вот если бы TV добавил импорт тикеров со стороннего сервиса, по API, который специфицирован ТV, цены бы им не было!
avatar
Обратите внимание на Rithmic — минимальные задержки для ритейл API. Но придется самостоятельно собирать данные, что для тестирования даже лучше — как и что собирает и использует NINJA это черный ящик и достоверность тестов зачастую сомнительна. 
avatar
ELab, Да, Ритмик хорош. Но мой якорный инвестор в IB… Для себя — ритмик идеален.
МС ест ритмик. И тесты в МС очень качественные. Чего уж там. Ninja только начал щупать. Время покажет.
Дмитрий Дехтяренко, у NINJA есть еще один момент — он падает, если посылать сотни ордеров. Ну или падал давным давно, когда я пытался его использовать.
avatar
TWS + API + Python, Pandas, CryptoFeed, ML?
avatar
Zaharov Ilya, можно и так…
Дмитрий Дехтяренко, на Росс рынке туго с питоном но вот за бугром это намбарУан для алготорговли 😊
avatar

теги блога Дмитрий Дехтяренко

....все тэги



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