Коллеги!
А есть ли на рынке коммерческое изделие, позволяющее тестировать стратегии на тиковых данных и размещать ордера на исполнение без косяков, в ценовой категории до $100k (аренда — до $5k)? Т.е. нужен терминал/тестер, оптимизатор не обязателен. CQG не предлагать.
Сам для пары пилотных HFT-проектов использую TSLab и MT5, параллельно ваяется своя енжина.
Оба приведенных продукта неплохо работают, пока мы не начинаем работать с задержками не больше минуты (скромно молчу про секунды и миллисекунды, про микросекунды даже не заикаюсь). Дальше оба продукта начинают грубо косячить, как на тесте, так и на исполнении.
Поддержка все всасывает, что-то корректирует, по чему-то явно отписывается, что не видит смысла вносить в продукт измененения и просит учитывать различия ручками и/или с помощью самописного софта.
Не хочу (и не буду) устраивать здесь
говносрач продуктивное интеллигентное обсуждение указанных продуктов, но косяков в них полно (на малых таймфреймах), что-то лечится (напильником — реверс-инжиниринг и переписывание отдельных dll), что-то не лечится (лезть в ядро некошерно, да и незачем).
Так есть разумные по цене профессиональные решения? Или только ручками ab ovo?
С уважением за любой конструктивный ответ
P.S.
Говнотерки продуктивное и интеллигентное обсуждение деталей конкретных продуктов поддерживать не буду. Не продаю, а покупаю.
P.P.S. Под нормальным продуктом понимается продукт с исчерпывающей документацией (хотя бы для программера)
зы. В целом, ведь любой фреймворк для тестирования позволяет этот делать, если у вас есть данные конечно.
Отвечу — проблема не в данных, а в корректности исполнения лимитных ордеров на основании потока тиков (в случае обсуждаемых продуктов даже на основании потока минутных баров).
К примеру — Вы выставили лимитник по close предыдущего бара. У нового бара open лучше. Все известные тестеры (в т.ч. 2 из содержания топика) исполнят Ваш ордер по Open(NextBar). В жизни Вам, конечно, такого никто не позволит — раз решили купить по Close(PrevBar), то и нальют в реале по Close(PrevBar). И таких нюансов — 100500 штук.
С уважением
Вы там еще про 100к написали… т.е. вы еще и объемы думаете учитывать? тогда наверное сложно будет что то найти…
Нет. Это была верхняя граница цены продукта
С уважением
и сразу вопрос а будет ли сделка? тестировщик напишет что сделка была,
а в реальности все зависит от очереди в стакане
ves2010, обычно принимается консервативное соглашение, что сделки не будет. Либо выносится эта настройка в параметры тестера.
Переходим на 1 левел ниже
В своем расчете Вы абсолютно правы
Я, конечно, подгружаю не только тиковую историю, но и историю бид/аск с объемами
И тут — вуаля — оказывается, что дискретность подгрузки тиков и бид/аск зависит от структуры внутреннего таймера тестера/терминала.
По-простому: новый бар не пришел — все недошедшие тики и биды/аски висят в сферическом вакууме. Пришел — падают сразу большой кучей.
Если это рынок — то я — балерина Большого Театра.
С уважением
в реальных торгах сделки идут быстрее чем данные о цене...
т.е. ставим лимитку… она исполнилась и приходит сообщение, и только спустя некоторое время приходит цена… и как такое тестить?
Стакан с объемами руками обрабатывать
Если, конечно, отсутствует опция last call у ММ
Ну т.е. что делать, примерно понятно
Неясно другое, то ли это я такой е"№; тый, то ли это никому не надо?
С уважением
Грааль — в математических идеях и моделях рынка (IMHO)
Все остальное — колокейшн, короткие кабели, работа поверх/вместо протоколов — детские игрушки. Слишком много энтузиастов. Аппаратные преимущества в-основном выбраны лет 10 назад.
С уважением
этим балуется брокерня, т.к они видят скопления стопов и их срывают
Амиброкер по любой
limit_price=ref(c,-1)*0.999;
Buy=L<limit_price;
BuyPrice=limit_price;
т е можно цену задавать непосредственно в коде
2. Можно написать Executer, который по реальному потоку Tick-ов и bid/ask — ов будет исполнять ордера. Получите некоторую приближенную оценку идеи.
3. Но лучше сразу переходить на реальные торги малым size-ом. И смотреть как происходит реальный execution.
Ведь главный плюс быстрых стратегий в том, что Вы сразу или, скажем мягче, в течение непродолжительного времени увидите и поймете работает идея или сразу в «топку». Вы сразу увидите все свои косяки и поймете мясо Вы или нет.
В 2011 — 2014гг я делал так, как в пункте 3. У меня было не очень много сделок по сравнению с современным уровнем. Примерно 1000 в день на RI.
Постепенно снижал к-во сделок. Остановился где-то на 320 — 350.
Это было оптимально для моих стратегий.
Ну а потом началось — Изменение шага цены, Увеличение комиссий.
Ухудшение performance. Значительное. Я понял, что это Тренд.
И завязал со своими быстрыми (секундными ) стратегиями.
Я желаю Вам успехом в этом направлении.
Но хочу подчеркнуть, что главные сложности не в том, чтобы что-то реализовать и протестировать, а в том, что простое какое-нибудь административное решение, например, очередное увеличение комиссии, навсегда уничтожит Ваш волшебный алгоритм окончательно и бесповоротно.
Всего хорошего.
1. Конечно, все протестировал (теория, тики, бид/аск)
2. Конечно, запустил бота на копейках
3. Конечно, увеличение комиссий убьет тему
Но технические вопросы все равно остаются
С уважением
Тестер без знания особенностей биржи, тоже бесполезен. Вот смотрите, тест простого маркет мейкера на тиках на XBTUSD, биржа BITMEX. Можно подумать — грааль, если не знать, что в такие моменты биржа просто уходит в оверлоад и не принимает ордера.
Ну т.е. Вы попали своим ордером между лучшими бидом и аском и биржа Вас автоматом выкинула режектом ордера?
Странновато
С уважением
С моей точки зрения на уровне микроструктуры рынка единственное отличие крипты от обычных рынков — в модели маркетмейкинга. Рибейты сильно влияют на поведение цены на малых таймфреймах — это да.
С уважением
Если нужно hft, только своё пилить с учётом всех особенностей.
Если биржа в моменте не приняла ордер — потеряли 2 операции
Если она сделала это 100500 раз подряд — это помойка, а не биржа
С уважением
Если делать для прогонов по одному символу, то такая надстройка пишется за один вечер. Если придумывать навороты — неделя максимум.
Все, что нужно от MT5-Тестера — его внутренний таймер, подача тиков, облачный оптимизатор.
Надстройка — только учет исполнения.
Такое ощущение, что программеры некомпетентны. Не нужны никакие DLL или разборки с MQ, чтобы из MT5-тестера сделать то, что хочется.
fxsaber, когда Вам прикроют обнаруженную лазейку — только вопрос времени. =)
А есть уверенность, что его внутренний таймер корректно работает?
Есть определенные сомнения по этому поводу...
С уважением
Я изначально обещал, что с моей стороны дискуссий не будет.
С другой стороны, Вы неплохо знакомы с работающим на меня программистом — вместе активно долбили поддержку МТ5 1-1.5 года назад.
С уважением
Многие люди работают с поддержкой. Информация по программисту ни о чем.
Я не хотел троллить Ваш предыдущий пост, поэтому старался заранее уйти от обсуждений.
Более-менее полный список косяков конкретно МТ5 должен быть готов примерно во 2-й половине ноября. Если Вы не против — попробую выложить его здесь на публичное обозрение.
С уважением
1. Как полноценная торговая платформа. Тогда прокладка в виде сервера обязательна.
2. В виде урезанного торгового Терминала. Когда пишется фидер, который торговое окружение биржи (для крипты так делается часто) отображает в виде кастомных символов и торгового состояния счета. Это делается напрямую через API биржи.
А торговый робот запускается на кастомном символе с минимальными изменениями. Все работает почти так же, как на родном символе для робота. Только отправка ордеров идет через «фидер обратной связи».
Т.е. режим Терминала такой, что в самом Терминале пишется своего рода торговый индивидуальный сервер.
Так в одном Терминале MT5 можно торговать одновременно много бирж, например.
www.deltixlab.com/products/
с Россией похоже не работают, веб сайт открывается через VPN
когда-то читал их документацию, выглядит солидно. Но дорого
У меня в моменте 2 базовые системы — 344 сделки/сутки и 500 сделки/сутки.
Настоящие HFT-шники со мной даже с"№ть не сядут )))
Просто качество текущих (российских? доступных?) терминалов потихоньку пробивает уровень плинтуса...
С уважением
Правильно ли я понял, что выставляя заявку например
«Buy 1 SiZ9 @65500 Limit»
Вы считаете исполнение когда Price = 65499 ?
Если это так, то на мой взгляд, получается искусственное приписывание себе 1 MinStep в плюс. Что существенно влияет на результаты тестов в сторону улучшения.
Допускаю, что я что-то не понял в Вашем комментарии.
Идеально только касаться редко получается, поэтому для Тестера оставляю исполнение по касанию. На реале при первом касании может не исполниться, зато в виртуальном исполняется и уже держится лимитка на этом уровне, пока на реале не исполнится, либо пока в виртуале не закроется поза.
лично я делал по касанию с Random.
Замедляет немного весь процесс.
Но я считаю это лучше пересечения.