Статьи

Вниманию читателей предлагается адаптированный перевод[1] статьи “The Cold Blood Index”, опубликованной на ресурсе The Financial Hacker 26 октября 2015 года. Тема материала - “Индекс хладнокровия”, алгоритмическая оценка прекращения использования торговой системы (ТС).

 

Содержание:

 

Введение. Постановка вопроса

...Вы создали новую ТС. Тестирование показало блестящие результаты. Внесли на счет деньги и приступили к работе в реале. Через два месяца счет обнулился...

… Ваша стратегия безукоризненно действует два года. Но в один “прекрасный” день она входит в бесконечную, на ваш взгляд, просадку (drawdown)…

Горькие, тяжелые ситуации, знакомые каждому алгоритмическому (и не только) трейдеру.

Что делать?

Продолжать торговлю или панически жать на тормоза?

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

А может быть, все-таки, все нормально и просадка - неизбежное, но временное явление? Следует проявить хладнокровие и отсидеться, не закрывая позиции?

Возникает насущная необходимость в барьерах, ограничениях и в сигналах прекращения применения алгоритма. Нужен ответ на вопрос: “Когда трейдеру надо отказываться от торговой системы, а когда стоит потерпеть?”

 

“Под водой”. Пример с швейцарским франком

При введении новой ТС, почти всегда трейдер некоторое время находится “под водой”. Другими словами, в начале торгов потеря части первичного или уже поднятого на системе капитала неизбежна. Естественное следствие волатильности кривой капитала (equity curve volatility). Данное обстоятельство, а также неизбежные сопутствующие расходы (биржевые и брокерские комиссии и сборы) трейдер обязан учитывать при формировании суммы для торгов. 

Ниже приведен образец типичного неровного и нервного старта ТС:

1 ИХфранк

График иллюстрирует кривую капитала сетевого[2] трейдера, отрабатывавшего ценовой предел швейцарского франка[3]. Кривая демонстрирует хорошую прибыльность системы. Начав в июле 2013 года, трейдер заработал 750 пипсов семь месяцев спустя, в январе 2014-го. С сентября по ноябрь максимальная просадка составляла приблизительно 400 пунктов. Таким образом, чистая доходность (raw return) ТС - около 750/400=1,875 или 187,5%. Весьма прилично для торговой стратегии. 

Вместе с тем, левый участок кривой говорит о том, что за первые шесть недель торгов трейдер ушел в минус  на 200 пипсов. В том случае, если бы он начал операции в сентябре на отметке в 500 пипсов, то находился бы “под водой” долгие три месяца, до самого декабря! 

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

Самое обидное, что все это возможно и при использовании действительно, как мы видим, неплохой торговой системы.

Алготрейдинг не подвержен эмоциям? 

Неправда.

 

Проблемы тестирования

К сожалению, любым проведенным тестам нельзя доверять на 100%. Даже самым тщательным, последовательным и объективным. Стратегия страдает определенным смещением, искажением при отслеживании данных . Стандартный метод измерения смещения - проверка реальности Уайта (White’s Reality Check)[4],  хорошо работает только для простых механических систем, настроенных на следование тренду. 

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

В то время, как смещение, вызванное обучением или оптимизацией, подлежит измерению и даже устранению методами перехода вперед (walk forward methods), необъективность, обусловленная  процессом разработки, неизвестна . Стратегия может быть более или менее прибыльной или неприбыльной вовсе. Ясность возникает только при постоянном сопоставлении “живых” результатов с итогами тестов.

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

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

Традиционный интервал торговли на демо не меньше, но и не больше нескольких недель. Потом надо уходить на реальные деньги.

О вреде (по крайней мере, ограниченной полезности) воображаемых торгов рассуждал еще легендарный Джесси Ливермор почти 100 лет назад. Как аргумент он приводил старый анекдот про человека, которому завтра предстояла дуэль.

Секундант спросил его: “Ты хорошо стреляешь?” - “Прилично, - ответил дуэлянт и скромно добавил: - Я попадаю в стакан с двадцати шагов”. - “Прекрасно, - возразил секундант, на которого это утверждение явно не произвело надлежащего впечатления, - но ты сможешь попасть в стакан вина, если этот стакан будет целить заряженный пистолет прямо в твое сердце?”

 

Условие прекращения № 1

Простейшее условие проверки ТС учитывает максимальную тестовую просадку и записывается следующим образом:

2 ИХформула 1

(формула 1)

Здесь:

E - баланс текущего счета;

C - начальная сумма;

G  - тестовая прибыль;

t - период реальной торговли;

y  - тестовый период;

D - тестовая максимальная просадка.

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

Рассмотрим, как ведет себя соотношение на конкретных числах.

Пусть:

C=$10000;

G=$2000;

t=6 месяцев;

y=3 месяца;

D=$5000.

Подставим значения в формулу 1:

$10000+$2000*6/3-$5000=$9000.

Получается, что если за полгода остаток по счету просядет ниже 9 тыс. долларов, то от выбранной стратегии (алгоритма) следует отказаться.

Методика сколь проста, столь и ненадежна и страдает такими недостатками:

  • максимальная просадка при бэктестинге имеет случайный характер;
  • просадки растут с периодом тестирования, поэтому большие интервалы приводят к худшим максимальным просадкам и более поздним сигналам выхода;
  • не учитывается длительность просадки;
  • метод не поможет, когда прибыль реинвестируется при управления капиталом;
  • на начальной фазе торгов (при малых t) тестовая просадка всегда резко занижает допустимый нижний предел баланса счета, при t=0 имеем предел по счету E=C-D.

 

Условие прекращения № 2

Упомянутые погрешности нивелирует формула 2 - математическое выражение второго (модифицированного) условия прекращения применения торговой системы:

3 ИХформула 2

(формула 2)

Здесь E, C, G, t, y, D - обозначают то же самое, что и формуле 1;

вводится l - период максимальной тестовой просадки D;

sqrt - знак квадратного корня 

Ключевое отличие формулы 2 от формулы 1 - использование периода максимальной просадки (l) и умножение ее на квадратный корень от времени (под корнем - (t+l)/y). Последняя операция отражает идею о том, что возможный рост максимальной просадки происходит пропорционально квадратному корню от времени √(t+l)/y. Вероятность оказаться внутри худшей просадки в начале реальной торговли составляет l/y.

Подставим в формулу 2 те же значения переменных, что и в примере с формулой 1, длину максимальной просадки l примем равной одному месяцу.

Имеем:

$10000+$2000*6/3-$5000*sqrt[(6+1)/3]=$14000-$5000*1,53=$6362.

В данном случае? дозволенный барьер по счету снижается на $2638 относительно уровня по формуле 1.

Формула 2 переходит в формулу 1, когда реальный и тестовый периоды совпадают (t=y), а интервал максимальной просадки l=0. Другими словами, счет просев, мгновенно восстанавливается. 

При (t+l)>y допустимый предел по счету, рассчитанный  по формуле 2, ниже предела по формуле 1, как в разобранном примере, а при (t+l)<y - выше.

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

 

Индекс хладнокровия, The Cold Blood Index (CBI)

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

Процедура следующая:

  1. Задается временное окно в днях, обычно равное длине текущей просадки l, и оценивается максимальная глубина просадки D. 
  2. Данное окно с периодом l,  помещается в начало тестовой кривой капитала.
  3. Определяется разность G между балансом счета в конце и начале временного окна длиной l. Включается счетчик N, при G≤D. Другими словами, N - число окон, когда прирост по счету не превосходит просадку.
  4. Окно перемещается на один день вперед по тестовой кривой баланса.
  5. Пункты 3 и 4 повторяются, пока окно не упрется в конец тестовой кривой. Общее количество сделанных шагов обозначается через M. 

(Обратите внимание: здесь у l, D и G иной смысл, чем в формулах 1 и 2)

Таким образом, имеем вдоль всей тестовой кривой капитала N “плохих” окон с G≤D (тест хуже текущей ситуации) и (M-N) “хороших” окон с G>D (тест лучше текущей ситуации).

Вероятность P не попасть на просадку D в T окнах из M именуется индексом хладнокровия (The Cold Blood Index, CBI) и описывается комбинаторным уравнением:

4 ИХформула 3

(формула 3)

Здесь “!” - знак факториала[5].

Чем выше CBI (P), тем меньше шансов встретить просадку D в T окнах из M, тем более реальный трейдинг соответствует тесту, и следовательно, тем лучше функционирует торговая система. CBI близкие к нулю сигнализируют о проблемах в стратегии. Минимальным приемлемым значением индекса принимается диапазон 0,1-0,2 (10-20%).

Часто желательно прокачать ТС по индексу хладнокровия в самом начале торгов. Тогда размер окна l сопоставим с периодом реального трейдинга t, T принимается равным единице. Подставив T=1 в формулу 3 и взяв факториалы[5] получим:

1-P=[(M-N)!(M-1)!]/[M!(M-N-1)!]=(M-N)/M=1-N/M.

Для единообразия представим выражение для P (CBI) в виде формулы:

5 ИХформула 4

(формула 4)

Индекс хладнокровия равен доли “плохих” окон N, в которых  G≤D к общему числу окон M на тестовой кривой. В этом случае рекомендуемый минимум для CBI (P) - 0,05 (5%). Как только он устойчиво падает ниже, систему надо останавливать. 

Ниже размещен фрагмент скрипта (в двух последовательных частях) , в котором вычисляется индекс хладнокровия P по заданным параметрам: t=40 дней (время торговли),  l=30 дней и D=$100 - длина и глубина просадки соответственно

6 ИХскрипт

 

Выводы

  1. Раннее определение того, является ли просадка при реальной торговле «нормальной» или нет, имеет важное значение для кошелька трейдера.
  2. Просадка на истории - поздний и неточный критерий оценки пригодности ТС.
  3. Индекс хладнокровия рассчитывает вероятность просадки на основе кривой баланса при бэктестинге и дает заключение о приемлемости торговой системы.

 

перевод и обработка Владимира Наливайского

 

Источник фото на заставке - статья “Как сохранять хладнокровие в любых ситуациях?”, 07.08.2018, zen.yandex.ru, (указанный в тексте первоисточник - Kino-teatr.ua)

В основе статьи материал - “The Cold Blood Index”, The Financial Hacker, 26.10.2015.

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

 

Примечания

  1. Под адаптированным переводом понимается достаточно точное следование исходному материалу с возможными отступлениями и пояснениями. Конкретные вещи - формулы, скрипты и пр. (и комментарии к ним) изложены максимально близко к оригиналу (скопированы). Ответственность за их корректность и ясность интерпретации несет автор исходника. 
  2. “Сетка” - торговая система, выставляющая отложенные и краткосрочные ордера в фиксированных значениях выше и ниже текущей цены. Прибыль получается при отклонениях рынка. Ордера открываются и закрываются в том случае, когда цена пересекает значения сетки в любом направлении”, см. источник 1. 
  3. Речь идет о минимальном уровне в 1,2 франка за евро, установленном Национальным банком Швейцарии в сентябре 2011 года. Ограничение снято в январе 2015-го. 
  4. Подробно о проверке реальности Уайта можно посмотреть в источнике 2.
  5. Факториал натурального числа n определяется как произведение всех натуральных чисел от 1 до n включительно: n!=1*2*3*.....*n. Для нуля 0!=1. Комбинаторика - раздел математики, использующий факториалы. 

 

Список источников (Википедия/Wikipedia, если не оговорено иное)

  1. “Поиск неэффективностей: Что нужно знать о создании стратегий для торговли на бирже”, 15.03.2016, Habr.
  2. “Проверка реальности Уайта” (White’s Reality Check), The Financial Hacker, 14.09.2015.
  3. “Воспоминания биржевого спекулянта”, Э. Лефевр, 1922-23.
  4. “Факториал”. 

 

Список формул

формула 1  условие прекращения № 1

формула 2  условие прекращения № 2

формула 3  индекс хладнокровия

формула 4  индекс хладнокровия  для начала торгов

 

Используемые сокращения

CBI - The Cold Blood Index, индекс хладнокровия, по тексту используется также обозначение P

ТС - (механическая) торговая система или торговый алгоритм