?

Log in

No account? Create an account

jc_trader


JC-TRADER. Биржевые игры. Системные Спекуляции.


Previous Entry Поделиться Пожаловаться Next Entry
Оптимизация In Sample-Out of Sample
jc_trader
Подумалось, а какой смысл оптимизировать сначала выборку за период (In Sample), а потом тестировать с полученными параметрами вне периода (Out of Sample). Можно ведь полностью оптимизировать весь период и сравнить полученную эквити, мысленно разделив ее на две части. Если обе части восходящие, то это означает что out of sample прошла испытание и система предположительно работоспособная.
Например, тестируем-оптимизируем инструмент с 2000 года. По-правильному надо было бы оптимизировать сначала период с 2000 по 2007 годы, а потом посмотреть как с этими параметрами будет смотреться эквити за 2007-2011 годы. Почему бы сразу не оптимизировать весь период 2000-2011 годы и провести вертикальную линии через 2007 год по получившейся эквити. Если обе части эквити (2000-2007 и 2007-2011) имеют восходящую форму, то это то же самое что если бы мы оптимизировали первую часть и нашли бы вторую часть прошедшей тест на Out of Sample. А если первая часть восходящая, а вторая сливает, значит явно, параметры не годятся.


  • 1
(Удалённый комментарий)
Ну смотрите -- отимизировали IS, проверили на OOS -- OOS сливает. Перебрали еще несколько параметров, которые чуть похуже -- один из них зарабатывает на ООS. Так именно этот параметр и будет найден, когда прооптимизируем сразу IS+OOS.


(Удалённый комментарий)
(Удалённый комментарий)
(Удалённый комментарий)
не делай так никогда... это будущее, и оно влияет на инсемпл.

У нас ведь главное в оптимизации-не нарваться на ПЕРЕоптимизацию.
Если тестироватть 10(может и меньше) некореллируемых инструментов,то наверное,можно принять то,что результаты не могут иметь место быть подогнанными даже без форвард тестинга.Это если у нас выполняются условия что количество сделок в 10 раз больше оптимизируемых параметров (по моему так вычисляются степени свободы).
Но Вы наверное сейчас говорите об оптимизации на одной бумаге,так вот внесу свои пять копеек:

Картину с IS+OOS можно разбить на три исхода:

1.Пусть на InSample у нас лучший результат скажем МА=100. Проверяем на ОOS- результат подтвердился (отклонение от результата IS менее 30%).Это будет прямое ДОКАЗАТЕЛЬСТВО что у нас не было подгонки.

2.Пусть на InSample у нас лучший результат скажем МА=100, но на OOS этот результат сливает-это будет прямое ДОКОЗАТЕЛЬСТВО что у нас имеет место подгонка.

3.Пусть на InSample у нас лучший результат скажем МА=100,далее мы выбрали его чтобы проверить на OOS,он показывает у нас приемлимый результат- продолжение тенденции (доходность отличается менее чем 30%). А на периоде оптимизации "IS+OOS" оптимизация показала лучший результат скажем МА=150 и он в полтора раза лучше,НО!!! у нас не будет ДОКАЗАТЕЛЬСТВА что это не подгонка! ВОЗМОЖНО результат МА=150 будет работать и дальше с высокой доходностью,но у меня не будет уверенности что это не подгонка! А вот результат МА=100 если уж показал на ООS периоде приемлемые результаты-то я буду уверен, что ПОДГОНКИ ТУТ НЕТ, и если он начал сливать-это иные причины (иссякла неэффективность или чтото еще...).

Тоесть главная загвоздка в этом вопросе-получение доказательства что нет ПОДГОНКИ!При тестировании IS+OOS мы доказательство получаем. При оптимизации на всей истории-не получаем. Конечно,мы можем пустить в реальную торговлю одним лотом эту МТС,чтобы проверить не переоптимизирована она ли,но тогда теряется весь смысл-придется еще ждать кучу времени на подтверждение.

Все мои мысли-мысли человека,который занимается МТС всеголишь чуть больше года,поэтому я не претендую на высокий уровень компетентности в данном вопросе.Как говорится все это ИМХО :)

Очень жду критики и обсуждений этой темы,так как считаю ее очень интересной.

"1.Пусть на InSample у нас лучший результат скажем МА=100. Проверяем на ОOS- результат подтвердился (отклонение от результата IS менее 30%).Это будет прямое ДОКАЗАТЕЛЬСТВО что у нас не было подгонки."

Из двух попыток запросто может два раза выпасть орел, но это не будет доказательством что он выпадает всегда, не так ли? :)
С другой стороны, при периоде оптимизации "IS+OOS" у нас тоже получилось два "орла" с обоих сторон. И этот результат "МА=150" должен был быть тоже в числе лидеров на IS при условии что действительно получилась растущая ровная кривая на этой части периода.
То есть, оптимизировали весь график -- прикрыли правую часть рукой, смотрим -- слева ровная растущая эквити. Открываем правую часть графика -- тоже ровная растущая эквити. Это означает, что результаты оптимизации точно будут в лидерах оптимизации только IS. Но и правая часть подтвердила левую - ДОКАЗАТЕЛЬСТВО :)

Мне как Ламеру МТС-инга, кажется что OOS ввели для МТС-ов где херова куча оптимизируемых параметров, в итоге там мозг не может нормально воспринять например 100 - мерное (3D) пространство, и критичность каких-то переменных.

В итоге как я понимаю там выход, чтобы не попасть на переоптимизацию, это тестирование на OOS.

В моем случае, оптимизируемых переменных 2-3 и я их спокойно могу проверить устойчивость, критичность и прочую херню в обычном 3D т.е. OOS посути не нужен.



1.Пусть на InSample у нас лучший результат скажем МА=100. Проверяем на ОOS- результат подтвердился (отклонение от результата IS менее 30%).Это будет прямое ДОКАЗАТЕЛЬСТВО что у нас не было подгонки."

Из двух попыток запросто может два раза выпасть орел, но это не будет доказательством что он выпадает всегда, не так ли? :)


Считаю что сравнение некорректное. На IS у нас если 100раз выпадет орел (скажем так-я приклеил грузик к орлу,но подозреваю что это только я могу так кидать чтоб был орел), а потом на OOS (отдаем подкрученную монету другому) и у него еще 30 раз выпадет орел ,то это будет ДОКАЗАТЕЛЬСТВОМ против которого не может быть аргументов против (доказательством того что это монета такая,а не я так искуссно кидаю).Потом мы идем на рынок и показываем фокусы с монеткой. Иными словами нашу "синицу в руках" мы будем иметь уверенно в данной МТС.
Конечно,есть какаято вероятность что наша проверка закономерности на ООS совпала со случайным вариантом развития событий, но это уже вариант "черного лебедя".

С этим Вы согласны?


введите оъективный критерий для выбора оптимизирумых параметров, например, макс. коэф. шарпа или макс. доход., но чтобы однозначно определялись параметры. потом протестируйте на данных которые не учавствовали в оптимизации и если там слив, то переоптимизация. а как вы в этои посте хотите подбирать бегая то в is то в oos, то да тогда уж проще сразу на всем промежутке оптимизировать, как вы и предлагаете. а эти is и oos проще назвать просто участокданных1 и участокданных2.

Мне кажется вы правы для систем, которые не самооптимизируются, в ином случае разбиение необходимо и логично...

(Удалённый комментарий)

Re: снова запоздавшие мои 5 копеек. ))

Действительно, гениальность в простоте :)

Re: снова запоздавшие мои 5 копеек. ))

ну так это тоже самое и будет: IS=2000-2009, a OOS= 2010,2011.



(Удалённый комментарий)
(Удалённый комментарий)
я всеравно не понял чем это отличается от моего варианта. Я вот покажу как сам тестирую:
1.оптимизирую 2000-2009.Выбираю лучший вариант
2.Проверяю на 2010-2011. Эквити такаяже как на 2000-2009.
3.Пускаю в торговлю.
Ты предлагаешь: помоему тоже самое.

но ведь 2010-2011 это и есть форвард тестирование.

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

  • 1