Трейдерский самообман: недоверие к форвардам. - страница 7

 
Дмитрий:

Отбор индикаторов по прибыльности форварда - в 99% случаев подгонка. Только в этом случае подгонка идет не только по параметрам обучающего ряда, но и по параметрам форвард ряда. Подгонка, но подгонка по более длинному ряду 

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

 
Yuri_Evseenkov:

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

Такой вывод можно сделать только в том случае, если результаты бэк и форвард хотя бы примерно одинаковые
 
Дмитрий:
Такой вывод можно сделать только в том случае, если результаты бэк и форвард хотя бы примерно одинаковые
Чем больше бэк и форвард различаются, тем менее сила инерции  рынка и(или) низко качество работы или оптимизации кода.
 

Не ну как можно быть такими дремучими )

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

 
Мастер над криптомонетой:

Не ну как можно быть такими дремучими )

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

Я как то не встречал книжек про проверку результатов тестирования. Может подскажите какую.
 
Дмитрий:

Отбор индикаторов по прибыльности форварда - в 99% случаев подгонка. Только в этом случае подгонка идет не только по параметрам обучающего ряда, но и по параметрам форвард ряда. Подгонка, но подгонка по более длинному ряду 

Давайте разберемся с терминами.

Когда мы подбираем что бы то ни было под исторические данные (логику, индикаторы, переменные для этих индикаторов и тд)- это, в общем-то, можно назвать "подгонкой", причем, и в "хорошем" и в "плохом" смысле этого слова. Но лучше сказать, что происходит процесс СЕЛЕКЦИИ  параметров кода или его свойств - т.е. многократный отбор наилучших сочетаний одного с другим. Как правило, "подгонкой" называют все же полужуликоватый подбор наиболее впечатляющих значений переменных, которые получены многократными тестами на одном и том же участке истории и показанных для этого же участка, а не для соседних. На форварде же никакого многократного отбора не происходит.

Форвард  -это просто одноразовая проверка на истории, которая оптимизации не подвергалась. Все, что нам остается делать на форварде  -это или печалиться или радоваться его результату или делать какие-то выводы, но повлиять на него мы уже не можем, ибо это противоречит его принципу. Чтобы повлиять на форвард мы должны вернуться к изначальному отрезку и переделать что-то там. Принципиальное отличие не в том, что прибавляя форвард мы получаем более "длинный ряд", а в том,  что наш код попадает на отрезок истории форварда впервые. Никакого "удлинения" оптимизированного участка не происходит. Поэтому применять термин "подгонка" в смысле "подбор для красоты" здесь нельзя в принципе. Но служат ли форварды для селекции? Конечно, а для чего же еще. Но эта селекция, как правило,  направлена не на подбор сиюминутных переменных кода. Своей целью она имеет сам код  -его логику и качество.

Фразы же типа "Отбор индикаторов по прибыльности форварда - в 99% случаев подгонка" это и есть яркий пример самообмана, когда в какой-то момент люди просто подменяют понятия, видимо, подсознательно оправдывая свое нежелание более глубоко и трудоемко разбираться в недостатках кода. Т.е., когда вы меняете индикаторы, а не их настройки, пытаясь добиться более красивого форварда  -это и есть нормальная селекция, но только при условии соблюдения принципа однократной проверочности для форварда. Подгонкой же такой процесс трудно назвать.

 
Youri Tarshecki:

Давайте разберемся с терминами.

Когда мы подбираем что бы то ни было под исторические данные (логику, индикаторы, переменные для этих индикаторов и тд)- это, в общем-то, можно назвать "подгонкой", причем, и в "хорошем" и в "плохом" смысле этого слова. Но лучше сказать, что происходит процесс СЕЛЕКЦИИ  параметров кода или его свойств - т.е. многократный отбор наилучших сочетаний одного с другим. Как правило, "подгонкой" называют все же полужуликоватый подбор наиболее впечатляющих значений переменных, которые получены многократными тестами на одном и том же участке истории и показанных для этого же участка, а не для соседних. На форварде же никакого многократного отбора не происходит.

Форвард  -это просто одноразовая проверка на истории, которая оптимизации не подвергалась. Все, что нам остается делать на форварде  -это или печалиться или радоваться его результату или делать какие-то выводы, но повлиять на него мы уже не можем, ибо это противоречит его принципу. Чтобы повлиять на форвард мы должны вернуться к изначальному отрезку и переделать что-то там. Принципиальное отличие не в том, что прибавляя форвард мы получаем более "длинный ряд", а в том,  что наш код попадает на отрезок истории форварда впервые. Никакого "удлинения" оптимизированного участка не происходит. Поэтому применять термин "подгонка" в смысле "подбор для красоты" здесь нельзя в принципе. Но служат ли форварды для селекции? Конечно, а для чего же еще. Но эта селекция, как правило,  направлена не на подбор сиюминутных переменных кода. Своей целью она имеет сам код  -его логику и качество.

Фразы же типа "Отбор индикаторов по прибыльности форварда - в 99% случаев подгонка" это и есть яркий пример самообмана, когда в какой-то момент люди просто подменяют понятия, видимо, подсознательно оправдывая свое нежелание более глубоко и трудоемко разбираться в недостатках кода. Т.е., когда вы меняете индикаторы, пытаясь добиться более красивого форварда  -это и есть нормальная селекция, но только при условии соблюдения принципа однократной проверочности для форварда. Подгонкой такой процесс трудно назвать.

Много и ни о чем.

Берете индикатор, меняете его настройки 100 способами, 20 из них дают положительное МО на бэк-тесте.

Прогоняете эти 20 на форварде - 5 из них дают положительное МО на форварде. Выбираете из 5-ти настройки индикатора, которые дают максимальное МО на форварде.

Так вот - вот это все является такой же подгонкой, только не только на бэк, но еще и на форварде. 

 
Yuri_Evseenkov:

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

Еще раз - самым главным является именно УСТОЙЧИВОСТЬ результатов. Не просто прибыльный форвард, а хотя бы примерно одинаковые результаты при условии репрезентативности, полноты и достаточности выборки.
 
Дмитрий:

Много и ни о чем.

Берете индикатор, меняете его настройки 100 способами, 20 из них дают положительное МО на бэк-тесте.

Прогоняете эти 20 на форварде - 5 из них дают положительное МО на форварде. Выбираете из 5-ти настройки индикатора, которые дают максимальное МО на форварде.

Так вот - вот это все является такой же подгонкой, только не только на бэк, но еще и на форварде. 

И еще раз о терминах  ЛЮБОЙ выбор из результатов на истории  -это уже не форвард, а оптимизация. Тот факт, что эти ваши варианты выбраны из форвардов ничего не меняет и даже не улучшает (откуда у вас появятся 5 форвардов, когда история кончится на настоящем?). Т.е. вы сначала нарушили принцип форвардной проверки, а потом заявили, что это подгонка и это плохо. Конечно подгонка, но подгонка из меньшего выбора настроек индикатора. Для начала вы принцип не нарушайте и тогда можно что-то обсуждать. Не имея динамики форвардов вы ничего не сможете сказать о свойствах самого индикатора быть устойчивым или нет, поскольку укстойчивость - это повторяемость,а форвард у вас один. Кроме того, вы сначала говорили об отборе ИНДИКАТОРОВ, а не вариантов их настроек. Реальная форвардная проверка как раз и призвана выяснить устойчивость кода, а не настроек, именно сравнивая результат ряда форвардов, а не кучки настроек, полученных от топтания на одном месте. Т.е.  сравнение разных форвардов (единственных для конкретного участка) это результат сравнения многих неоптимизированных участков, а не  одного с самим собой.
 
Youri Tarshecki:
И еще раз о терминах  ЛЮБОЙ выбор из результатов на истории  -это уже не форвард, а оптимизация. Тот факт, что эти ваши варианты выбраны из форвардов ничего не меняет и даже не улучшает (откуда у вас появятся 5 форвардов, когда история кончится на настоящем?). Т.е. вы сначала нарушили принцип форвардной проверки, а потом заявили, что это подгонка и это плохо. Конечно подгонка, но подгонка из меньшего выбора настроек индикатора. Для начала вы принцип не нарушайте и тогда можно что-то обсуждать. Не имея динамики форвардов вы ничего не сможете сказать о свойствах самого индикатора быть устойчивым или нет. Кроме того, вы сначала говорили об отборе ИНДИКАТОРОВ, а не вариантов их настроек. Реальная форвардная проверка как раз и призвана выяснить устойчивость кода, а не настроек, именно сравнивая результат ряда форвардов, а не кучки настроек, полученных от топтания на одном месте. Т.е.  сравнение разных форвардов (единственных для конкретного участка) это результат сравнения многих неоптимизированных участков, а не  одного с самим собой.

Как делается проверка форвард - начинаем с азов.

Берется выборка, делится в определенной пропорции, например, 80/20, на бэк и форвард.

А как вы думали производится проверка форвард - берется вся выборка до настоящего момента и принимается как бэк? А потом результаты в режиме реального времени тестируются форвард по мере прихода котировок? И сколько у вас займет времени форвард?????? 

Причина обращения: