Великолепная книга о тестировании и оптимизации - страница 4

 
Я очень долго и настойчиво искал оправдание "устойчивости" оптимизации по параметрам советника (близость соседних зеленых квадратиков по критерию оптимизации к оптимальному), о которой так много здесь говорят. Единственным существенным оправданием для меня, найденным к настоящему моменту, оказался WFA (форвардный анализ): если оптимальная стратегия найдена в области пологого экстремума критерия оптимизации, то при WFA параметры, оптимальные на разных участках, будут не слишком далеки от этого максимума, т.е. будут давать не слишком отличные от оптимизированных параметры торговли на реале.

Ни один из остальных аргументов, приведенных на этом форуме, а также и в книге Пардо, не убедил меня в целесообразности этой "устойчивости". VelesFX, я с тобой согласен насчет того, что "Выигрываешь в доходности, проигрываешь в устоичивости". Мыслей много, очень много; потихонечку оформляем их в статью...
 
VelesFX:
xeon писал (а):
Если ничего не помешает, скоро закончу библиотеку которая позволит реализовать "форвард-анализ" в полной мере.

Как библиотека будет работать скажите пожалуйста??

У меня есть идея поиска устоичивости через ФТ, вот такая:

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

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

По всей видимости присутствует закономерность что то вроде: "Выигрываешь в доходности, проигрываешь в устоичивости", ну и наоборот. А вы как считаете?

Библиотека разработана как инструмент который позволяет проводить тестирование и оптимизацию в двух основных режимах:

1)режим Auto:

Проведение тестирования и/или оптимизации по предопределенным макропрограммам.

2) режим Manual

Проведение тестирования и/или оптимизации по макропрограммам написанным пользователем. Так что вы сами сможете легко воплатить свой алгоритм тестирования.

Максимально упрощен процесс работы с библиотекой, например в режиме auto нужно установить параметры тестирования/оптимизации как обычно в тестере но вместо кнопки старт запустить скрипт и выбрать соответствующую макропрограмму и все. (в отличии от автооптимизатора)

вот вкратце.

 
xeon писал (а):


Библиотека разработана как инструмент который позволяет проводить тестирование и оптимизацию в двух основных режимах:


1)режим Auto:


     Проведение тестирования и/или оптимизации по предопределенным макропрограммам. 


2) режим Manual


    Проведение тестирования и/или оптимизации по макропрограммам написанным пользователем. Так что вы сами сможете легко воплатить свой алгоритм тестирования.


 Максимально упрощен процесс работы с библиотекой, например в режиме auto нужно установить параметры тестирования/оптимизации как обычно в тестере но вместо кнопки старт запустить скрипт  и выбрать соответствующую макропрограмму и все. (в отличии от автооптимизатора)


вот вкратце.

Круто, как раз то о чем я мечтал. А то мы уже хотели сами такую штуку писать.
 
На Форексе никто никаких гарантий не даёт: ни бэк-тесты, ни форвард, ни, даже, тестирование на реальном счёте. Форекс опровергнет любые результаты тестов, и любые стратегии, на то он и Форекс. Вспомните опыты с подбрасыванием монетки, как вы не анализируйте прошлый опыт, это ничего не даёт в предвидении будующего. Это , конечно, касается курсов валют, вокруг чего, здесь , всё и крутится, на акциях и фьючерсах действуют другие закономерности. Потому-то и весь западный (читай, американский) теханализ и основан на них.
 
Valmars, у меня появилась идея. Я возьму и специально, ради прикола, выпишу здесь, в этой ветке, полный список того, что предлагает Пардо. Он получится очень внушительным (я сегодня закончил предварительное чтение этой книги). Пусть этот список будет служить напоминанием творцам граалей о том, насколько они недооценивают современный уровень представлений в этой области. Все же этот список, по замыслу автора книги, является хотя бы какой-то, совсем не 100%-й, относительной гарантией того, что стратегия имеет обоснованное право на существование. Список будет здесь в ближайшее время.

Да, будущее мы не сможем предсказать. Но, может быть, это и не есть наша цель? Наша цель - построить такую стратегию, которая прибыльно работает на как можно большем разнообразии данных. Проверка этого и есть задача полноценного тестирования. Грубо говоря, надо уметь всего лишь набрасывать на рыночные данные некий "каркас", дающий точки входа/выхода. А то, что этот каркас будет делать в будущем, - уже не наша забота...
 
Mathemat:
Valmars, у меня появилась идея. Я возьму и специально, ради прикола, выпишу здесь, в этой ветке, полный список того, что предлагает Пардо. Он получится очень внушительным (я сегодня закончил предварительное чтение этой книги). Пусть этот список будет служить напоминанием творцам граалей о том, насколько они недооценивают современный уровень представлений в этой области. Все же этот список, по замыслу автора книги, является хотя бы какой-то, совсем не 100%-й, относительной гарантией того, что стратегия имеет обоснованное право на существование. Список будет здесь в ближайшее время.

Да, будущее мы не сможем предсказать. Но, может быть, это и не есть наша цель? Наша цель - построить такую стратегию, которая прибыльно работает на как можно большем разнообразии данных. Проверка этого и есть задача полноценного тестирования. Грубо говоря, надо уметь всего лишь набрасывать на рыночные данные некий "каркас", дающий точки входа/выхода. А то, что этот каркас будет делать в будущем, - уже не наша забота...
 
А вам не кажеться что форвардным тестированием не стоит увлекаться?????!!! :(( потому как лишний раз прогоняя систему мы просто увеличиваем N  - число сделок, уменьшаем стандартную ошибку.
ФТ это способ избежать overfitting'а.
Тот способ которым я предлагал проводить ФТ 6 сообщений выше аналогичен, объединению трех ТО в одно большое и тупую оптимизацию на этом большом ТО??? :)) хотя конечно не совсем все так, но почти.

А что если рассмотреть, работу настроенной торговой тактики в реальных торговых условиях как случайное событие, например бросок той же монеты или кости. Т.е. профит системы за i-тый месяц работы это случайная величина и никуда от этой случайности не деться,  можно наверное только менять ее параметры (настройкой, оптимизацией).   
Поправьте меня если не прав!!! 
 
Честно говоря, то, что ты выделил жирным, я не понял. Поясни, пожалуйста, VelesFX. Я вижу ценность WFA именно в "диверсификации" оптимизированной системы по разным рыночным поведениям, причем именно на тех данных, на которых оптимизация не проводилась. Причем, что интересно, WFA повторяет действия самого трейдера, когда он выйдет с этой системой на реал. Чем он так плох?

Тупое объединение всех участков оптимизации в один не даст эффекта walk-forward.
 
Mathemat:
Да, будущее мы не сможем предсказать. Но, может быть, это и не есть наша цель? Наша цель - построить такую стратегию, которая прибыльно работает на как можно большем разнообразии данных. Проверка этого и есть задача полноценного тестирования. Грубо говоря, надо уметь всего лишь набрасывать на рыночные данные некий "каркас", дающий точки входа/выхода. А то, что этот каркас будет делать в будущем, - уже не наша забота...

А вот я, думаю, что наша цель в другом: с практической точки зрения, мне неважно, какую прибыль (или убыток) давала моя стратегия год или два или пять лет назад. Мне важно, что бы она давала очутимую прибыль сейчас, ещё два или шесть месяцев в будующем, а потом , пусть начинает сливать. Я от неё откажусь, найду , если смогу , другую, которая сейчас сливает, а через полгода начнёт работать. Конечно, я потеряю, прежде, чем смогу определить, что стратегия перестала работать ( давать прибыль, или что, иными словами, рынок изменился)., но надеюсь, не всё.

Наверное, можно найти стратегию, которая будет прибыльна на протяжении 7 лет, но она не будет оптимальна для текущего момента, будет давать результаты хуже , чем моя текущая (в прошлом - сливная) стратегия. Думаю, тут надо ориентироваться на состояние и время изменения глобального рынка ( фундаментальных показателей мировой экономики), а такие изменения происходят, в течении ~ 2 лет, по-моему мнению, вот это "время жизни" прибыльной стратегии.

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

 
Mathemat:
Честно говоря, то, что ты выделил жирным, я не понял. Поясни, пожалуйста, VelesFX. Я вижу ценность WFA именно в "диверсификации" оптимизированной системы по разным рыночным поведениям, причем именно на тех данных, на которых оптимизация не проводилась. Причем, что интересно, WFA повторяет действия самого трейдера, когда он выйдет с этой системой на реал. Чем он так плох?

Тупое объединение всех участков оптимизации в один не даст эффекта walk-forward.
 WFA - НИЧЕМ НЕ ПЛОХ!!!!! :))))

А вот эту фразу уже я не могу понять до конца: " Я вижу ценность WFA именно в "диверсификации" оптимизированной системы по разным рыночным поведениям, причем именно на тех данных, на которых оптимизация не проводилась."

Поясняю суть ФТ моим методом:
1. Если мы имеем три ТО проводим оптимизацию на среднем(во времени окне №2), ТО№1 - это окно располагающееся в "прошлом относительно ТО№2", ТО№3 - соответственно в будущем.
Так вот если нам необходимо достичь определенных параметров работы системы (доходность, профит фактор, мах просадка ... ).  Тогда. ..

берем три тестовых окна (ТО) на каждом из них прогоняем оптимизацию, сохраняем результаты оптимизации на каждом ТО, потом выбираем на одном из ТО прогоны в порядке уменьшения доходности. Берем номер прогона, находим прогоны с этим же номером в двух соседних ТО и если прибыльность этих двух прогонов нас удовлетворяет
то считаем что прогон с данным номером ФТ прошел.
Прогоны можно брать не в порядке уменьшения доходности, а скажем в порядке уменьшения какого либо композитного критерия качества (Например К = Доходность - Просадка).
В результате такого поиска мы найдем "стабильную на истории" систему т.е. систему которая на каждом ТО будет рисовать нечто вот такое:




И соответственно будет рисовать линию с таким же наклоном и при тесте на ТО(ТО№1+ТО№2+ТО№3) - вот эта система и будет максимально "стабильной", можно также предположить что она будет максимально устойчивой т.к. была испытана на разнообразном рыночном контексте и на каждом ТО показывала стабильный рост депо. Ну это уже не ФТ, это какой то изощренный (извращенный) способ оптимизации :))), а ФТ как попытка "диверсификации" оптимизированой системы по разным рыночным поведениям является частным случаем этого способа.

Поэтому WFA это только лишь способ избежать overfitting'a!!!!

Причем, что интересно, WFA повторяет действия самого трейдера, когда он выйдет с этой системой на реал. Чем он так плох?
No - кол-во сделок на ТО оптимизации, Nf - количество сделок на ТО форвардного теста.
Может это просто увеличение N = No+Nf - размера выборки, увеличение достоверности прогноза. Чем больше N тем больше вероятность P того что система на следующем тестовом окне покажет доходность близкую к доходности на предыдущем ТО.

 
WFA не позволяет избежать подгонки.
Причина обращения: