Прорвало что-то меня сегодня на новые темы
У меня такой вопрос: если я тестирую стратегию на большом куске исторических данных, и после оптимизации она приносит достаточную прибыль, то почему эта система не должна работать в будущем??? Есть понятие переученности систем - когда она слишком близко подгоняется под историю и потом дает одни убытки. Это понятно, но если я ее тестил на периоде с 1980 по 2003 год, то какая же тут может быть подгонка? За этот период было все, что может быть - и все тренды и интервенции и коридоры и даже повальная компьютеризация рынка.
Еще одна вещь - если тестим на маленьком отрезке данных, но система дает кучу сигналов и хороший результат, то ей, по-моему тоже можно верить. Например наш кусок истории содержит только длинный нисходящий тренд. Конечно, можно найти систему, которая откроет позицию вверху и закроет внизу и это будет круто. Понятно, что в коридоре такая система сдохнет. Но если на этом тренде была куча сигналов, то в общем - то неважно, тренд это или нет - подгонки по-моему не будет.
Почему? Просто прими как факт! Ну не работает все это! 4 года на это все потратил. Больше 50% годовых это не дает. Теперь уже год "пипсовщик", доволен.
Суровая но правда =( Мой "Колобок" на истории все сильные тренды "съел" полностью и красиво, а начал в он-лайне тестить: на наикрутейшем тренде его два раза развернуло.
2Madest Вот мне и интересно, почему так случается. Конечно можн принять все как есть, как советует Жваколюк, но мне бы хотелось самому выяснить, в чем проблема. Кто-нибудь пытался понять, почему история и реал так различаются (конечно, если исключить переобучение)?
Подгонка под кривую будет зависит от нескольких параметров:
1. Количество оптимизируемых параметров (чем больше, тем больше вероятность подгонки)
2. Количество сделок на оптимизируемом отрезке времени (чем больше, тем меньше...)
Чтобы избавится от подгонки необходимо
1. Оптимизировать систему на одном временном интервале, а тестировать ее на другом, а лучше на двух других.
2. Убрать сделки, отличающиеся от средней на несколько стандартных отклонений.
3. После оптимизации параметров просматривать их на устойчивость (на сколько меняется профит при изменении параметра).
_________________ [url=http://www.fxeuroclub.ru/ta/EUR-USD-H.php]Ежедневный прогноз Forex по 4-м валютным парам. [/url]
2Роман История - это то что было и все знают, а реал - то чего небыло и никто не знает. Разница только в этом. МТС можно подогнать под историю, потому что для этого есть все данные. А данных для реала - нет. Они появляются позже.
2 Роман: Ну если твоя система хорошо себя показала аж с 1983 года при достаточном количестве сделок (не менее 50 за год), то, скорее всего...
... у тебя ошибка в алгоритме IMHO.
Если теститшь, например в метастоке (не советую), то достаточно поставить опцию - закрыть по цене "open", чтобы почти любая система заработала
2 Илья Никитин. Насчет системы, которая хорошо пашет на истории с 1983 года - это я просто пример привел, нет у меня такой системы. А вот насчет "достаточно поставить опцию - закрыть по цене "open", чтобы почти любая система заработала " я не согласен. Если какая-то система открывает/закрывает позиции по цене close или open и показывает хорошие результаты, то в этом что-то есть. Я не пойму чем Вам не нравится цена Open? Что мешает сесть за комп, например в конце 4-х часового бара и закрыть позицию сразу после открытия след. бара - вот и будет закрытие по open. Единственные нереальные цены - это Low и High - вот их действительно видно только на истории.
2 Жваколюк и все остальные. Говорите, что история - это то, что все знают, а ,будущее не знает никто. Это ясно. Приведу конкретный пример: открываем/закрываем позицию на пересечении линий стохастика - куда уж проще. Если вдруг эта система покажет отличные результаты лет примерно за 10, то какая, скажите мне, может быть подгонка, какое тут будущее, история и т.п.? Ведь линии стохастика пересекаются по многу раз в день (час, ...) - это дает хорошую статистику. Во вторых, когда мы тестим на истории, то мы же не видим будущего (за исключчением некоторых хреновин в Metastock ) Например, если наши линии пересеклись, то они пересеклись именно СЕЙЧАС и мы не знаем, что с ценой будет потом (т.е. мы то знаем, а тестилка не знает). Получается, что тестилка в таком же положении, в каком трейдер на реале. Пересеклись линии - покупаем/продаем, не зная, а лишь предполагая, что будет дальше. И если наш бедный несчастный стохастик покажет хорошие результаты за 10 лет, то почему он должен врать в будущем? Это мне и непонятно.
Сразу скажу, что стохастик - это просто для примера. Все это относится к любым системам.
2Роман У каждого индикатора есть параметр, скока периодов назад считать. При добавлении новой свечи, он пересчитывает себя и видоизменяется. Лучше всего это видно на скользящих. Допустим сейчас они не пересекаются, а через пару свечек образовалась длинная свеча против тренда, и мы видим, что на той свече где мы видели не пересекающиеся скользящие, они уже пересеклись. И так и остались для истории. При тестировании на этой свече будет сигнал, а в реале его еще не было.
2Жваколюк. Извини, но или я тебя не так понял или ты говоришь ерунду. Ты хочешь сказать, что если мы на сформировавшемся баре видим, что две скользящие не пересекаются, то из-за следующих баров они могут пересечься и на этом, уже сформированном?!?!?!? Вот простой пример: были у нас такие цены: 10, 20, 30. В последней точке (где цена равна 30), значение средней равно (10+20+30)/3=20 - простая средняя. Потом цена внезапно упала до пяти - получили 10, 20, 30, 5. В последней точке средняя равна (20+30+5)/3=18.3, но в предыдущей точке она так и осталась 20!!! С какого перепугу она там вдруг изменится????????? Тоже и с двумя и с десятью средними! Они не меняются из-за будущих данных.
Роман прав! Если на истории достоверно долго работает, то на реале будет, если система построена честно (не заглядывает в будущее и не перестраивает прошлое). Только покажите мне такую систему!
Пример про цену open - это не цена open следующего бара, а текущего (вернее только что окончательно сформированного). Конечно, так тестить неправильно, просто я хотел на этом примере показать _возможные_ ошибки при тестировании, которые могут легко ввести в заблуждение.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщению Вы можете загружать файлы