Копипаст

Копипаст | Подгонка Торговых Систем под Историю

Наверняка Вы часто слышали такое выражение, как «система подогнана под исторические данные» (так называемый курвфиттинг, овер-фиттинг). Часто бывает так, что разрабатывая стратегию, мы получаем алгоритм, прекрасно работающий на прошлых котировках, но как только начинаем торговать по нему в реальном рынке, то сразу же сталкиваемся с его абсолютной бесполезностью. Это явление повсеместно в среде трейдинга, но его причины, почему-то, никогда не были хотя бы в какой-то мере освещены.


В начале своего пути трейдера я также задавался вопросом, почему большая часть разработанных мной «стратегий», которые рисовали поистине красивые линии эквити на тестировании, уходили в минус, стоило только начать по ним торговать. Но ответа не было. Были считавшиеся аксиомой, не требующей доказательств, заявления многих в меру опытных трейдеров, что «чем лучше система работала на истории, тем меньше шансов того, что она будет работать на реальном рынке». В относительно грамотной книге Ван Тарпа «Трейдинг — Ваш путь к финансовой свободе» имеется схожее утверждение: «чем больше параметров, или степеней свободы вы используете в своей стратегии, тем вероятнее она окажется подогнанной под исторические данные». Однако разбора, или хотя бы понятного описания причин такого опасного для трейдера явления не описано ни в книгах, ни на многочисленных форумах по биржевой тематике. Чтобы решить проблему, ее необходимо изучить. И как ни странно, современной науке феномен «подгонки» давно известен и даже досконально изучен, правда, мало кто применяет эти знания к трейдингу.

В методологии и когнитивной психологии существует такое понятие, как «ошибка меткого стрелка», или «ошибка техасского снайпера». Название берет свое начало из американского анекдота о техасце, который сначала стрелял из ружья по амбару, а затем рисовал мишень на том месте, куда попало больше всего пуль. В жизни это выражается в том, что обладая большим объемом данных, человек сосредотачивается на небольшой их части, пытаясь выявить какие-то необходимые ему закономерности. Нередко они действительно находятся. Это может касаться чего угодно — зависимости самочувствия людей от погоды, влияния влажности воздуха на скорость развития личинок бабочек и т.п., в общем, любых причинно-следственных взаимосвязей. Но дело в том, что возможных причин, по которым эти закономерности существуют, может быть значительно больше, чем одна. В том случае, если человек принимает за истинную причину, отличную от действительной, имеет место быть данное заблуждение.

 

Ошибка характеризуется отсутствием наличия готовой гипотезы до начала сбора и анализа данных, либо формулированием выводов уже тогда, когда данные собраны и рассмотрены. Разрабатывая какую-либо прогнозирующую методику (поведения человека, погоды, чего угодно), люди часто строят модель и проверяют правильность прогноза на одном и том же наборе данных. И в таком случае возникает еще одна логическая «ловушка».

 

В любой, даже абсолютно случайной последовательности данных, если эта последовательность завершена, могут, и зачастую возникают иллюзии закономерностей. Если взять идеальную монетку, т.е. шансы выпадения которой орлом или решкой равны, и подбросить ее 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 

 

★5
18 комментариев
«почему торговый метод дает прибыль...» А почему? ) Обычно торговые методы отбирают деньги)
avatar
buyandsell-ru.com, процессы на рынке имеют свои причины, внутренние двигатели. Некоторые из них могут быть с определенной вероятностью вычислены. Например, рост спроса и, как следствие, цен на автомобильные шины в период межсезонья. Проблема в том, что средствами теханализа мы выявляем только следствие в виде ценовых изменений, которое может иметь тысячи причин, в том числе и просто случайность, или статистическую аномалию. Как-то так. Если, я конечно, верно понял Ваш комментарий)
avatar
Imperium Finance, ну как бы правильно. Но пример с шинами я не принимаю) Вы схитрили, взяли сезонную цикличность. А на рынке цикличность очевидна? Очевидна ли неэффективночть рынка в какие-то времена? вот вопросы на которых нет ответов...
Для меня пока что волпрос неэффективности целиком заключается в торминах — «паника», «эмоции», «эффект толпы»…

А спрос и предложение извините- тоже следствия)
avatar
buyandsell-ru.com, пример взял для демонстрации. Цикличность на определенных инструментах присутствует, разумеется, не в виде, определяемом невооруженным глазом, но она есть. Также есть многие другие факторы (законодательные ограничения, массовые предубеждения, общие элементы в стратегиях), которые приводят к тому, что при определенных условиях вероятность движения цены в ту или иную сторону становится куда более вероятной. Подробнее напишу в личку ;)
avatar
Imperium Finance, Мне нравится Ваше «куда более вероятно»)) Я тут молюсь на вероятность хотя бы 55%, а тут вот как…
avatar
buyandsell-ru.com, Напишите Вашу почту в личку, пока по рейтингу своему не могу в приват писать))
avatar
Imperium Finance, ок
avatar
Очень интересно!5+++++
Машковский Евгений, Спасибо)
avatar
«Вы когда-нибудь обращали внимание, как профессиональные ученые»… не, не видел профессиональных ученых. Просто ученых видел, а вот профессиональных — неа.
Счастливый Конец, Вернее, конечно, сказать — профессиональные генетики, физики-ядерщики, психиатры и т.д. Имеется в виду, что речь идет о специалистах в соответствующих сферах)
avatar
Достаточно любопытный научный бред околорыночника. Почему так? Попробую кратко объяснить. В науке о прибыльных трейдах все логически обоснованные факторы движения имеют размытый смысл с точки зрения когда открывать позицию и когда закрывать позицию. Но в тоже время в многочисленных теориях трейдинга не имеющих твёрдых логических обоснований за собой всегда есть точное и ёмкое объяснение о точке входа и выхода по сделке. По этому все логически обоснованные факторы должны служить фильтром к тем данным которые надо рассмартивать, а уже теории трейдинга нужно применять к отфильтрованным данным. Но автор рассматривает решение проблемы «подсматривания в будущее АТС» не адекватными способами. В первом рынок просто делится на имеющий спекулятивный потенциал по фактам, а во втором исторический работавшей теории трейдинга. А надо выбросить нафиг все данные не имеющие спекулятивного потенциала, точно указать причины их возникновения и тоже самое сделать с данными имеющие спекулятивный потенциал и уже на этих данных делать отладку АТС по вложенным в неё теориям трейдинга.
avatar
Infernus, как бы этот «бред» применительно к методологии описан еще в Википедии en.wikipedia.org/wiki/Texas_sharpshooter_fallacy

А каким образом, интересно, осуществляется отбор данных, имеющих спекулятивный потенциал, от тех, которые не имеют?
avatar
Imperium Finance, Без комментариев.
avatar
Бессонный, Подгонка — это дефект системы, возникающий от того, что при разработке использовались неверные методы.

CurveFitting — это используемый в англоязычных странах синоним слова подгонка (от Curve — кривая, имеется в виду линия эквити, и Fitting — примерять, придавать форму, подгонять).
avatar
Бессонный, Будь все просто, вряд ли бы столько людей обламывалось на этом.

По поводу букв — часто одна маленькая деталь может иметь критическое значение. А описание деталей требует слов. Это как нарисовать человека — можно сделать пару штрихов фломастером, но реалистичный портрет таким образом не создать.
avatar
Все правильно написано. Для тестов выборка должна быть максимально большой. Пост годный, лучше чем большинство на этом ресурсе.
avatar
Дмитрий Д., Благодарю. В свое время мне критически не хватало подобного рода информации.
avatar

теги блога Кирилл Конторез

....все тэги



UPDONW
Новый дизайн