Блог им. 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% автоматизировать свою систему, чтобы ее за вас торговала машина, то нужен более серьезный научный подход к решению задачи, но я не претендую на то, чтобы называть себя алготрейдером и ищу способы торговать системно, опираясь на конкретный торговый метод и статистику.

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

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

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

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

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

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

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

Читайте на SMART-LAB:
Фото
В «Деловых Линиях» теперь есть страхование авиаперевозок от RENI
Запустили новый продукт. При заказе услуги, в случае повреждения, утраты или недостачи груза клиенту будет выплачено до 110% его стоимости. Кроме...
AI в трейдинге: как финансовая индустрия работает с ML и AI-моделями
Чтобы свести человеческий фактор к минимуму, трейдеры используют алгоритмы для автоматизации. Но ведь можно делегировать не только сделки, но и...
Теряет ли черное золото свой блеск? Акции на 2026!
Нефтяной рынок снова лихорадит. Геополитика формирует новый баланс сил, в котором российские компании могут получить и краткосрочный плюс, и...
Фото
Стратегия 2026 по рынку акций от Mozgovik Research: трудный год, но, возможно, последний год низких цен
Сегодня у меня первый день официального отпуска. За окном темная звездная ночь, яркая белая луна, +24С и шум волн Андаманского моря. Неудачный...

теги блога Diamond

....все тэги



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