Блог им. Robot-Spring
by Team_Spring.Finacier
Первый алгоритм вынашивался долго. Размышления на тему начались еще до того, как была собрана команда, которая может его реализовать.
Простой принцип: решили торговать спред между ближним фьючерсом на доллар и следующим фьючерсом на доллар.
Я бы сказал торговать DV01, или 3-х месячный FRA, или как кому еще угодно. Но эти термины я знаю только в связи со спецификой своей основной профессиональной деятельности. Обыватель и трейдер, торгующий на PA, назовет это просто «спред» и будет прав.
Графики mid’ов ближайшего и следующего фьючерсов на руб./долл., а также спреда между этими фьючерсами за 15.04.2016. Графики построены по принтам стаканов, сделанным ~5 раз в секунду.
Стратегия была выбрана до боли простая: полосы Боллинджера. Полосы рисовались от MA спреда.
Прикинули в Excel по тиковым данным. А именно выгрузили тиковые данные, взяли среднюю за каждую секунду, эти данные и стали input’ом. Сделали приблизительную модель «на коленке». Модель сработала, показала неплохой результат: ~600-1500 руб. в день при торговле 1 парой контрактов. Заложили в модель slippage на каждый трейд 3-5 руб. — модель продолжила работать (с меньшим PL, разумеется).
Сделал более sophisticated модель в Excel.
Кусок “Шапки” этой модели.
Пока тестировались эти данные (т.е. доступные в публичном доступе) за большое количество дней в Excel, Developer сетапил инфраструктуру и накапливал данные с биржи.
Когда, наконец, мы стали получать скрин биржи достаточно часто начали проводить более подробные расчеты. Excel умер.
Head запрогал модель. Упражнение было крайне полезным – появилась возможность тестировать данные с различными параметрами модели и на выходе получать результаты в виде csv, в котором были отражены результаты каждого сценария.
Параметры, которые мы тестировали:
Протестировали, получили неплохие результаты: ~300р. в день на одной паре контрактов (лучшие параметры, как по PL, так и по стабильности).
А дальше Head попробовал такую штуку: что если execution у нас будет не по данным в текущий момент, а на 1/5 секунды позже. Тут то и начались проблемы…
Результаты (PL) каждого набора параметров резко снизились. Стратегия не «держала» slippage. Тем не менее, проведя с Head’ом несколько часов в выборах параметров, которые мы будем торговать (Developer параллельно писал торгующий алгоритм), мы их нашли.
Мы протестировали более 30 тыс. сценариев за ~8 торговых дней. Для оценки наборов параметров придумали такие метрики:
Мы стремились найти набор параметров, при котором был максимальный PL и при этом было максимальное количество сделок. Но также мы хотели избежать такого случая, когда за день мы получаем много сделок с небольшим минусом или небольшим плюсом, а потом делаем 2-3 сделки с высоким PL. Т.е. мы хотели достичь максимальной стабильности нашей стратегии.
В конце концов, мы остановились на ~30-50 наборах параметров, которые нам нравились. Выбрать один мы не могли. Я все придумывал ratios, Head зрел в корень: =MAX(PL).
Моя система оценки не давала однозначного ответа, а с системой оценки Head’а я был немного концептуально не согласен.
Сделали функцию рандома в экселе от 1 до ~30-50. Готово.
Продолжение следует...
2) спрашиваем себя — «какую их часть мы сможем отобрать у ХФТ?».
3) с лицом *okay* уходим торговать cross_MA
Поторговали бы это хотя бы часик на реале, когда вам в дальнюю ногу поналивают в основном, когда боту пора оттуда валить и он просто настолько не успевает переставиться, что перекрываться вы будете на ближней порой на 20-30 рублей хуже. Тогда будет пища для более приближенных к реальности размышлений.
1. Спред у вас построен на исторических данных, в реале он не будет такой красивый
2. Для такой торговли необходимо постоянно котировать заявки в дальнем фьюче, т.к там «дырка» большая (из-за малой ликвидности) и именно она будет много прибыли съедать
3. На вашем месте я бы для такой торговли, как минимум взял бы отдельный канал у брокера
4. Вам придется соревноваться с гигантами чистой арбитражной торговли, которые богаче вас и быстрее вас
Успехов в реализации
… или это пишут те кто сделали первыми и теперь сидят на колокейшене на самописных роутерах и оттуда гоняют всю эту тему
или судя по нику автора(Team_Spring.Finacier) это пишет «спонсор», желающий поведать нам как они всею толпою слили его бабки на граале))