Трейдерский Клуб

Общение о рынках, рисках и жизни. Без пиара и без рекламы. Здесь рады только своим.

Метрики для оценки стратегий. Просадка (drawdown)

Метрики для оценки стратегий. Просадка (drawdown)

Сообщение ra81 » Сб июн 18, 2016 11:28 am

Собственно в рамках определенных исследований решил нагреть себе голову данной темой. Предварительно опубликую набор ссылок по данной тематике раскрывающих вопросы:

1) как вообще грамотно билдить метрики на что угодно? Рассуждения kent на данную тематику http://quantquant.com/viewtopic.php?p=8855#p8855. Сюда же входит методичка многокритериальному принятию решений. То же самое но поширее и поматематичнее и больше методик http://quantquant.com/viewtopic.php?f=31&t=1334
2) попытки создать чудо метрику гладкости эквити, которая многим не дает покоя http://quantquant.com/viewtopic.php?f=7&t=1267
3) пример реализации разных метрик включая Гладкость эквити для weathlab http://quantquant.com/viewtopic.php?f=7&t=1061&p=8769&hilit=%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F#p8769

Главная цель задачи, рисовать в результате оптимизации картинки вроде этих
metric.params.png

metric.netpl.png


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

Стандартно здесь не подходит:
ни RF(рековри фактор) - для него система с 10 просадок по 1000, равна системе с 1 просадкой 1000, хотя тут равенства нет никакого.
ни МаксПросадка - аналогично рековери так первое есть производное от МаксПросадки.

Если включить фантазию то, можно нарисовать такие вот эквити
x.просадки.png


Главное исходное условие пусть в том, что общая площадь просадки для каждой эквити равна S и они равны для кривых 1-4.
1) мало сильных просадок
2) одна сильная и много мелких
3) одна оооочень длительная мелкая просадка
4) шибко много мелких просадок.
Понятно, что это некие крайние картинки и из них можно составить различные комбинации. Но как обычно сначала красивая теория, а потом страшная практика.

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

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

Если посчитать общий показатель в виде площади всех просадок эквити то он в общем виде отражает все 3 приоритета. Но между ними нет предпочтений. Как я нарисовал на рисунках 1-4, с точки зрения общей площади просадки, не будет разницы между 1-4 а все же мы предпочтем 4 всем остальным.

То есть 4 отражает следующие моменты:
а) нет шибко плохих участков рынка для системы она худо бедно все время зарабатывает (пусть даже чуток).
б) нет фактора ОдинБольшойТрейд или УдачнаяСерияСделок как на 3. Заработали и стоим на месте.
в) можно спать спокойно не опасаясь мощных просадок требующих железные причиндалы и доливок денег.

Если теперь попробовать расставить веса на приоритеты то
а) глубина просадки - 10
б) длина просадки - 3
в) число просадок -1
Веса расставил от балды, как некая оценка важности. kent все описал ранее по ссылке и в методичке тоже. В зависимости от метода свертки критериев веса будут или множителями или степенями.

Модель единичной просадки

Одна отдельная просадка может быть любой формы и загогуленности, но нас собственно интересуют 2 показателя:
depth - ее макс глубина в пп/руб
width - ее длительность в некоторых у.е.

Таким образом некая страшная просадка приводится к красивому кубику
x.модель.просадки.png


Исходя из этого, будем далее осмысливать элементы метрики.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ra81
 
Сообщения: 26
Зарегистрирован: Чт янв 17, 2013 9:55 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение Kent » Сб июн 18, 2016 12:53 pm

"Исходя из банальной жадности, в теории мы предпочитаем кривую 4. Нет глубоких просадок, нет долгих просадок. Идеал в чистом виде."
ну дык и формализовать это надо, можем попробовать вместе.
Аватара пользователя
Kent
Зубр
 
Сообщения: 420
Зарегистрирован: Пт янв 28, 2011 7:15 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение Kent » Сб июн 18, 2016 12:56 pm

ra81 писал(а):
Модель единичной просадки

Одна отдельная просадка может быть любой формы и загогуленности, но нас собственно интересуют 2 показателя:
depth - ее макс глубина в пп/руб
width - ее длительность в некоторых у.е.

Таким образом некая страшная просадка приводится к красивому кубику
x.модель.просадки.png


Исходя из этого, будем далее осмысливать элементы метрики.

Плохо формализовано, и я бы даже сказал - меня не правильно поняли, я за площадь - да, но более правильную ) , я за взятие интеграла ;) перевожу, за более тщательное суммирование, побарное.
Аватара пользователя
Kent
Зубр
 
Сообщения: 420
Зарегистрирован: Пт янв 28, 2011 7:15 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение ra81 » Сб июн 18, 2016 2:20 pm

Свертка критериев
Имея площадь просадки и наши исходные задачи, нам необходимо получить оценку просадки метрикой. Для площади, совершенно не подходит аддитивный метод свертки, просто по определению, и это собственно указано в той самой методичке выше. Остается мультипликативный.
m = w^wp * h^hp
где wp/hp это степени важности для w и h соответственно. Весовые коэффициенты.

Тут стоит рассмотреть момент такого рода:
Эквити мы строим по сделкам, без учета времени. Это хорошо. Но ширина просадки будет тем больше чем больше сделок в эквити. Это очевидно, что увеличение общего числа сделок, будет приводить к более широким просадкам в штуках сделок.
Ну и конечно, если оставить W как есть, то метрика будет четко тяготеть к выбору менее активной торговли. Картинка это подтверждает
metric.wrong.png


Значит нужно уйти от абс. W а идти к относительной. Для набора эквитей из оптимизатора логичным будет что ДлинаТестируемого участка будет общей. Можно как то вдруг взять и перейти к:

Wx = W/Сount
где Count - есть число сделок в эквити.

Так мы будем получать Wx в диапазоне [0, 1]. И тут стоит отметить что Wx^wp будет уменьшаться с увеличением wp. В то время как h^hp увеличиваться. Пока что мы h не перевели в относительные величины.
Увеличение wp должно уменьшать метрику по Wx гораздо сильнее чем уменьшение h.
Увеличение hp будет увеличивать метрику гораздо сильнее чем увеличение Wx.
Это нам и надо. Метрика для лучших результатов имеет меньшее значение.

Что же делать с h? Как то нормировать кажется затруднительным. Ведь нас интересует конечная просадка в неком конечном числе. 4000 рублей. Это позволяет понимать, сколько система может срезать с депозита пока не начнет зарабатывать. Как вариант, можно нормировать на какое то левое число, и если взять его достаточно большим, можем получить и Hx в диапазоне [0,1].
Таким образом, нам необходимо будет сначала определить максимально возможную просадку ВООБЩЕ, а потом задав некое число большее чем эта просадка, провести номировку всех h.
Можно оставить h как есть и все дела. Я оставлю без нормировки, но при желании ее можно ввести если есть желание сравнивать метрики для разных систем на разных отрезка времени.

Пример
Пусть у нас есть набор просадок, с разными характеристиками
Код: Выделить всё
     
    tc = 100                   # число сделок вообще
    x1 = c(1,1,4,1,1)     # большая глубина просадки
    x2 = c(1,2,2,2,1)     # глубина меньше при той же длине
    x3 = c(1,2,4,1)       # меньшая длина при большой глубине
    x4 = c(2,4,2)         # самая короткая длина при большой глубине
    x5 = c(3,3,2)         # короткая длина, средняя глубина
    x6 = c(4,4)           # самая короткая, большая глубина
    x7 = c(2,2,2,2)

Ранее мы уже определили мультипликативную свертку, посмотрим как она детектирует указанные просадки и проранжирует их в нужном порядке.
Код: Выделить всё
    .id    w    h    area    simple    h^2    w.alt     w^2       h.alt
1    x1    5    4      8        0.20      0.80     20       0.0100      16
2    x2    5    2      8        0.10      0.20     20       0.0050       8
3    x3    4    4      8        0.16      0.64     16       0.0064      16
4    x4    3    4      8        0.12      0.48     12       0.0036      16
5    x5    3    3      8        0.09      0.27     12       0.0027      12
6    x6    2    4      8        0.08      0.32      8        0.0016      16
7    x7    4    2      8        0.08      0.16     16       0.0032        8

Площадь всех просадок одинакова.

simple
простой метод, когда используем нашу модель просадки и находит площадь квадрата. Система верно проранжировала все, и провела сортировку так, чтобы наша просадка максимально заполняла квадрат. Чем более похожа просадка на квадрат, тем лучше у нее метрика. Как видим последние 2 просадки выглядят одинаково для данного метода, хотя 6 просадка куда более глубокая и для нас менее предпочтительна

h^2
Метод с hp = 2. Должен ранжировать сначала по глубине а потом по длине. Мы собственно это и наблюдаем. 7 просадка имеет такой же h, но меньший w чем 2 просадка и поэтому она зе бест. Дальше идет 2 и так далее.

w.alt
Показывает какой должна быть длина просадки при глубине равной 0.5*h чтобы метрика была такой же.

w^2
Ширина в приоритете, поэтому ранжируется сначала по ширине а потом по глубине.

h.alt
Показывает какой должна быть h просадки при длине равной 0.5*w чтобы метрика была такой же.

Итак, с одной просадкой мы вполне разобрались. Осталось теперь как то оценить все просадки скопом по всей эквити.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ra81
 
Сообщения: 26
Зарегистрирован: Чт янв 17, 2013 9:55 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение ra81 » Сб июн 18, 2016 2:25 pm

Kent писал(а):Плохо формализовано, и я бы даже сказал - меня не правильно поняли, я за площадь - да, но более правильную ) , я за взятие интеграла ;) перевожу, за более тщательное суммирование, побарное.

Нужно уточнить, что кубик, это одна просадка из кучи просадок на эквити. То есть я перевожу просадку в квадратики. Квадрат вполне хорошо моделирует просадку. И я не уверен что нам нужно знать конкретную площадь оной, ведь нам не важно как там в просадке эквити блуждала. Главное это ее глубина и сколько мы блуждали в просадке.
Вот я вижу картинку так.
Опять же вычислять побарную просадку, дело хорошее, но не всегда возможное. Были исходные данные, на них и ковыряемся. Пока у нас эквити строится на сделках, и ширина просадки вычисляется в числе сделок. Других вариантов пока нет.
ra81
 
Сообщения: 26
Зарегистрирован: Чт янв 17, 2013 9:55 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение ra81 » Сб июн 18, 2016 3:15 pm

Полная метрика просадок эквити

В прошлом сообщении мы запилили метрику для одной просадки. Остается как то объединить все в кучу и посчитать метрику для всей эквити.
Помним, что чем меньше просадок, тем лучше. При этом меньшая метрика одной просадки говорит о том что просадка "лучше". Сумма метрик всех просадок, даст общую метрику эквити. Чем меньше просадок тем меньше будет сумма. Чем меньше метрики входящих в эквити просадок, тем меньше будет сумма.

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

Далее, если не сказано иное, то веса для w и h одинаковые и равные 1.
metric.wrong2.png


Явно видим тяготение к меньшему числу сделок, что и предсказывалось. Будем брать среднее по всем просадкам. То есть общая метрика:

M = sum(m)/ddcount

И сразу посмотрим картинку
metric.good.png


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

С общей метрикой тоже более менее разобрались. Теперь осталось проверить что за эквити оно выдает в реале.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ra81
 
Сообщения: 26
Зарегистрирован: Чт янв 17, 2013 9:55 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение Kent » Сб июн 18, 2016 3:31 pm

ra81 писал(а):
Kent писал(а):Плохо формализовано, и я бы даже сказал - меня не правильно поняли, я за площадь - да, но более правильную ) , я за взятие интеграла ;) перевожу, за более тщательное суммирование, побарное.

Нужно уточнить, что кубик, это одна просадка из кучи просадок на эквити. То есть я перевожу просадку в квадратики. Квадрат вполне хорошо моделирует просадку. И я не уверен что нам нужно знать конкретную площадь оной, ведь нам не важно как там в просадке эквити блуждала. Главное это ее глубина и сколько мы блуждали в просадке.
Вот я вижу картинку так.
Опять же вычислять побарную просадку, дело хорошее, но не всегда возможное. Были исходные данные, на них и ковыряемся. Пока у нас эквити строится на сделках, и ширина просадки вычисляется в числе сделок. Других вариантов пока нет.

Не надо переводить в квадратик, зачем нам моделировать квадратиком, если мы можем посчитать точно! Тем более это не сложно.
Аватара пользователя
Kent
Зубр
 
Сообщения: 420
Зарегистрирован: Пт янв 28, 2011 7:15 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение ra81 » Сб июн 18, 2016 3:39 pm

С весами 1

Самая плохая метрика у данной эквити. По совместительству это самая плохая эквити вообще. Что логично. Самый большой убыток и вообще не вылазит из просадки
worst.eq.png


Самый высокий NetPL у данной эквити, и вполне логично что метрика не выбрала его лучшим. Застой в конце, явно плохо сказывается на длине просадок.
best.profit.eq.png


Лучшая метрика у данной эквити, но не самый лучший общий доход. NetPL, PF, Avg%, MaxDD у системы не самые крутые но находятся в топе лучших.
best.eq.png


Поставим вес h=2 и посмотрим что нам выберет оптимизатор
best.eq.h2.png


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

Итого

Задачу пока считаю выполненой. Более менее вменяемая метрика найдена. Она что то показывает. Остается теперь ругать, наводить критику и допиливать если это возможно. Ну а далее, используя данный вполне себе конкретный пример, каждый может создать себе любые метрики чего угодно.

M = sum(Wx^wp * h^hp) / ddCount

Wx - нормированная длина одной просадки. То есть w/tcount
w - длина просадки в у.е.
tcount - общая длина всей эквити в у.е.
wp - вес длины просадки
h - макс глубина одной просадки
hp - вес глубины
ddCount - число всех просадок в эквити
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ra81
 
Сообщения: 26
Зарегистрирован: Чт янв 17, 2013 9:55 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение ra81 » Сб июн 18, 2016 3:50 pm

Kent писал(а):Не надо переводить в квадратик, зачем нам моделировать квадратиком, если мы можем посчитать точно! Тем более это не сложно.

Не сложно. Но путем размышлений я пришел к выводу что в квадратик оно выгоднее. Если мы будем искать общую площадь просадки, то для нас совершенно одинаковы будут просадки изображенные на картинке, если их точная площадь будет одинакова.
dd.compare.png


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

Поэтому квадрат, отражает именно ТЕ величины, которые имеют для меня значения. И метрика ДД одной просадки как раз хорошо их отражает.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ra81
 
Сообщения: 26
Зарегистрирован: Чт янв 17, 2013 9:55 am

Re: Метрики для оценки стратегий. Просадка (drawdown)

Сообщение Kent » Сб июн 18, 2016 4:10 pm

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

Рисунки рукой эквити с номерами 1-4 в стартовом посте.
дык чтобы откинуть 1 и 2 рис надо включить доп.измерение очевидно макс.дродаун
чтобы откинуть рис 3 надо ввести доп.измерение, скорость прироста эквити.
Аватара пользователя
Kent
Зубр
 
Сообщения: 420
Зарегистрирован: Пт янв 28, 2011 7:15 am

След.

Вернуться в PUB: Вопросы и Ответы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1