Наверняка Вы часто слышали такое выражение, как «система подогнана под исторические данные» (так называемый курвфиттинг, овер-фиттинг). Часто бывает так, что разрабатывая стратегию, мы получаем алгоритм, прекрасно работающий на прошлых котировках, но как только начинаем торговать по нему в реальном рынке, то сразу же сталкиваемся с его абсолютной бесполезностью. Это явление повсеместно в среде трейдинга, но его причины, почему-то, никогда не были хотя бы в какой-то мере освещены.
В начале своего пути трейдера я также задавался вопросом, почему большая часть разработанных мной «стратегий», которые рисовали поистине красивые линии эквити на тестировании, уходили в минус, стоило только начать по ним торговать. Но ответа не было. Были считавшиеся аксиомой, не требующей доказательств, заявления многих в меру опытных трейдеров, что «чем лучше система работала на истории, тем меньше шансов того, что она будет работать на реальном рынке». В относительно грамотной книге Ван Тарпа «Трейдинг — Ваш путь к финансовой свободе» имеется схожее утверждение: «чем больше параметров, или степеней свободы вы используете в своей стратегии, тем вероятнее она окажется подогнанной под исторические данные». Однако разбора, или хотя бы понятного описания причин такого опасного для трейдера явления не описано ни в книгах, ни на многочисленных форумах по биржевой тематике. Чтобы решить проблему, ее необходимо изучить. И как ни странно, современной науке феномен «подгонки» давно известен и даже досконально изучен, правда, мало кто применяет эти знания к трейдингу.
В методологии и когнитивной психологии существует такое понятие, как «ошибка меткого стрелка», или «ошибка техасского снайпера». Название берет свое начало из американского анекдота о техасце, который сначала стрелял из ружья по амбару, а затем рисовал мишень на том месте, куда попало больше всего пуль. В жизни это выражается в том, что обладая большим объемом данных, человек сосредотачивается на небольшой их части, пытаясь выявить какие-то необходимые ему закономерности. Нередко они действительно находятся. Это может касаться чего угодно — зависимости самочувствия людей от погоды, влияния влажности воздуха на скорость развития личинок бабочек и т.п., в общем, любых причинно-следственных взаимосвязей. Но дело в том, что возможных причин, по которым эти закономерности существуют, может быть значительно больше, чем одна. В том случае, если человек принимает за истинную причину, отличную от действительной, имеет место быть данное заблуждение.
Ошибка характеризуется отсутствием наличия готовой гипотезы до начала сбора и анализа данных, либо формулированием выводов уже тогда, когда данные собраны и рассмотрены. Разрабатывая какую-либо прогнозирующую методику (поведения человека, погоды, чего угодно), люди часто строят модель и проверяют правильность прогноза на одном и том же наборе данных. И в таком случае возникает еще одна логическая «ловушка».
В любой, даже абсолютно случайной последовательности данных, если эта последовательность завершена, могут, и зачастую возникают иллюзии закономерностей. Если взять идеальную монетку, т.е. шансы выпадения которой орлом или решкой равны, и подбросить ее 100 раз, в большинстве случаев результат распределится не поровну. Большая часть испытаний покажет разброс от 44 до 57 выпаданий той или иной стороной. В теории вероятности этот момент называется стандартным отклонением. Таким образом, если орел выпал 57 раз из 100, это вовсе не означает, что вероятность данного явления равна 57% и мы нашли какую-либо неэффективность.
С увеличением числа испытаний величина стандартного отклонения снижается. Если подбрасывать монетку 1000 раз, то большинство результатов будет варьироваться в диапазоне от 480 до 520. Соответственно, при уменьшении числа испытаний эффект будет обратным.
Какое это имеет отношение к трейдингу?
Проводя разработку системы на исторических котировках, мы тестируем влияние того или иного параметра на результат в виде прибыли. Как следует из вышеописанных испытаний, даже если выбранный нами параметр не оказывает никакого влияния на изменение цены, в условиях ограниченной выборки, которой являются наши исторические данные, результат редко будет равен 50/50. Нередки случаи, особенно если сделок не очень много, когда мы будем получать 57% прибыльных сделок, просто наугад побаловавшись с каким-либо индикатором или любым другим инструментом. Далее, скорее всего, результат нас не устроит, и мы захотим улучшить эффективность системы путем ввода дополнительных правил, параметров или фильтров, что приведет к уменьшению выборки – будет меньше сделок. И снова, даже в том случае, если следующие введенные нами правила на самом деле никак не влияют на цену, на определенном промежутке времени они могут дать такой же эффект иллюзии закономерности. Однако за счет того, что в итоге мы будем иметь меньше сделок, совокупный эффект будет выглядеть гораздо привлекательнее. Мы можем иметь уже 65% прибыльных сделок. Но, так как на деле это была лишь совокупность случайных факторов, дальнейшая торговля по такой системе в лучшем случае даст ноль на продолжительном промежутке времени.
В качестве рациональной альтернативы, если может быть получена дополнительная информация посредством того же процесса, что и исходная, лучше всего использовать исходные данные, чтобы построить гипотезу, а затем проверить ее на дополнительных. Если же этого не сделать, и использовать один и тот же набор информации для построения и проверки какого-либо предположения, это и будет «ошибкой меткого стрелка» или «подгонкой под историю».
Вы когда-нибудь обращали внимание, как профессиональные ученые проводят эксперименты с участием людей, если, скажем, стоит задача выявить влияние на человека того или иного явления? Например, необходимо определить, влияет ли лекарство на повышение агрессивности человека. Имеется 20 человек, пожелавших участвовать в испытании. Исследователи не дают лекарство всем 20 испытуемым, а делят их на группы — исследуемую и контрольную. Первой группе дают лекарство, а второй «пустышку», или, другими словами, плацебо, после чего сравнивают поведение исследуемой группы с контрольной. Это позволяет избежать предвзятости исследования и того, что в конечный результат может вмешаться случайный процесс (например все 20 человек были отобраны из числа преступников и были изначально повышенно агрессивными). Это и есть пример Out of Sample, или форвард-тестирования с использованием подтверждающих данных.
Что дает это знание?
Риск переподгонки и переоптимизации есть всегда. К сожалению, полностью исключить вероятность того, что методика принятия решения разработана на иллюзии закономерности, невозможно. Но, зная природу явления, можно значительно снизить возможность его проникновения в вашу торговлю. Существует, как минимум, два способа повлиять на результат:
Способ №1 довольно сложный, но дает наилучший результат. Это поиск базиса, понимания причин, почему торговый метод дает прибыль. Плюс подобного подхода в том, что, если вы знаете, почему ваш подход работает, вам не нужно большое количество сделок, чтобы убедиться. Метод, совершающий 5 сделок в год, имеющий твердую логическую базу, будет гораздо ценнее метода, делающего 100 сделок, но не имеющего под собой оснований. Самое важное здесь — не обмануть себя, и сформировать идею прежде, чем приступать к обработке ценовых данных. Иначе есть риск неосознанно начать подгонять получаемые результаты под желаемое видение.
Способ №2 более простой, но не дает окончательной уверенности. Это уже упомянотый выше Out of Sample, или форвард-тестирование. Его суть заключается в том, что разработка и оптимизация метода происходят на одном наборе данных или периоде, а проверка осуществляется на другом. Поскольку, если мы имеем дело со случайными величинами, то на контрольном отрезке данных оптимальными окажутся совсем иные параметры, чем те, которые будут лучше работать на расчетном. Таким образом, если метод основан на пустом переборе, вероятнее всего, при прогоне на другом периоде он покажет результат, близкий к нулю.
Мы редко об этом задумываемся, но во всех аспектах нашей жизни мы также подвержены проблеме “курвфиттинга”. Основываясь на небольшом количестве примеров, мы часто экстраполируем, как нам кажется, найденные закономерности на весь окружающий мир. При этом мы не допускаем мысли, что наблюдаемые нами явления могут иметь совсем иные причины, нежели нам кажется. Например, мне известно 10 человек с именем Александр, и все они обладают достаточно волевым характером. Какое-то время мне казалось, что это имя действительно оказывает влияние на поведение человека. Потребовалось встретить 30 других обладателей этого же имени, чтобы убедиться, что это лишь иллюзия. То же самое касается большинства стереотипов общества, мира и торговли.
Оригинал статьи: www.imperium-finance.com/blog.html/systems/podgonka_torgovyh_sistem_pod_istoriyu
Для меня пока что волпрос неэффективности целиком заключается в торминах — «паника», «эмоции», «эффект толпы»…
А спрос и предложение извините- тоже следствия)
А каким образом, интересно, осуществляется отбор данных, имеющих спекулятивный потенциал, от тех, которые не имеют?
CurveFitting — это используемый в англоязычных странах синоним слова подгонка (от Curve — кривая, имеется в виду линия эквити, и Fitting — примерять, придавать форму, подгонять).
По поводу букв — часто одна маленькая деталь может иметь критическое значение. А описание деталей требует слов. Это как нарисовать человека — можно сделать пару штрихов фломастером, но реалистичный портрет таким образом не создать.