Получайте новости с этого сайта на

Манипуляция статистикой и самообман в алготрейдинге

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

Бессознательная манипуляция

Манипуляция статистикой часто происходит при использовании торговых роботов. Сразу хочу отметить, что в алгоритмическом трейдинге нет ничего плохого. Скорее наоборот, я большой сторонник создания торговых роботов и считаю это наилучшим способом торговли на рынке, особенно, если речь идёт о торговле на небольших таймфреймах. Причины очевидны: торговые роботы не начнут торговать эмоционально из-за проблем на личном фронте и никогда не будут рисковать сверх нормы потому, что «эта сделка точно выстрелит».

Как именно происходит манипуляция статистикой при использовании торговых роботов? Чаще всего, это бессознательная манипуляция. Трейдер выбирает фрагмент истории и под данный отрезок подгоняется значение какого-то индикатора. То есть трейдер находит такое значение параметров индикатора, которое наилучшим образом работает на выбранном фрагменте исторических данных.

В качестве примера рассмотрим самый простой и популярный индикатор Moving Average и определим, на какие финансовые результаты можно было бы рассчитывать на приведенном ниже отрезке графика при использовании периода 25:

Слайд 1. Манипуляция статистикой на примере тестирования индикатора Moving Average с периодом 25

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

Если мы посчитаем все сигналы, то получим 4 ложных сигнала из 14. Проведём схожий эксперимент со скользящим средним с периодом 150. Мы получим 11 сделок, из них 5 ложных.

Слайд 2. Манипуляция статистикой на примере тестирования индикатора Moving Average с периодом 150

Мы могли бы перебирать все периоды скользящего среднего и выбрать вариант с самой большой прибылью за период или с наиболее привлекательным отношением прибыль/риск.

Но можно ли на основании данных сведений сделать вывод, что использовать скользящее среднее с периодом 25 лучше, чем скользящее среднее с периодом 150? Ответ – нет.

Подобный перебор параметров индикатора не имеет смысла, поскольку далеко не факт, что лучшие параметры индикатора будут также хорошо работать на будущих движениях рынка. В подавляющем большинстве случаев результатом такой подгонки будет робот, который является убыточным.

Ещё более коварный результат возникает, когда после подгонки параметров под историю робот некоторое время генерирует не менее привлекательные результаты на демо-счете. В этом случае начинающий трейдер может радостно открыть реальный счёт и запустить алгоритм на нем. При этом предсказуемо отрицательный результат не заставит себя долго ждать.

Когда я начинал изучать алготрейдинг около 10 лет назад, то попал именно в такую ситуацию. Я протестировал торговую стратегию основанную на наборе индикаторов на истории вручную, затем написал торговый робот и «подогнал» его под последние несколько лет — выбрал параметры, которые лучше всего работали в этом периоде. Затем, зная что не стоит спешить с выводами, я запустил его на демо счёте и, к сожалению, несколько недель подряд я получал результат, схожий с положительный статистикой, полученной от оптимизации на исторических данных последних лет. Стоит отметить, что робот торговал на часовом таймфрейме, то есть сделок было достаточно много. Уверившись в правильности своих выводов, я открыл счёт на существенную сумму и включил робот на реальном счете.

Первые несколько недель робот торговал также как на демо-счете, при риске в 1% на сделку он быстро увеличил счёт примерно на 20%.

В этот момент я совершил ещё одну часто встречающуюся ошибку, вызванную алчностью и переоценкой торговых способностей, и увеличил риск на сделку до 3% от капитала.

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

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

Через несколько месяцев я проанализировал, что было бы, если бы я не выключил робот. Оказалось, что результаты были бы еще печальнее.

Это был крайне поучительный опыт, и я отделался легко. При этом, работая в брокерском бизнесе, я неоднократно сталкивался с ситуациями, когда трейдеры теряли в десятки раз большие суммы по тем же самым причинам.

Слайд 3. Тестирования индикатора Moving Average с определёнными параметрами на различных периодах

Подобный подгон параметров под историю без тестирования каждого выбранного параметра на других отрезках истории хорошо известен в data science как «overfit» или «переобучение».

Для того чтобы быть максимально объективным в своих выводах при тестировании торговых роботов на истории следует:

  • Cоздавать торговые роботы без параметров или с минимальным числом параметров. Берт Мюллер, создатель алгоритмического хедж-фонда, в котором торговые стратегии генерируются автоматически, рекомендует стремиться минимизировать отношение числа сделок к параметрам. То есть чем больше сделок открывает робот и чем меньше при этом у него есть параметров, которые можно настраивать, тем лучше. Такой подход позволит снизить вероятность «переобучиться». Например 2 параметра и 200 сделок — это отлично, тогда как 20 параметров и 2 сделки — с большой вероятностью могут свидетельствовать о переобучении.
  • При выборе наилучших параметров, оптимизации, необходимо разделить ваши данные на два отрезка — тот, на котором проводится первичное тестирование и выбор параметра, и тот, на котором проводится тестирование эффективности робота с этим параметром. Например, оптимизация на 2016-2017 и тестирование на 2018-2019.
  • Желательно, чтобы торговый подход работал без изменения настроек на разных инструментах и отрезках истории. Например, если робот торгует на рынке валютных фьючерсов или Forex, то, например, можно оптимизировать его на EURUSD 2013-2016 и тестировать на EURUSD 2010-2013 и 2016-2019 или на большом отрезке GBPUSD. Если результат будет достойным внимания, это может свидетельствовать о том, что ваш алгоритм может быть достоин внимания.

На практике необходимо проводить тестирование, ориентируясь на определенный период (левая часть графика на слайде 3, отмеченная зеленым квадратом), и затем отслеживать статистику данного тестирования на последующих данных, которые нам могут быть доступны (правая часть графика на слайде 3, отмеченная синим квадратом). Если наш тестовый период составляет два года, мы выясняем, какие именно торговые концепции лучше всего работают в рамках этих двух лет, и то, как они работают в следующем периоде, скажем, в течение одного года (слайд 4). И на основании этого мы можем сделать более обоснованные выводы.

Если же мы используем тестовый период и подгоняем статистику индикатора под историю в поисках более точных сигналов именно для данного отрезка, как это было на предыдущем слайде, то на реальных деньгах, как правило, результат будет примерно таким:

Слайд 4. Тестирования индикатора Moving Average с определёнными параметрами на различных периодах

По этой причине подгонка индикаторов под историю является манипуляцией статистикой. Мы не знали и не могли знать, что в тот конкретный момент времени лучше всего было работать с этими конкретными параметрами индикатора. Используя такое ограниченное тестирование постфактум мы видим лишь то каким было бы идеальное значение параметров индикатора, если бы мы торговали в прошлом.

При этом в реальности от этого знания нет никакой пользы, поскольку оно не позволит нам сделать какие-либо выводы о надёжности или эффективности индикатора.

Отсюда следует, что если мы подгоняем под какой-то отрезок графика параметры индикатора и получаем идеальный график доходности на этом оптимизационном периоде, торговля на реальных деньгах скорее всего покажет результат очень далёкий от него.

Это довольно часто встречающаяся ошибка. Тестирование на исторических данных проводить нужно, но пытаться подобрать идеальные значения индикатора под конкретный отрезок исторических данных — не самая лучшая затея.

Классический пример манипуляции статистикой на примере фонда LTCM

Классический пример манипуляции статистикой – это известная история с инвестиционным фондом Long-Term Capital Management (LTCM), в который на заре его существования привлекли звёзд финансового анализа, которые должны были создавать торговые алгоритмы и генерировать высокую доходность.

Фонд был запущен в 1994 году. Ещё до его запуска было огромное количество желающих инвестировать в него свои средства. С 1994 по 1998 год фонд на пике доходности увеличил бы каждую тысячу долларов инвестиций, как видно на слайде, примерно до четырёх тысяч долларов:

Слайд 5. LTCM (Long Term Capital Management). Доходность на 1000$ инвестиций по сравнению с фондовым рынком США с 1994 по 1998 год

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

История закончилась довольно печально, фонд был полностью уничтожен вследствие чрезвычайных событий, которые, с точки зрения трейдеров данного фонда, было невозможно предугадать. А также вследствие, по словам все тех же звёзд финансового анализа, сговора других участников рынка.

Известный трейдер и философ Нассим Талеб с сарказмом, но очень доходчиво комментирует данную ситуацию в своей книге «Чёрный лебедь. Под знаком непредсказуемости».

Произошло же вот что. Трейдеры использовали слишком большое кредитное плечо, то есть, несоизмеримо высокие отношения заёмного капитала, который они использовали при торговле, к собственному капиталу данного фонда. За счёт применения такого плеча и совершения арбитражных операций с различными финансовыми инструментами они получали высокие финансовые результаты.

Другими словами, покупали один финансовый инструмент, продавали другой, и зарабатывали на том, что эти финансовые инструменты начинали двигаться в направлении, которое они предугадывали при помощи торговых алгоритмов.

Трейдеры протестировали свои математические модели на истории и считали, что вероятность того, что они будут нарушены, крайне мала. Но как известно, на финансовых рынках может произойти всё что угодно.

В данной ситуации трейдеры фонда игнорировали правила управления капиталом и рисками. С точки зрения управления рисками, они забирали с рынка копейки, невзирая на колоссальные риски, которые могли быть реализованы в любой момент. Как показали дальнейшие, события риск всегда был сопоставим с капиталом фонда.

Вследствие того, что трейдеры получали небольшие прибыли в каждой отдельной сделке, но таких сделок было много, формировался практически линейный график доходности, что естественным образом увеличивало интерес общественности к данному фонду. Хотелось бы напомнить вам, о чем свидетельствует соответствующий график доходности.

Когда всё пошло не так, как планировалось, фонд был быстро уничтожен. Высокий финансовый рычаг в совокупности с торговой стратегией, в которой трейдеры считали, что рынок всегда должен двигаться именно так, как они ожидают, и никак иначе, привели к уничтожению огромной суммы средств, находившейся в управлении трейдеров данного инвестиционного фонда.

Интересен тот факт, что трейдеры так и не признали свои ошибки и смело делегировали ответственность за свои решения на внешние силы. Люди, склонные делегировать свои ошибки на обстоятельства, зачастую не способны стать хорошими трейдерами.

Резюме

Даже если речь идёт о трейдинге с очень большими деньгами, когда в торговле на финансовых рынках участвуют люди, являющиеся лауреатами нобелевских премий, нет никаких гарантий, что трейдер не попадёт в те ловушки, о которых говорилось в статьях, посвящённых психологии торговли.

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

Трейдеры, управлявшие этим инвестиционным фондом, оправдывали свою модель поведения тем, что, с точки зрения математических моделей, событие, которое может привести к колоссальным убыткам, никогда не произойдёт. Частные трейдеры, как правило, оправдывают свои действия тем, что на рынке такого никогда не было. Схожие модели принятия решений и идентичные результаты.

Но и в первом, и во втором случае такой подход ничего общего с торговлей на финансовых рынках, с профессиональным инвестированием не имеет.

Поэтому всегда надо помнить, что правила управления капиталом и рисками – это основа основ, фундамент любой торговой стратегии, аксиома.

Другие статьи занятия 11

На страницу занятия

Узнать о курсе

Добро пожаловать! Вы первый раз здесь?

Что вы ищете? Выберите интересующие вас темы, чтобы улучшить свой первый опыт:

Применить и продолжить