Форвард хуже бэктеста - насколько допустимо!? - страница 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Maxim Romanov
6856
Maxim Romanov  
gpwr:
Если форвард хуже бэктеста, то это означает что (1) стратегия была переобучена (переоптимизирована, подогнана и т.п.) под бэктест и (2) стратегия не уловила закономерности, т.е. обучай или переобучай эту стратегию на бэктесте результат на реале будет хреновым. Как разбивать историю на форвард и бэктест значения какое соотношение результатов большого значения тут иметь не будет. Можно разработать хорошую стратегию целиком на бэктесте, не имея форварда, и она будет работать на реале также хорошо как и на бэктесте. Нужно долго и упорно подумать, написать кучу неудачных советников, задуматься почему они неудачные (уж точно не потому что неправильное соотношение форварда к бэктесту выбрали). Большинство начинающижх трейдеров начинают с хорошо известных неработающих стратегий основанных на разного рода индикаторах oversold/overbought, пересечения машек и прочей херни. Соберите все эти индикаторы, обучите их на истории, пусть они вам предскажут например покупать в определённый момент времени. А теперь задумайтесь, почему цена должна пойти верх? Только потому что наши индикаторы подстроенные под историю так ей сказали? Цена не двигается индикаторами! Тогда ворпос: а чем она двигается? Вот когда помыслите и правильно ответите на этот вопрос, тогда и напишете советник успешный не только на бэктесте, но и на форварде, при любом его соотношении к бэктесту. А индикаторы сами напишите, свои, уникальные, для той закономерности которую обнаружили.
вот... на 100% с автором согласен.
Youri Tarshecki
3618
Youri Tarshecki  
223231:
вот... на 100% с автором согласен.

То, что форвард хуже- вполне естественно, поскольку тестер на бэктесте берет в основном крайние, экстремальные значения. Это, в каком-то смысле неизбежно (тем интереснее случаи, когда бэктест хуже форварда). Топик не об этом. Он о СТЕПЕНИ отличия (неизбежности отличия) и ХАРАКТЕРЕ отличия форварда от бэктеста.   Я вообще не понимаю этого выражения в случае с форвардами "Стратегия была подогнана под историю". "Стратегия была переобучена", тем более "под бэктест".  Это как раз выражения, придуманные для объяснения того факта, что, как правило, загнав все свои параметры до экстремумов красивый бэктест теряет всю свою красивость на форварде-реале. Но это просто частный случай явления ловушки оптимизации. А о ловушках оптимизации вообще никто не разговаривает. Причем, что интересно, если "переоптимизация"  -это такое страшное зло, то где, скажите мне, тогда внятная методика "исправления переоптимизации" и, самое главное, обсуждение, споры, разные подходы, короче, мода на "недооптимизацию"? Ее нет. И причина очень простая - недооптимизация просто не работает. Я как-то перенастроил свой автооптимизатор так, чтобы он примерно половину самых для меня подозрительных переменных оставлял не по лучшему результату, а по второму. Результат форвардов не улучшился, а ухудшился! Конечно, я бы не отказался от фильтрации совсем уж выпадающих результатов, только не уверен, что с водой не выплесну ребенка.   А вы все о своем, наболевшем.  1) Если ф хуже б, то стратегия переоптимизирована и 2) она промахнулась с закономерностью.( Все остальное, вами написанное распространение второго пункта.)

Тогда вопрос  1)все-таки переоптимизирована или  плохая 2)как вы предлагаете мерить "переоптимизацию" и какие признаки нам скажут, где  у нас что. Т.е. насколько форвард должен быть хуже бэктеста, чтобы мы могли сказать-вот тут точно стратегия плохая, а тут надо ухудшить обучение?

Если вы просто не задумывались об этих вопросах и, как я понял, привыкли писать стратегии без проверки на форвардах, полагаясь целиком на свое видение рынка  -если будете комментировать, убедительная просьба учесть тематику моего топика.-)

Vladimir
6668
Vladimir  
Paragormon:

Тогда вопрос  1)все-таки переоптимизирована или  плохая 2)как вы предлагаете мерить "переоптимизацию" и какие признаки нам скажут, где  у нас что. Т.е. насколько форвард должен быть хуже бэктеста, чтобы мы могли сказать-вот тут точно стратегия плохая, а тут надо ухудшить обучение?

Поведение хорошо-разработанной стратегии на форварде должно мало отличаться от поведения на бэктесте, то есть коэффициент профитности и прочие показатели доходности должны быть почти одинаковыми на обоих участках истории. Приведу такой пример из собственной попытки создать предсказывающую модель рынка на основе эконимических показателей. Существуют >10 тысяч экономических показателей. Их всех можно упихать в модель и она достигнет 100% точность предсказания на бэктесте, но нулевую точность на форварде. Можно использовать например stepwise regression (http://en.wikipedia.org/wiki/Stepwise_regression) чтобы найти наиболее удачные показатели путём выбора сначала одного показателя, потом второго, и так далее. Возникает вопрос когда остановиться? Делаю так: наблюдаю ошибку предсказания на форварде. Выбираю первый показатель, например рост GDP. Если правильно выбран, то ошибка предсказания на форварде должна быть лучше случайного предсказания (математически можно доказать что случайное предсказание это предсказание что цена останется такой же). Потом добавляю второй экономический показатель, например уровень безработицы. Ошибка на форварде должна уменьшиться. И так далее до тех пор пока ошибка на форварде перестанет уменьшаться, тогда останавливаемся. При таком выборе показателей и их количества ошибка предсказания на форварде мало отличается от ошибки предсказания на бэктесте.

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

Stepwise regression - Wikipedia, the free encyclopedia
Stepwise regression - Wikipedia, the free encyclopedia
  • en.wikipedia.org
The frequent practice of fitting the final selected model followed by reporting estimates and confidence intervals without adjusting them to take the model building process into account has led to calls to stop using stepwise model building altogether56 or to at least make sure model uncertainty is correctly reflected.78 In this example from...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий