Блог им. raxat

Тест устойчивости торговых систем

Тест устойчивости торговых систем

В процессе тестирования на живом рынке многие торговые системы начали давать противоречивые результаты и стало понятно, что просто иметь систему и четко соблюдать ее недостаточно для успеха на бирже. Нужно переходить на новый уровень и сделать следующее:

1. Подключить торговый журнал для автоматического учета сделок.

2. Для тестирования гипотез создать отдельную таблицу, где будет учет прибыльных или убыточных сделок по каждой конкретной гипотезе. Нужно точно в цифрах видеть, что может работать, а от чего лучше сразу отказаться.

3. Улучшить методику бэктестов и отсеять явно нежизнеспособные системы. Сосредоточиться только на тех, где есть хоть какие-то признаки устойчивости и за которые мне могут дать денег.

Первое жизненно необходимо любому системному трейдеру и я решил вопрос через подключение своего аккаунта в Т-Инвестициях к сервису TradersDiaries. Это очень простой процесс — генерируете API-токен в режиме read-only, вставляете его в нужное поле в TradersDiaries и сразу видите всю историю своих сделок, топ-трейды, топ-дни и другую полезную информацию.

Второй пункт реализовал в Google Spreadsheets, чтобы таблицы были доступны в любом месте и в любое время.

На третьем пункте нужно остановиться отдельно. В моем случае мне нужно было понять, где я точно могу торговать тренды, а где нет — очень важно знать, не стоите ли вы против рынка. Я взял несколько трендовых систем, на которых у меня было больше всего прибыльных сделок и решил проверить их на устойчивость.

Зачем нужно повторно тестировать торговые системы?

В бэктестинге есть известная проблема, которая называется «curve fitting», когда вы подгоняете свою систему под набор исторических данных и создается иллюзия того, что система работает. У опытных алготрейдеров есть сложные методики для решения этой проблемы (например, Монте-Карло симуляция), но розничному трейдеру в TradingView все это недоступно и нужны другие средства, которые логически верны и позволят отсеять неустойчивые системы.

Раньше я использовал forward testing, перебор параметров и тестирование связанных активов (NG против базового актива Henry Hub Gas Futures или SBER против SBERP, устойчивая система должна работать на обоих при одних и тех же параметрах), но это все равно недостаточно надежно. Я начал обращать больше внимания на два важных параметра: drawdown (общая просадка портфеля) и win rate. По наблюдениям если у системы много трейдов и win rate ниже 50%, то это сильный сигнал о том, что она может быть нерабочей. Если система не предназначена для позиционного трейдинга, то при drawdown выше 20% она считается нерабочей.

Также оказалось очень важным присутствие на графике участков, где система перестает работать. На этих участках меняется фаза рынка и тогда нужно тестировать рабочие участки отдельно. Как это выглядит:

Тест устойчивости торговых систем

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

Как еще можно улучшить методику тестирования?

Есть простой и относительно доступный способ — я подключил самый дорогой тариф в TradingView, который позволяет тестировать 20 000 баров и в котором есть функция Deep Backtesting. Когда мне стало доступно больше баров, я сразу понял, что половина систем имеют проблемы на длинной дистанции. Deep Backtesting позволил убрать лишние и в итоге осталось только несколько систем, которым я готов доверить деньги.

SNGSP выглядел неплохо до Deep Backtesting:

Тест устойчивости торговых систем

Но на самом деле, торговать такую систему нельзя:

Тест устойчивости торговых систем

В SBER была гипотеза о том, что на дневном таймфрейме EMA50 это хороший индикатор направления рынка:

Тест устойчивости торговых систем

Deep Backtesting добавил очков этой гипотезе:

Тест устойчивости торговых систем

Связанный биржевой инструмент SBERP не сломался, тоже плюс к гипотезе:

Тест устойчивости торговых систем

Для уточнения точек входа можно использовать младший таймфрейм H1, так он выглядит без Deep Backtesting:

Тест устойчивости торговых систем

А так с включенным Deep Backtesting:

Тест устойчивости торговых систем

Проверяем на связанном инструменте SPERP, к сигналам есть определенное доверие:

Тест устойчивости торговых систем

В остальных случаях примерно 8/10 систем отваливались и я теперь точно знаю, что на них не надо тратить время. У истории со Сбером тоже есть нюансы вроде низкого win rate на таймфрейме H1, но я хотя бы снизил вероятность того, что потеряю деньги на рынке.

Настоящие алготрейдеры делают по-другому!

Действительно, если вы хотите на 100% автоматизировать свою систему, чтобы ее за вас торговала машина, то нужен более серьезный научный подход к решению задачи, но я не претендую на то, чтобы называть себя алготрейдером и ищу способы торговать системно, опираясь на конкретный торговый метод и статистику.

Еще один важный момент: вам нужно как можно быстрее понять, что бесконечный перебор и простое тестирование торговых алгоритмов не поможет двигаться вперед. Точно так же, как перебор индикаторов, поиск Граалей, готовых решений и т.д. Если понимаете, что застряли и ходите по кругу, то меняйте метод на более профессиональный и наименее комфортный для вас. Также трейдинг без журнала это очень плохая идея — вы не видите свои худшие и лучше трейды, не видите где сильнее рискуете, какой инструмент хуже торгуется.
357 | ★1
18 комментариев

ключевой параметр профит фактор от 1.7 и выше...

устойчивость крайне просто проверить 

полный перебор параметров от -50% до 200% от лучшего значения… на этом интрвале доходность не падает вдвое

avatar
ves2010, да, если система сработает с любыми параметрами, то это хороший критерий отбора. Если только с единичными параметрами, то это подгонка.
ves2010, спасибо! На профит-фактор тоже большое внимание обращаю.
avatar
Что такое дип бэктестинг? Чем отличается от обычного бэктестинга?
T-800, можно тестировать с самой ранней даты или с произвольного диапазона. Обычный бэктест в TradingView видит только ограниченное количество баров и только от текущей даты влево.
avatar
Diamond, ааа… т.е. специально ограничили обычный бэктест и сделали «продвинутый» за деньги. Понимаю.
Это модератор Смартлаба такое пишет??? Ууу как тут все запущено)))
Да лажа почти все. Только пару моментов :
На связанных (коррелированных инструментах) надежная система должна работать априори, устойчивая система должна работать на не связанных (некоррелированных) инструментах ( тут есть оговорки, но не буду вдаваться)..
Сделок должно быть не менее 1000. Если меньше вообще ни о чем для верификации выводов.
Большой Брат, ну так сваяй пост — обсудим в чем ты не прав
avatar
Брат, ты неправ насчет 1000 сделок. Важно не количество сделок, а период в годах, охватывающий разные фазы рынка. Минимум 3 года, даже, если там всего 100 сделок. 1000+ сделок в плюс за один месяц, это фиаско, братан…
Большой Брат, отправляйте заявку на конференцию летом, послушаю вас в своем зале.
avatar
Что за бред?...
Как вы будете анализировать журнал, если в течение дня несколько сотен сделок?
Как в боевом режиме вы поймёте, что фаза рынка изменилась, если даже на бэктестах вы не можете определить это в моменте?
avatar
RoboScalp, у меня не скальпинг.
avatar
Diamond, тестинг торговых систем при разных способах торговли не может отличаться. Какая разница, сколько сделок в день или час совершается, если суть одна и та же: купить дешевле, продать — дороже?
avatar
RoboScalp, журнал проще анализировать, если там не 500-1000 сделок в день. В крайнем случае, можно использовать AI, который определит лучший или худший биржевой инструмент, укажет на сделки с высоким риском и т.д. Без автоматического журнала пока не знаю, как это сделать.

Про фазу рынка, в моем случае направленное движение может смениться на боковой тренд. Самый простой способ это заметить — трендовая система стала чаще давать несколько стоп-лоссов подряд.
avatar
Diamond, журнал — это атавизм из прошлого, когда торговали по телефону на основе таблиц котировок в газетах. Он никак не помогает в торговле!

Про тренды: оцените реальное время нахождения цены в фазе флэта и тренда. Думаю, вывод вас серьёзно удивит
avatar
Сергей Сергаев, вас тоже на конференцию летом приглашаю, расскажете.
avatar

Читайте на SMART-LAB:
Фото
Топ-7 дивидендных акций. Что купить перед летним сезоном
Российский фондовый рынок приближается к самому масштабному в году дивидендному сезону — летнему. Разбираем топ интересных дивидендных...
Фото
Апрельское обновление списка устойчивых ВДО-эмитентов Иволги Капитал
👉 Наш канал в MAX 👈 👉 Чат Иволги в MAX 👈 В список устойчивых Иволги Капитал попадают ВДО-эмитенты, последним...
Фото
«Газпром» ― чего ждать от отчета за 2025 год?
До конца апреля «Газпром» планирует представить отчетность по МСФО по итогам 2025 года. По оценкам аналитиков «Финама», по итогам года...
Фото
Какой убыток мог быть у Магнита в 2025 году?
На этой неделе, вероятно, под занавес сезона годовых отчетов, свои результаты должен опубликовать Магнит. Что ждать и насколько все плохо?

теги блога Diamond

....все тэги



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