Как подогнать настройку советника под историю или переоптимизация.

 

Предлагаю обсудить вопрос переоптимизации, что это такое, почему возникает?

Последний мой советник меня не очень радует, зарабатывает только на двух инструментах из четырех, на одном из льёт. Просидев все выходные за поиском идей по улучшению результатов, решил немного изменить логику советника, а именно разделить котировки на две группы и уже каждую из групп оптимизировать. Группы делил по простому принципу - анализировал волатильность за прошлый период (оптимизация показала, что лучше брать неделю), и если она была ниже нормы то группа А, а если ниже, то группа Б. Дальше мне стало интересно понаблюдать, как поведут себя фильтры, и оказалось, что для многих фильтров меняются настройки в зависимости от разделения. Торгую я на минутках - по тренду.

И вот я думаю, а вдруг это просто очередной метод подгона под историю, и не важно, что не оптимизируемый период подтверждает эффективность разделения. Тогда не является ли вся деятельность по написанию АТС лишь деятельностью по описанию траектории рынка, где используя разные коэффициенты и их веса в разных точках графика мы получаем приближенность излома движения цены.

 

1. Робот не должен хорошо работать на одном-двух инструментов. Это как в любом бизнесе. Если выгодно возить носки из Владика в Москву. то совсем не обозначает, что например посуда будет также хорошо продаваться по нужной цене. 

2. Робот выявляет законмерность и ее использует. Например - в 15-30  часто происъодят резкие движения. ОТ сюда получаем стратегию торговли на новостях. Или ночной флет по кроссам. получаем торговлю в коридоре. Универсального рецепта торговли наверно и нет. 

Теперь что такое переоптимизация - это подбор параметров под относительно небольшой кусок рынка. проверяется путем прогона на другом участке рынка. Если на нем слив - значит переоптимизация 100%. Еще один фактор - количество сделок. для себя оперделил, что сделок должно быть на оптмиизируемом участке от 100 и больше. Можно конечно и 70. Тут уже индивидальный подход под стратегию

 

Вот у меня имеются такие результаты по базовым показателям стратегии - советник открывает позицию по условию и тралит её.



Стоит ли это оптимизировать, добавляя фильтры, и какого результата, на Ваш взгляд можно добиться?

 
Aleksey Vyazmikin:

Вот у меня имеются такие результаты по базовым показателям стратегии - советник открывает позицию по условию и тралит её.

Стоит ли это оптимизировать, добавляя фильтры, и какого результата, на Ваш взгляд можно добиться?

Что лучше - принимать высокий риск и ожидать высокую норму прибыли или ожидать малых потерь и такого же малого профита? Вопрос религии...

Имхо, принципиален другой аспект. Это устойчивость показателей системы на разных исторических отрезках (имеется в виду история котировок). Если отрезки весьма разные (цена меняла природу своего движения), а показатели практически не меняют своих значений, то эту систему можно считать робастной.

 
Dennis Kirichenko:

Что лучше - принимать высокий риск и ожидать высокую норму прибыли или ожидать малых потерь и такого же малого профита? Вопрос религии...

Как мы можем этим управлять? И, почему применение фильтров должно привести к повышению рисков, а не наоборот?

Dennis Kirichenko:

Имхо, принципиален другой аспект. Это устойчивость показателей системы на разных исторических отрезках (имеется в виду история котировок). Если отрезки весьма разные (цена меняла природу своего движения), а показатели практически не меняют своих значений, то эту систему можно считать робастной.

Прошлые показатели были получены на M1 с 2017.01.01-2018.03.03  с одним убыточным месяцем.

Вот показатели за период с 2016.01.01 - 2017.03.03



Прибыль выросла почти в 3 раза, фактор восстановления в 2 раза, остальные показатели не существенно изменились, за исключением максимальной просадки - она изменилась почти в 2 раза.

Изменение скорей отношу к разному рынку, так как тест на фьючерсе Si, то в 2016 году были сильные трендовые движение, а в 2017 их уже было меньше. При флэте, даже на дневках, меняется структура и трендов на минутках - их длительность, продолжительность и волатильность.

 

Решил я оптимизировать советник на базе 2017-2018 года, при этом использовал свои старые наработки, но новой для меня идеей в этом советнике было идея разделения условий торговли на две группы (в верхней части таблицы показатели одной группы, а в нижней части показатели другой группы). Идея разделения пришла при попытке отфильтровать флэт при помощи индикатора ATR, в итоге получилось такое условие для Step_1 "если на прошлой недели цена не достигла уровня ATR, то первая группа, а если достигла, то вторая группа" - идея в том, что в первом случае ожидаем начала/продолжения тренда, а во втором случае не исключаем коррекции. А дальше уже были следующие условия:

Step_2 - работает только для второй группы - не входим в рынок, если не появилось  потенциальной тени свечи против движения на прошлом временном периоде (неделе);

Step_3 - не покупаем, если цена достигла высокого уровня ATR (для разных групп разные условия);

Step_4 - Исключаем торговлю в определенные временные диапазоны (для разных групп разные условия);

Step_5 - Если находимся в узком диапазоне/полка/флэт, то ждем пока не пройдет заданное число времени, после чего предпринимаем попытки для входа по тренду (для разных групп разные условия), но применение этого фильтра исключается в определенные часы (по условиям Step_4);

Фильтры добавляются последовательно. 

В таблице приведены сводные данные за 2017 год.



На таблице можно видеть, как с каждым добавлением фильтров значительно улучшаются показатели, только такой показатель, как прибыль улучшился на 106%!

Казалось бы - гениально!

Но вот берем другой участок истории - с 01.01.2016 по 03.03.2018, и смотрим, как же там отрабатывали фильтры.



Результаты этой таблицы не так радужны - прибыль сократилась, да и остальные показатели выглядят не лучшим образом (не так хорошо), разве что за исключением Step_4 и Step_5 для второй группы.

Однако, следует учитывать, что 2017 год - фактически движение Si в узком диапазоне, в то время как в 2016 был сильный нисходящий тренд с резукими коррекциями, т.е. глобально условия отличались, не смотря на то, что торговля ведется на минутных графиках.

Какие можно сделать выводы? Это хороший пример переоптимизации? Или, есть рациональное зерно в данном подходе и следует ранжировать фильтры и их настройки относительно ситупции на рынке?

 
Aleksey Vyazmikin:

Предлагаю обсудить вопрос переоптимизации, что это такое, почему возникает?

Последний мой советник меня не очень радует, зарабатывает только на двух инструментах из четырех, на одном из льёт. Просидев все выходные за поиском идей по улучшению результатов, решил немного изменить логику советника, а именно разделить котировки на две группы и уже каждую из групп оптимизировать. Группы делил по простому принципу - анализировал волатильность за прошлый период (оптимизация показала, что лучше брать неделю), и если она была ниже нормы то группа А, а если ниже, то группа Б. Дальше мне стало интересно понаблюдать, как поведут себя фильтры, и оказалось, что для многих фильтров меняются настройки в зависимости от разделения. Торгую я на минутках - по тренду.

И вот я думаю, а вдруг это просто очередной метод подгона под историю, и не важно, что не оптимизируемый период подтверждает эффективность разделения. Тогда не является ли вся деятельность по написанию АТС лишь деятельностью по описанию траектории рынка, где используя разные коэффициенты и их веса в разных точках графика мы получаем приближенность излома движения цены.

Теории нет, поэтому будет переоптимизация. Если есть теория, то все настройки можно на бумане рассчитать для каждого инструмента и оптимизировать не нужно.
 
Maxim Romanov:
Теории нет, поэтому будет переоптимизация. Если есть теория, то все настройки можно на бумане рассчитать для каждого инструмента и оптимизировать не нужно.

Как это нет теории, из чего это следует?

 
Aleksey Vyazmikin:

Как это нет теории, из чего это следует?

Нужна теория, по которой рынок развивается. Почему система вообще должна работать? На чем она основана? Что положено в основу? Есть теория, а есть система, которая стремится максимально полно реализовать эту теорию. 
Даже если система убыточна, но теория нормалтная, то дело техники, реализовать теорию в алгоритме. Если теории нет, то система будет 100% убыточна.
 
Maxim Romanov:
Нужна теория, по которой рынок развивается. Почему система вообще должна работать? На чем она основана? Что положено в основу? Есть теория, а есть система, которая стремится максимально полно реализовать эту теорию. 
Даже если система убыточна, но теория нормалтная, то дело техники, реализовать теорию в алгоритме. Если теории нет, то система будет 100% убыточна.

Я выдвигаю гипотезы во время торговли руками и их проверяю на истории. Теория у меня всегда одна - цена отражает эмоции людей на события - их страхи и ожидания.

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

Поэтому, каждый фильтр имеет своё обоснование, и является лишь инструментом для описания явления.

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

 
Aleksey Vyazmikin:

Я выдвигаю гипотезы во время торговли руками и их проверяю на истории. Теория у меня всегда одна - цена отражает эмоции людей на события - их страхи и ожидания.

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

Поэтому, каждый фильтр имеет своё обоснование, и является лишь инструментом для описания явления.

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

Это не теория