Сегодня посмотрим на работу с сетками в источнике BotTabScreener. Учимся маркетить инструменты не по одному, а пачками.
Сегодняшний пример: GridBollingerScreener.
Тип сетки: MarketMaking.
Логика: Сигналом для выброса сетки служит индикатор Bollinger. Выше верхней линии – выброс сетки в Short. Ниже нижней линии – выброс сетки в Long. По обратному сигналу – закрытие сетки. Кроме того, у нас есть фильтр по ADX для выброса сетки, чтобы она выбрасывалась только под определённую волатильность. Всё это смотрится по нескольким или десяткам инструментов одновременно, с ограничением максимального кол-ва сеток в рынке.
Из интересного, сразу стоит выделить неторговые периоды для сетки, которые настраиваются из робота напрямую.
Для начала Вам следует открыть исходный код робота GridBollingerScreener. Внутри проекта это здесь:
Прошло ровно 12 месяцев Форвард теста нашего флагманского портфеля. Можно оценить эффективность разработки и сравнить статистические показатели Форвардного периода с общими показателями Бектеста за 15 лет:
Общая прибыль за 12 месяцев = $76 000 (средняя по портфелю = $106 000), что составляет чуть больше 100% от расчетного рискового капитала под этот портфель.
Средний месяц = $6 333 (против $8 643 по портфелю)
Avg %WIN = 36,4% (против 44,4% по портфелю), вот здесь заметный провал в показателе прибыльных сделок. НО! Зато мы видим насколько стабилен алгоритм при провале в основополагающем показателе. Такая стабильность стала возможной благодаря грамотной работе с параметром волатильности рынка. Алгоритм имеет на форвардном периоде соотношение средней прибыльной сделки к средней убыточной (avgRR) = 2.3 против 2.05 у портфеля. Отсюда становится понятной причина падения % прибыльных сделок на форвардном периоде — общий рост волатильности рынков+неудачный для алгоритма период 2025-го года: выбивает чаще, но в прибыльных сделках при этом RR больше из-за волатильности. В этой области мы сейчас дополнительно работаем над управляемостью динамичного стопа в сделках. В новой итерации алгоритма, которая выйдет осенью мы уйдем от жесткого рабочего стопа.
Каждый четверг в 11:00 я веду вебинар, отвечая на вопросы посетителей о стратегиях сервиса. Но иногда эти вопросы несут для меня «открытия». Одно из таких было сегодня, мне задали вопрос о стратегии Еще проще, про которую я ничего не знал. Почему? Да потому что ее не было на первых четырех страницах рейтинга сервиса ни по одной из сортировок.
Но график стратегии меня впечатлил и дал четкое впечатление об алгоритмической стратегии. Проверка операций привела меня к выводу, что это стратегия торговли самыми ликвидными фьючерсами Мосбиржи со средним временем в позиции больше 2-х дней, а значит с относительно небольшим проскальзыванием нашего сервиса для активной торговли. Увы, интрадей-стратегии или активная торговля «вторым эшелоном» дают большое проскальзывание для клиентов при автоследовании. Поэтому в моем анализе активной торговли сервиса на первом месте стратегии со средним временем в позиции больше 2-х дней и сделками в будние дни в пределах 10:00-18:50МСК. Эта стратегия удовлетворяла моим вышеуказанным условиям, а по торгуемым инструментам попала в класс диверсифицированных активных стратегий (еще у меня есть класс активных стратегий только на валютных фьючерсах, других нет)
Изменения, баг-фикс и улучшения, которые были внесены в проект за предыдущие четыре месяца.
Очень большими штрихами, ибо что-то я с этими статьями затянул. И у нас тут накопилось 1200!!! Коммитов. Поэтому по верхушкам, и кто работал над проектом. А далее постараемся делать это каждый месяц.
Что делаем глобально:
Скорость разработки постоянно растёт. Последние четыре месяца были самыми активными в плане разработки терминала за всё время его существования:
Продолжаем обзор роботов, использующих в своей торговле сетки.
В этот раз рассмотрим пример робота, торгующего в обе стороны одновременно на пониженной волатильности.
Сегодняшний пример: GridTwoSides.
Тип сетки: MarketMaking.
Логика: Сигналом для выброса сеток (двух) служит снижение ATR (волатильности с учётом гепов). Когда ATR падает на указанное значение за указанное кол-во свечек, выбрасываются две сетки, Long и Short, по текущей цене.
Для начала Вам следует открыть исходный код робота GridTwoSides. Внутри проекта это здесь:
+:
GD, SV, GZ, SR, RI, NA, Si, Eu, CR, PT, RN, TB
0:
NG, MX, SF, PD, GK, PZ
-:
BR, LK, UC, VB, YD, NK
В совокупности получилось ~+10% с начала года.
Работать, работать и работать...
Начнем с традиционной таблицы
Июнь, как и май с январем, снова был убыточным месяцем, с примерно таким же убытком, как в январе и мае этого года. Причиной этого была «пила» до 19 июня на акциях из-за речи Набиуллиной после снижения ставки ЦБ на 1% годовых 6 июня:
MCFTRR -0.02%;
GAZP+LKOH+SBER+div -0.74%;
Фьючерс на индекс РТС -0.13%.
И мой максимальный дневной убыток за этот период был как раз 6 июня -2.72%, а общий больше всего падения июня: -5.72%. А с 20-го июня меня «подвело» только 24 июня с известным заявлением Трампа о перемирии Израиля и Ирана и сильным падением цен на нефть после него. Если б не 24 июня, то я бы отбил 2.1% убытка до 19-го, но, увы, получилось только +0.6%.
Традиционное для моих обзоров сравнение с другими бенчмарками с начала года:
Продолжаем обзор роботов, использующих в своей торговле сетки. В этот раз рассмотрим пример робота, торгующего в обе стороны по контртренду через индикатор Bollinger.
Робот-пример: GridBollinger.
Тип сетки: MarketMaking.
Логика: Сигналом для выброса сетки служит индикатор Bollinger. Выше верхней линии – выброс сетки в Short. Ниже нижней линии – выброс сетки в Long. По обратному сигналу – закрытие сетки.
Для начала Вам следует открыть исходный код робота GridBollinger. Внутри проекта это здесь:
Начинаем обзор роботов-сеточников из публичной сборки OsEngine.
От включения сетки по трендовому сигналу до полноценного маркет-мейкинга на две ноги в пару по сигналу ускорения бумаг друг к другу (снятого с графика минимальных остатков от разницы между двумя ценовыми рядами с оптимальным мультипликатором).
Рассмотрим пример: GridLenearRegression.
Тип сетки: Открытие позиции.
Логика: Сигналом для выброса сетки служит индикатор линейной регрессии. Выбрасывает сетку типа «Открытие позиции» и закрывает ее общим трейлинг-стоп ордером. Когда цена закрытия свечи оказывается выше верхней канальной линии индикатора — сетка выбрасывается.
Для начала Вам следует открыть исходный код робота. Внутри проекта это здесь:
Сегодня посмотрим пример робота, который в своей логике запрашивает открытый интерес.
Робот технический, как пример, не претендующий на прибыль.
Входит в позицию лонг, когда OI падает на последней свече на указанное кол-во контрактов.