Многих почему-то пугает тестирование алгоритма на Forex, поэтому я решил взять понятный для всех Si. Впрочем, Forex (с его USD/RUB) тоже пригодится.
В своём предыдущем посте я уже говорил, что лучшая (по определённому показателю своей результативности на истории конкретного инструмента) торговая стратегия (т.е. комбинация значений параметров алгоритма) гарантировано не будет лучшей на другом инструменте или на этом же инструменте в будущем. Все алготрейдеры это знают, но лично мне каждый раз в это верится с очень большим трудом. Откуда затруднения? Я объясню.
Если взять результаты бэктеста алгоритма на паре USD/RUB (котировки Forex-брокера Dukascopy с марта 2007 г. по сентябрь 2017 г.) и отсортировать их по коэффициенту линейности (далее — L), то лучшая стратегия (L=0.99811) будет выглядеть так:
Отношение среднегодовой прибыли к среднегодовой max[просадке] (далее — R) — 3.61 (без учёта потери на спреде).
Вот казалось бы, что может пойти не так при использовании этой стратегии в будущем (на этом же инструменте или на смежных)? Чтобы это выяснить, я протестирую эту же стратегию (без изменений) на смежном активе: фьючерсе на USD/RUB (свечной график M1 от Finam с декабря 2008 г. по декабрь 2020 г.):
Основные показатели результативности упали почти в 2 раза (R=1.96), линейность тоже заметно ухудшилась (L=0.98239). Сказываются как другие котировки, так и отсутствие «ночных» сессий. Примечательно, что накапливаемая прибыль всё равно «выходит» на линию своей регрессии, но в целом стратегия уже не является лучшей.
Теперь важно проверить, будет ли ухудшаться оптимальная стратегия или же проявит устойчивость. Оптимальную стратегию для EUR/USD я тщательно подбирал по своей методике и результат демонстрировал в предыдущем посте [
ссылка]. Она же (без изменений) на Si:
Линейность — отличная (L=0.99550), основные показатели результативности тоже достойные (R=2.51). Устойчивость считаю доказанным фактом. Осталось только выяснить, какой будет чистая прибыль.
Средняя прибыль на сделку составляет 0.0273%. Для текущей цены Si=75000 это 20.5 рублей (т.е. шагов цены). Визуально роботы держат спред в 2-3 шага, но не всегда им это удаётся, поэтому лучше заложить 5 рублей. Суммарная комиссия (тоже с запасом) составит 2 рубля «на круг» (т.к. биржевая комиссия будет «скальперской»).
Отнимать 7 рублей от результата каждой сделки не считаю корректным (ведь в прошлом менялась как ликвидность, так и комиссия), поэтому для экстраполяции текущих торговых условий в прошлое я буду вычитать 7/75000*100=0.009(3)% из процентной прибыли каждой сделки (не забывая, что для сделок с исполненными лимитными TP достаточно вычесть лишь половину спреда):
L=0.99097, R=1.52, суммарное время в позиции — 8.76% от календарного, количество закрытых сделок — 4257 шт., среднее время в позиции — 2.17 часа, эффективность использования капитала (т.е. средняя процентная прибыль за сутки удержания позиции) — 0.2129% (без плеча), средняя чистая прибыль на сделку — 0.0192% (в текущих ценах — 14.4 руб.), торговля фиксированным депозитом без переноса позиции через любые перерывы дольше часа.
С таким результатом не поучаствуешь в ЛЧИ. А ведь это и есть «грааль», если разобраться. Потому как с плечом 4.4 и среднегодовой max[просадкой] на уровне 20% (которая в полной мере реализуется в первый год только если прийти на рынок в самый неудачный момент) можно рассчитывать на 30% среднегодовой чистой прибыли. Это же результат лучших американских инвесторов за всю историю [
ссылка]! И с учётом ежемесячного реинвестирования усреднённой части прибыли этих «легенд» можно будет даже превзойти.
Напомню, что я использовал комбинацию значений параметров, которая оптимальна для EUR/USD. Если же использовать комбинацию оптимальную именно для Si, то результат будет лучше.
Какие ещё варианты улучшения показателей L и R у меня есть?
- одновременная торговля нескольких стратегий на одном инструменте
- одновременная торговля разными инструментами
- вход в сделки не «по рынку», а с помощью ограничительных мер
- дополнительная фильтрация сигналов алгоритма
Готов сотрудничать с теми, у кого есть ресурс под такой результат (т.е. «длинные» деньги). Наличие своей инфраструктуры при этом только приветствуется.
в рубле был мегадвижняк в 2014г когда он за 3 месяца удвоился
я не вижу этого движняка на эквити
средняя сделка 0.0192% крайне мала… я бы стал торговать от 0.10% но это уже впритык… там дело не в комиссах… а в реальных сделках у которых есть проскальзывание, и частичное исполнение заявок
это днище кидать заявку по рынку в надежде на узкий спред
Но ваше сообщение можно прочитать по разному. Проскальзывание может совсем убить систему, может снизить перформанс, а может просто повысить требования к инфраструктуре (например).
Я поэтому вас и переспросил, какое по вашему мнению среднее проскальзывание? 0.02%, 0.05% или 0.1%?
там короче фишка… как только твоя заявка в 3-4 раза превысит среднюю заявку в стакане, то от твоей большой заявки сразу станут играть… и исполнение лимиток резко падает...
ну и так же в рыночных заявках… сгребаешь 2-3 спреда...
решается проблема просто
кстати насчет инфрастуктуры… вот например есть фьюч роснефти например в нем в день 2000 сделок… это примерно одна сделка в минуту в лучшем случае… ты хоть что делай со своей инфрастуктурой… но ни купить ни продать ибо неликвид… можно конечно кинуть маркет и сгрести стакан… прикол в том, что тот же ри уже на 200-300 контрактах неликвид
рассказывай лучше, как обошел :)
Повышенная волатильность — это хорошо, но алгоритм же не в лонге сидит всё время )
0.0192% — это не просто средняя сделка, это средняя «чистая» сделка. Следовательно, её величина уже не имеет принципиального значения. Хотите «вливать» большие объёмы в рынок? Есть фьючерс на S&P 500 [ссылка]. К тому же депозит можно разделить между разными площадками/инструментами. Или же входить только в те инструменты, где сработала лимитная заявка, выставленная с экономией спреда. Ну же, для чего смекалка нужна?!
1 нельзя посмотреть реальную просадку т.е то что было между сделками
2 нельзя посмотреть длительность боковиков
3 ты пойми — начнешь реально торговать сам все увидишь… насколько у тя средняя мала
4 кроме того… надо понимать что есть еще дополна причин по которым бот может оказаться нерабочим — например торгует во время клира, или входит в позу в момент гэпа…
5 спекулям нужен движняк — что толку в ликвидности, если актив тухлый?
6 т.к средняя очень мала просто попробуй скачать котировки в другом месте и посмотри как изменилась средняя — либо вместо си возми еуро… или цены денежного рынка на моекс usdrub_tom
7 обычно бот зарабатывает в 2-3 раза ниже тестов… т.к тесты самый лучший вариант, который увы не повторится
1. Пост был об устойчивости, а её мне удобнее исследовать по другой шкале. При этом отношение R, учитывающее время, я тоже привёл.
2. Алгоритм не рассчитан на то, чтобы удачно «выскочить» из рынка через месяц. Тут гораздо важнее, что будет на горизонте. Впрочем, шкалу времени инвестору я всегда могу показать.
3. У меня есть резервы для увеличения средней сделки.
4. Первые две минуты после перерыва не торгую.
5. На сильных движениях не обязаны зарабатывать все алгоритмы. Вы же не знаете, наступления каких событий я жду.
6. Именно с EUR/USD на Si я и перенёс стратегию без изменений. Переходить на заведомо худший спред в USDRUB_TOM смысла нет. Но если нужно будет перейти, то я проведу там новую оптимизацию.
7. Мой эксперимент с переносом как раз и призван показать отсутствие этой проблемы.
Пытаться отхватить самый лучший вариант на OOS, в данном случае на бою, не стоит. Бесперспективная история с повышенным риском получить обратный эффект за счет подгонки.
Если пост вообще не про это, будем считать что это просто мысль повисшая в воздухе).
Знаете, как-то одни «инвесторы» развернулись и ушли, как только я сказал, что анализирую только цену. Меня уже удивить невозможно.
На счёт приемлемости я инвесторам тоже самое говорю. А они всё хотят купить Lamborghini по цене картошки. Банально не понимают, куда пришли.