Математика в трейдинге. Оценка результатов торговых сделок

Автор: lexy Вторник, Сентябрь 9th, 2014 Нет комментариев

Рубрика: Разное

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

Из двух зол выбираем меньшее

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

В чем ненормальность нормального распределения?

Одним из основных понятий в теории вероятностей является понятие нормального распределения. Почему оно названо именно так? Оказалось, что множество процессов в природе имеет нормальное распределение. Точнее, большинство процессов в природе в пределе сходятся к нормальному распределению. Рассмотрим это на простом примере. Пусть у нас имеется равномерное распределение на интервале от 0 до 100. Равномерное распределение означает, что вероятность выпадения любого значения на интервале одинакова для всех чисел этого интервала, и вероятность того, что выпадет 3.14 (число Pi), такая же, как и вероятность выпадения числа 77 (любимое число с двумя семерками). Современные компьютеры дают возможность генерировать достаточно хорошую последовательность псевдослучайных чисел.

Как из этого равномерного распределения получить нормальное распределение? Оказывается, если мы будем брать каждый раз несколько случайных чисел из равномерного распределения (например, 5 чисел) и находить среднее значение этой пятерки (это называется сделать выборку), то при большом количестве таких выборок новое полученное распределение будет стремиться к нормальному. Центральная предельная теорема гласит, что это относится не только к выборкам из равномерных распределений, но и к широкому классу других распределений. А так как свойства нормального распределения очень хорошо изучены, то представление многих процессов в виде процесса с нормальным распределением облегачает анализ. Но лучше один раз увидеть, чем сто раз услышать. С помощью простого индикатора на языке MQL4 мы можем увидеть подтверждение центральной предельной теоремы. Запускаем NormalDistribution.mq4 на любом графике с разным значением N (количество выборок) и видим, что эмпирическое частотное распределение становится все более гладким.


Рис.1. Индикатор,создающий нормальное распределение из равномерного.

Здесь N означает, сколько раз мы брали среднее из pile=5 равномерно распределенных чисел на интервале от 0 до 100. Мы получили четыре графика, которые очень похожи между собой, и если мы проведем в пределе некоторую нормировку (приведем к единому масштабу), то получим несколько реализаций стандартного нормального распеределения. Единственная горькая ложка дегтя в красоте такого подхода — цены на финансовых рынках (а точнее — приращения цен и другие производные от этих приращений), по большому счету, все же не укладываются в схему нормального распределения. Вероятность достаточно редкого события (например, падения цены на 50%) на финансовых рынках хоть и мала, но все же значительно больше, чем при нормальном распределении. Поэтому при оценке рисков на основе нормального распределения об этом все же надо помнить.

Количество переходит в качество

Даже на таком простом примере моделирования нормального распределения мы видим, что количество обрабатываемых данных имеет значение. Чем больше исходных данных, тем точнее и достовернее результаты. Считается, что минимальное число в выборке должно быть не меньше 30. То есть, если мы хотим оценить результаты торговых операций (например, эксперта в тестере), то количество сделок ниже 30 не является достаточным, чтобы делать статистически достоверные выводы о некоторых параметрах системы. Чем больше сделок мы анализируем, тем меньше вероятность того, что эти сделки являются просто удачно выхваченными звеньями не очень надежной торговой системы. Поэтому итоговая прибыль на серии из 150 сделок дает больше оснований для принятия на вооружение торговой системы, чем система, оцениваемая только по 15 сделкам.

Математическое ожидание и дисперсия как оценка риска

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

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


Рис.2. График плотности вероятности нормального распределения.

Мерой разброса распределения является сумма квадратов отклонений случайной величины от его математического ожидания. Эту характеристику распределения называют дисперсией. Обычно математическое ожидание для случайно распределенной величины обозначают как M(X). Тогда дисперсию можно записать как D(X) = M((X-M(X))^2 ). Квадратный корень из дисперсии называют стандартным отклонением, другое его краткое наименование — сигма (σ). Именно нормальное распределение, у которого математическое ожидание равно нулю, а стандартное отклонение равно 1, называют стандартным нормальным распределением или распределением Гаусса.

Чем больше значение стандартного отклонения, тем большей изменчивости подвержен торговый капитал, тем больше риск для него. Если математическое ожидание положительно (стратегия выигрышная) и равно $100, а стандартное отклонение равно $500, то мы рискуем в несколько раз большей суммой, чтобы заработать каждый доллар. Например, мы имеем результаты 30 сделок:

Номер сделки X (Результат)
1 -17.08
2 -41.00
3 147.80
4 -159.96
5 216.97
6 98.30
7 -87.74
8 -27.84
9 12.34
10 48.14
11 -60.91
12 10.63
13 -125.42
14 -27.81
15 88.03
Номер сделки X (Результат)
16 32.93
17 54.82
18 -160.10
19 -83.37
20 118.40
21 145.65
22 48.44
23 77.39
24 57.48
25 67.75
26 -127.10
27 -70.18
28 -127.61
29 31.31
30 -12.55

 

Чтобы найти математическое ожидание этой последовательности сделок, сложим все результаты и разделим на 30. Получим среднее значение M(X), равное $4.26. Чтобы найти стандартное отклонение, вычтем из результата каждой сделки среднее, возведем в квадрат и найдем сумму квадратов. Найденную сумму разделим на 29 (количество сделок минус один). Получили дисперсию D, равную 9 353.623. Возьмем корень из дисперсии и получим стандартное отклонение sigma, равное $96.71.

Данные для проверки записаны в таблицу:

Номер
сделки
X
(Результат)
X-M(X)
(Разница)
(X-M(X))^2
(Квадрат разницы)
1 -17.08 -21.34 455.3956
2 -41.00 -45.26 2 048.4676
3 147.80 143.54 20 603.7316
4 -159.96 -164.22 26 968.2084
5 216.97 212.71 45 245.5441
6 98.30 94.04 8 843.5216
7 -87.74 -92.00 8 464.00
8 -27.84 -32.10 1 030.41
9 12.34 8.08 65.2864
10 48.14 43.88 1 925.4544
11 -60.91 -65.17 4 247.1289
12 10.63 6.37 40.5769
13 -125.42 -129.68 16 816.9024
14 -27.81 -32.07 1 028.4849
15 88.03 83.77 7 017.4129
16 32.93 28.67 821.9689
17 54.82 50.56 2 556.3136
18 -160.10 -164.36 27 014.2096
19 -83.37 -87.63 7 679.0169
20 118.40 114.14 13 027.9396
21 145.65 141.39 19 991.1321
22 48.44 44.18 1 951.8724
23 77.39 73.13 5 347.9969
24 57.48 53.22 2 832.3684
25 67.75 63.49 4 030.9801
26 -127.10 -131.36 17 255.4496
27 -70.18 -74.44 5 541.3136
28 -127.61 -131.87 17 389.6969
29 31.31 27.05 731.7025
30 -12.55 -16.81 282.5761

 

Что мы получили: математическое ожидание равно $4.26, стандартное отклонение равно $96.71. Не самое лучшее соотношение риска и средней сделки. График прибыли подтверждает этот вывод:


Рис.3. График изменения баланса по совершенным сделкам.

Случайно ли я торгую? Z-счет

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

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

Z-счет для торговой системы вычисляется по формуле:

Z=(N*(R-0.5)-P)/((P*(P-N))/(N-1))^(1/2)где:
N — общее число сделок в последовательности;
R — общее число серий выигрышных и проигрышных сделок;
P = 2*W*L;
W — общее число выигрышных сделок в последовательности;
L — общее число проигрышных сделок в последовательности.

 

Серия — это последовательность идущих друг за другом плюсов (например, +++) или минусов (например, —). R подсчитывает количество таких серий.


Рис.4. Сравнение двух серий выигрышей и проигрышей.

На рисунке синим цветом показана часть последовательности выигрышей и проигрышей эксперта, который занял первое место на Чемпионате Automated Trading Championship 2006. Z-score его конкурсного счета имеет значение -3.85, в скобках указана вероятность 99.74%. Это означает, что с вероятностью 99.74% сделки на этом торговом счете имели положительную зависимость между собой (Z-счет отрицателен): за одним выигрышем следовал другой выигрыш, за проигрышем опять шел проигрыш. Так ли это? Те, кто следил за Чемпионатом, помнят, что Roman Rich выставил на нем свою версию советника MACD, который часто открывал сразу по три сделки в одном направлении.

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

При этом значения Z трактуются так же, как и вероятность отклонения от нуля случайной величины, распределенной по закону стандартного нормального распределения (среднее=0, sigma=1). Если вероятность попадания нормально распределенной случайной величины в диапазоне ±3σ равна 99.74 %, то попадание этого значения за пределы этого интервала с той же вероятностью 99.74% говорит нам о том, что эта случайная величина не принадлежит данному нормальному распределению. Поэтому «правило трех сигм» читают так: нормальная случайная величина отклоняется от своего среднего не более, чем на три сигмы.

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

Z-счет Вероятность зависимости,% Тип зависимости
-3.0 99.73 Положительная
-2.9 99.63 Положительная
-2.8 99.49 Положительная
-2.7 99.31 Положительная
-2.6 99.07 Положительная
-2.5 98.76 Положительная
-2.0 95.45 Положительная
-1.5 86.64 Неопределенная
-1.0 68.27 Неопределенная
0.0 0.00 Неопределенная
1.0 68.27 Неопределенная
1.5 86.64 Неопределенная
2.0 95.45 Отрицательная
2.5 98.76 Отрицательная
2.6 99.07 Отрицательная
2.7 99.31 Отрицательная
2.8 99.49 Отрицательная
2.9 99.63 Отрицательная
3.0 99.73 Отрицательная

 

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

Прибыль за время удержания сделки (HPR)

В своей книге «Математика управления капиталом» Ральф Винс использует понятие HPR (holding period returns) — прибыль за время удержания сделки. Сделке, которая принесла 10% прибыли, соответствует HPR=1+0.10=1.10. Сделке же, принесшей убыток в 10%, соответствует HPR=1-0. 10=0.90. По-другому значение HPR для сделки можно получить, если разделить значение баланса после закрытия сделки (BalanceClose) на значение баланса на момент открытия сделки (BalanceOpen). HPR=BalanceClose/BalanceOpen. Таким образом, каждой сделке соответствует не только результат сделки в денежном выражении, но и HPR. Это позволяет сравнивать системы вне зависимости от величины торгуемых контрактов. Одним из показателей такого сравнения является среднее арифметическое — AHPR (average holding period returns).

Чтобы найти AHPR, нужно сложить все HPR и разделить на количество сделок. Рассмотрим эти расчеты используя предыдущий пример из 30 сделок. Предположим, что мы начали торговать, имея на счете $500. Составим новую таблицу:

Номер сделки Баланс, $ Результат, $ Баланс
по закрытии, $
HPR
1 500.00 -17.08 482.92 0.9658
2 482.92 -41.00 441.92 0.9151
3 441.92 147.80 589.72 1.3344
4 589.72 -159.96 429.76 0.7288
5 429.76 216.97 646.73 1.5049
6 646.73 98.30 745.03 1.1520
7 745.03 -87.74 657.29 0.8822
8 657.29 -27.84 629.45 0.9576
9 629.45 12.34 641.79 1.0196
10 641.79 48.14 689.93 1.0750
11 689.93 -60.91 629.02 0.9117
12 629.02 10.63 639.65 1.0169
13 639.65 -125.42 514.23 0.8039
14 514.23 -27.81 486.42 0.9459
15 486.42 88.03 574.45 1.1810
16 574.45 32.93 607.38 1.0573
17 607.38 54.82 662.20 1.0903
18 662.20 -160.10 502.10 0.7582
19 502.10 -83.37 418.73 0.8340
20 418.73 118.40 537.13 1.2828
21 537.13 145.65 682.78 1.2712
22 682.78 48.44 731.22 1.0709
23 731.22 77.39 808.61 1.1058
24 808.61 57.48 866.09 1.0711
25 866.09 67.75 933.84 1.0782
26 933.84 -127.10 806.74 0.8639
27 806.74 -70.18 736.56 0.9130
28 736.56 -127.61 608.95 0.8267
29 608.95 31.31 640.26 1.0514
30 640.26 -12.55 627.71 0.9804

 

AHPR находим как среднее арифметическое, оно равно 1.0217. Другими словами, мы в среднем зарабатываем (1.0217-1)*100%=2.17 % на каждой сделке. Так ли это? Если мы умножим 2.17 на 30, то получим, что доход должен составить 65.1%. Умножим первоначальный капитал $500 на 65.1% и получим $325.50. В то же время реальная прибыль составляет (627.71-500)/500*100%=25. 54%. Таким образом, среднее арифметическое от HPR не всегда позволяет правильно оценить систему.

Наряду со средним арифметическим Ральф Винс вводит понятие среднего геометрического, которое мы обозначили как GHPR (geometric holding period returns), которое практически всегда меньше среднего арифметического AHPR. Среднее геометрическое является фактором роста за игру и находится по формуле:

GHPR=(BalanceClose/BalanceOpen)^(1/N)где:
N — количество сделок;
BalanceOpen — начальное состояние счета;
BalanceClose — конечное состояние счета.

Система с наибольшим средним геометрическим принесет наибольшую прибыль, если торговать на основе реинвестирования. Среднее геометрическое меньше единицы означает, что система будет терять деньги, если вы будете торговать на основе реинвестирования. Хорошей иллюстрацией разницы между AHPR и GHPR может служить счет sashken’а, который долгое время был лидером Чемпионата. AHPR=9.98% впечатляет, но итоговое GHPR=-27.68% все расставляет по своим местам.

Показатель Шарпа (Sharpe Ratio)

Эффективность инвестиций часто оценивают с точки зрения дисперсии доходов. Одним из таких показателей является коэффициент Шарпа (Sharpe Ratio). Этот коэффициент показывает, как соотносятся среднее арифметическое AHPR, уменьшенное на безрисковую ставку, и стандартное отклонение SD от ряда HPR. Значение безрисковой ставки RFR (Risk Free Rate) обычно принимают равным процентной ставке по доходу на депозит в банке или ставке дохода на казначейские обязательства. Для нашего примера, AHPR=1.0217, стандартное отклонение SD (HPR) равно 0.17607, а RFR=0.

Sharpe Ratio=(AHPR-(1+RFR))/SDгде:
AHPR — средняя арифметическая прибыль за время удержания позиции;
RFR — безрисковая ставка;
SD — стандартное отклонение.

 

Sharpe Ratio=(1.0217-(1+0))/0.17607=0.0217/0.17607=0.1232. Для нормального стандартного распределения более 99% случайных величин находятся в диапазоне ±3σ (сигма=SD) вокруг среднего значения M(X). Из этого можно заключить, что значение Sharpe Ratio больше 3 является очень хорошим. Рисунок позволяет увидеть, что если результаты сделок распределены нормально, то при показателе Шарпа равном 3 вероятность получения убытка в каждой сделке меньше 1% — по правилу трех сигм.


Рис.5. Нормальное распределение результатов сделок с вероятностью проигрыша менее 1%.

Подтверждение этому можно увидеть на счете участника RobinHood: его эксперт совершил 26 сделок на Чемпионате Automated Trading Championship 2006, и среди них — ни одной убыточной. Показатель Шарпа (Sharpe Ratio) равен 3.07!

Линейная регрессия и коэффициент линейной корреляции

Можно и по-другому оценить стабильность торговых результатов. Показатель Шарпа позволяет оценить меру риска, которому подвергается торговый капитал, но можно попробовать оценить и степень гладкости кривой баланса. Если мы нанесем на график значения баланса по закрытии каждой сделки, то сможем провести ломаную линию. Можно аппроксимировать эти точки некоторой прямой линией, которая покажет нам среднее направление изменения торгового капитала. Рассмотрим эту возможность на примере графика баланса эксперта Phoenix_4, разработанного Hendrick’ом.


Рис.6. График баланса Hendrick — участника чемпионата Automated Trading Championship 2006.

Нам необходимо найти такие коэффициенты a и b, чтобы эта прямая линия проходила как можно ближе к аппроксимируемым точкам. Для нашего случая x — это номер сделки, y — значение баланса по закрытии сделки.

 

x (trades) y (balance)
1 11 069.50
2 12 213.90
3 13 533.20
4 14 991.90
5 16 598.10
6 18 372.80
7 14 867.50
8 16 416.80
9 18 108.30
10 19 873.60
11 16 321.80
12 17 980.40
13 19 744.50
14 16 199.00
15 17 943.20
16 19 681.00
17 21 471.00
18 23 254.90
x (trades) y (balance)
19 24 999.40
20 26 781.60
21 28 569.50
22 30 362.00
23 32 148.20
24 28 566.70
25 30 314.10
26 26 687.80
27 28 506.70
28 24 902.20
29 26 711.60
30 23 068.00
31 24 894.10
32 26 672.40
33 28 446.30
34 24 881.60
35 21 342.60

Обычно коэффициенты аппроксимирующей прямой находят по методу наименьших квадратов (МНК). Пусть у нас есть такая прямая с известными коэффициентами а и b. Для каждой точки x мы имеем два значения: y(x)=a*x+b и balance(x). Отклонение balance(x) от y(x) мы обозначим как d(x)=y(x)-balance(x). Сумма квадратов отклонений может быть посчитана как SD=Summ{d(n)^2}. Нахождение прямой по методу наименьших квадратов означает поиск таких коэффициентов a и b, чтобы SD была минимальна. Эту прямую также называют

линейной регрессией

(LR,Linear Regression) для данной последовательности.

 


Рис.7. Отклонение значения баланса от прямой y=ax+b

Получив коэффициенты прямой y=a*x+b по методу наименьших квадратов, мы можем оценить отклонение значений баланса от найденной прямой в денежном выражении. Если мы посчитаем среднее арифметическое для ряда d(x), то убедимся, что М(d(x)) близко к нулю (точнее, равно нулю с некоей степенью точности вычислений). В то же время сумма квадратов отклонений SD не равна нулю и имеет некое ограниченное значение. Корень квадратный из SD/(N-2) показывает разброс значений графика Баланса вокруг прямой линии и позволяет оценивать торговые системы при равных значениях начального состояния счета. Этот параметр мы назовем стандартным отклонением Баланса от линейной регрессии и обозначим как LR Standard error.

Вот каковы значения этого показателя для первых 15 счетов Чемпионата Automated Trading Championship 2006:

# Логин LR Standard error, $ Прибыль, $
1 Rich 6 582.66 25 175.60
2 ldamiani 5 796.32 15 628.40
3 GODZILLA 2 275.99 11 378.70
4 valvk 3 938.29 9 819.40
5 Hendrick 3 687.37 9 732.30
6 bvpbvp 9 208.08 8 236.00
7 Flame 2 532.58 7 676.20
8 Berserk 1 943.72 7 383.70
9 vgc 905.10 6 801.30
10 RobinHood 109.11 5 643.10
11 alexgomel 763.76 5 557.50
12 LorDen 1 229.40 5 247.90
13 systrad5 6 239.33 5 141.10
14 emil 2 667.76 4 658.20
15 payday 1 686.10 4 588.90

Но степень близости графика баланса к прямой линии можно измерить не только в денежном выражении, но и в абсолютном. Для этого можно использовать коэффициент корреляции. Коэффициент корреляции r измеряет степень связи между двумя последовательностями чисел. Значение этого параметра может быть в диапазоне от -1 до +1. Если значение r равно +1, то это значит, что обе последовательности ведут себя одинаково и корреляция положительна.


Рис.8. Пример положительной корреляции.

Eсли значение r равно -1, то две последовательности меняются в противофазе, корреляция отрицательна.


Рис.9. Пример отрицательной корреляции.

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


Рис.10. Значения баланса и точек на линейной регрессии.

В виде таблицы это будет выглядеть так:

Сделка Баланс Лин. регресс.
0 10 000.00 13 616.00
1 11 069.52 14 059.78
2 12 297.35 14 503.57
3 13 616.65 14 947.36
4 15 127.22 15 391.14
5 16 733.41 15 834.93
6 18 508.11 16 278.72
7 14 794.02 16 722.50
8 16 160.14 17 166.29
9 17 784.79 17 610.07
10 19 410.98 18 053.86
11 16 110.02 18 497.65
12 17 829.19 18 941.43
13 19 593.30 19 385.22
14 16 360.33 19 829.01
15 18 104.55 20 272.79
16 19 905.68 20 716.58
17 21 886.31 21 160.36
Сделка Баланс Лин. регресс.
18 23 733.76 21 604.15
19 25 337.77 22 047.94
20 27 183.33 22 491.72
21 28 689.30 22 935.51
22 30 411.32 23 379.29
23 32 197.49 23 823.08
24 28 679.11 24 266.87
25 29 933.86 24 710.65
26 26 371.61 25 154.44
27 28 118.95 25 598.23
28 24 157.69 26 042.01
29 25 967.10 26 485.80
30 22 387.85 26 929.58
31 24 070.10 27 373.37
32 25 913.20 27 817.16
33 27 751.84 28 260.94
34 23 833.08 28 704.73
35 19 732.31 29 148.51

 

Значения баланса обозначим как X, а последовательность точек на прямой линейной регрессии обозначим как Y. Для того чтобы вычислить коэффициент линейной корреляции между последовательностями X и Y, сначала необходимо найти средние значения M(X) и M(Y). Затем создадим новую последовательность T=(X-M(X))*(Y-M(Y)) и вычислим среднее значение для нее M(T)=cov(X,Y)=M((X-M(X))*(Y-M(Y))). Найденное значение cov(X, Y) называется ковариацией X и Y и означает математическое ожидание от произведения (X-M(X))*(Y-M(Y)). Для нашего примера значение ковариации равно 21 253 775.08. Обратите внимание, что средние значения M(X) и M(Y) равны между собой и имеют значение 21 382.26. То есть, среднее значений Баланса и среднее значений аппроксимирующей прямой равны между собой.

T=(X-M(X))*(Y-M(Y)) M(T)=cov(X,Y)=M((X-M(X))*(Y-M(Y)))где:
X — баланс;
Y — линейная регрессия;
M(X) — среднее от баланса;
M(Y) — среднее от линейной регрессии.

Теперь нам осталось вычислить значения Sx и Sy. Чтобы вычислить Sx, найдем сумму значений (X-M(X))^2, то есть найдем сумму квадратов отклонения величины X от его среднего значения. Вспомните, как мы вычисляли дисперсию и алгоритм метода наименьших квадратов(МНК), как видите, все они пересекаются. Найденную сумму квадратов разделим на количество чисел в последовательности — в нашем случае их 36 (от нуля до 35) — и возьмем из найденного значения квадратный корень. Значение Sx получено. Значение Sy вычисляем аналогично. Для нашего примера — Sx=5839.098245 и Sy=4610.181675.

Sx=Summ{(X-M(X))^2}/N Sy=Summ{(Y-M(Y))^2}/N r=cov(X,Y)/(Sx* Sy)где:
N — количество сделок;
X — баланс;
Y — линейная регрессия;
M(X) — среднее от баланса;
M(Y) — среднее от линейной регрессии.

Теперь мы можем найти значение коэффициента корреляции как r=21 253 775.08/(5839. 098245 * 4610.181675)=0.789536583. Это меньше единицы, но далеко не ноль. Таким образом, мы можем сказать, график баланса коррелирует с линией тренда со значением 0.79. При сравнении с другими системами мы постепенно научимся трактовать значения коэффициента корреляции. На странице «Отчеты» данный параметр обозначен как LR correlation. Единственная разница, которая была сделана для расчета параметра на страницах Чемпионата, — знак LR correlation указывает прибыльность торговли.

Дело в том,что мы могли вычислять коэффициент корреляции между графиком баланса и любой прямой линией. Для Чемпионата корреляция вычислялась для восходящей линии тренда, поэтому, если LR correlation больше нуля, — торговля прибыльна, если меньше нуля — убыточна. Бывает интересный эффект, когда на счете показана прибыль, но знак LR correlation отрицательный, что может говорить об убыточности торговли. Пример такой ситуации можно увидеть у Aver`а. Чистая прибыль (Total Net Profit) составляет $2 642, а LR сorrelation равна -0. 11. Хотя в данном случае речь скорее всего идет об отсутствии корреляции, то есть о невозможности сделать заключение о дальнейшей судьбе торгового счета.

Параметры MAE и MFE нам многое расскажут

Мы часто слышим: «Обрезайте убытки и дайте прибыли расти». Глядя на итоговый результат торговли, в котором представлены исходы торговых операций, мы не можем сделать никаких выводов о наличии защитных стопов (Stop Loss) или об эффективности фиксации прибыли. Мы видим только дату открытия позиции, дату закрытия и итоговый результат — прибыль или убыток. Это все равно что судить о жизни человека только по датам рождения и смерти. Не имея информации о плавающей прибыли в течение жизни каждой торговой позиции и обо всех позициях в совокупности, мы не можем вынести суждения о характере торговой системы. Насколько она рискованна, как достигалась прибыль, не упускалась ли бумажная прибыль? Ответы на эти вопросы в достаточной мере нам могут дать параметры MAE (Maximum Adverse Excursion) и MFE (Maximum Favorable Excursion).

Каждая открытая позиция до момента закрытия постоянно испытывает колебания прибыли. Каждая сделка в период между открытием и закрытием достигала максимальной прибыли и максимального убытка. MFE показывает максимальное движение цены в благоприятном направлении. Соответственно, MAE показывает максимально неблагоприятное движение цены. Логично было бы измерять оба показателя в пунктах, но если торговля велась на различных валютных парах, то для приведения к общему знаменателю мы будем использовать денежное выражение.

Каждой закрытой сделке соответствуют результат этой сделки (return) и два показателя — MFE и MAE. Если сделка дала прибыль в $100, но при этом MAE (максимальный плавающий убыток за время жизни позиции) достигала -$1000, то это не лучшим образом характеризует данную сделку. Наличие множества сделок с положительным результатом, но с большим отрицательными значениями MAE для каждой сделки говорят нам от том, что система пересиживает убыточные позиции, и рано или поздно такая торговля обречена.

Аналогично можно получить информацию и из значений MFE. Если позиция была открыта в правильном направлении, MFE (незафиксированная максимальная прибыль) по сделке достигала $3000, но в результате сделка была закрыта с результатом плюс $500, можно сказать, что неплохо было бы доработать систему защиты незафиксированной прибыли. Это может быть какой-то плавающий стоп (Trailing Stop), который мы можем подтягивать за ценой при благоприятном движении цены. Если недобор прибыли является систематическим, значит, торговая система может быть существенно улучшена. MFE расскажет нам об этом.

Для удобства визуального анализа лучше всего использовать графическое представление распределения значений MAE и MFE. Если мы нанесем каждую сделку на график, то мы увидим, каким образом был достигнут результат. Например, если мы опять посмотрим «Отчеты» участника RobinHood, у которого не было ни одной убыточной сделки, то увидим, что каждая из них имела просадку (MAE) от -$120 до -$2500.

 

 


Рис.11. Распределение сделок на плоскости MAE x Returns

Кроме того, мы можем провести прямую линию, которая аппроксимирует распределение Returns x MAE по методу наименьших квадратов. На рисунке она показана синим цветом и имеет отрицательный наклон (значения прямой уменьшаются при движении слева направо). Параметр Correlation(Profits, MAE)=-0,59 позволяет оценить, насколько близко к прямой линии распределены точки на графике, а отрицательное значение показывает отрицательный наклон аппроксимирующей линии.

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

Аналогично можно построить график распределения Returns и MFE, а также найти коэффиценты корреляции Correlation(Profits,MFE)=0.77 и Correlation(MFE, MAE)=-0.59. Значение коэффициента Correlation(Profits, MFE) является положительным и стремится к единице (0.77). Это говорит нам о том, что данная стратегия старается не допускать больших пересиживаний плавающих прибылей, скорее всего, прибыли не дают подрасти и сделки закрываются по фиксированному уровню Take Profit. Как видите, распределения MAE и MFE дают нам визуальную оценку, а значения коэффициентов корреляции Correlation(Profits, MFE) и Correlation(Profits, MAE) могут дать информацию о характере торговли даже без графиков.

Значения Correlation(MFE, MAE), Correlation(NormalizedProfits, MAE) и Correlation(NormalizedProfits, MFE) в «Отчетах» участников Чемпионата даны в качестве дополнительной информации.

Нормализация результатов сделок

Обычно при разработке торговых систем используют фиксированные размеры позиций. Так легче проводить оптимизацию параметров системы с целью нахождения наиболеее оптимальных по некоторым критериям параметров. Но после того как параметры были найдены, неизбежно встает вопрос о том, какую систему управления размерами позиций применить (Money Management, MM). Размер открываемых позиций напрямую связан с размером денежных средств на торговом счете, поэтому неразумно торговать на счете размером $5 000 такими же объемами позиций, как на счете с $50 000. Кроме того, система ММ может открывать не прямо пропорциальные позиции, то есть позиция на депозите $50 000 не обязательно должна быть в 10 раз больше позиции, открываемой на депозите $5 000.

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

NP=TradeProfit/TradeLots*MinimumLotsгде:
TradeProfit — прибыль со сделки в денежном выражении;
TradeLots — размер позиции (лоты);
MinimumLots — минимально допустимый размер позиции.

Нормализация будет заключаться в том, что результат каждой сделки (прибыль или убыток) мы будем делить на объем позиции и затем еще умножать на минимально допустимый размер для открытия торговой позиции. Например, ордер #4399142 BUY 2.3 lots USDJPY закрыт с прибылью $4 056. 20 + $118.51 (swaps) = $4 174.71. Пример взят со счетаGODZILLA (Nikolay Kositsin). Разделим результат на 2.3 и умножим на 0.1 (минимально допустимый размер позиции), получим прибыль $4 056.20/2.3 * 0.1 = $176.36 и swaps = $5.15. Такие результаты имел бы ордер, открытый объемом 0.1 лот. Проделаем такую операцию с результатами всех сделок и получим нормализованные результаты (Normalized Profits, NP).

Первое, что приходит в голову, — найти значения Correlation(NormalizedProfits, MAE) и Correlation(NormalizedProfits, MFE), и сравнить их с первоначальными Correlation(Profits, MAE) и Correlation(Profits, MFE). Если разница между параметрами будет значительна, то, возможно, примененный метод управления капиталом существенно изменил первоначальную систему. Говорят, что применение ММ (Money Management) может «убить» прибыльную систему, но не превратит проигрышную систему в выигрышную. На Чемпионате счет TMRявился редким исключением, когда изменение значения Correlation(NormalizedProfits, MFE) c 0.23 до 0.63 позволило остаться в плюсе.

Как оценить агрессивность стратегии?

Мы можем извлечь еще большую пользу из нормализованных сделок для измерения степени влияния примененного метода управления капиталом. Очевидно, что если размеры открываемых позиций увеличить в 10 раз, то и конечный результат будет отличаться от первоначального в 10 раз. А если увеличивать размеры сделок не в заданное число раз, а в зависимости от текущей ситуации? Результаты, полученные управляющими фондами, принято сравнивать с неким эталоном, обычно — с каким-либо фондовым индексом.Коэффициент Beta показывает, во сколько раз сильнее изменяется торговый счет по сравнению с индексом. Если в качестве индекса мы возьмем нормализованные сделки, то сможем узнать, во сколько раз волатильнее стали результаты сделок по сравнению с первоначальной системой со сделками в 0.1 лот.

Итак, сначала мы вычислим ковариацию cov(Profits, NormalizedProfits). Затем — дисперсию нормализованных сделок, обозначив последовательность нормализованных сделок как NP. Для этого мы найдем математическое ожидание нормализованных сделок, которое обозначим как M(NP). M(NP) показывает результат средней сделки для нормализованных сделок. Затем найдем сумму квадратов отклонений нормализованных сделок от M(NP), то есть просуммируем величины (NP-M(NP))^2. Полученную сумму разделим на количество сделок и обозначим как D(NP). Это и есть дисперсия нормализованных сделок. Разделим ковариацию между измеряемой системой Profits и эталонным индексом NormalizedProfits cov(Profits, NormalizedProfits) на дисперсию индекса D(NP) и получим значение параметра, которое позволит нам оценить, во сколько раз сильнее колеблется торговый капитал от результатов оригинальных сделок (сделок на Чемпионате) по сравнению с нормализованными сделками. В «Отчетах» Чемпионата этот параметр назван Money Compounding и в какой-то степени является показателем агрессивности торговли.

MoneyCompounding=cov(Profits, NP)/D(NP)= M((Profits-M(Profits))*(NP-M(NP)))/M((NP-M(NP))^2)где:
Profits — результаты сделок;
NP — нормализованные результаты сделок.
M(NP) — среднее от нормализованных сделок.

Теперь мы можем взглянуть на таблицу участников Чемпионата Automated Trading Championship 2006 немного другими глазами.

# Логин LR Standard error, $ LR Correlation Sharpe GHPR Z-score (%) Money Compounding Прибыль, $
1 Rich 6 582.66 0.81 0.41 2.55 -3.85(99.74) 17.27 25 175.60
2 ldamiani 5 796.32 0.64 0.21 2.89 -2.47 (98.65) 28.79 15 628.40
3 GODZILLA 2 275.99 0.9 0.19 1.97 0.7(51.61) 16.54 11 378.70
4 valvk 3 938.29 0.89 0.22 1.68 0.26(20.51) 40.17 9 819.40
5 Hendrick 3 687.37 0.79 0.24 1.96 0.97(66.8) 49.02 9 732.30
6 bvpbvp 9 208.08 0.58 0.43 12.77 1.2(76.99) 50.00 8 236.00
7 Flame 2 532.58 0.75 0.36 3.87 -2.07(96.06) 6.75 7 676.20
8 Berserk 1 943.72 0.68 0.20 1.59 0.69(50.98) 17.49 7 383.70
9 vgc 905.10 0.95 0.29 1.63 0.58(43.13) 8.06 6 801.30
10 RobinHood 109.11 1.00 3.07 1.74 N/A (N/A) 41.87 5 643.10
11 alexgomel 763.76 0.95 0.43 2.63 1.52(87.15) 10.00 5 557.50
12 LorDen 1229.40 0.8 0.33 3.06 1.34(81.98) 49.65 5 247.90
13 systrad5 6 239.33 0.66 0.27 2.47 -0.9(63.19) 42.25 5 141.10
14 emil 2 667.76 0.77 0.21 1.93 -1.97(95.12) 12.75 4 658.20
15 payday 1686.10 0.75 0.16 0.88 0.46(35.45) 10.00 4 588.90

 

Стандартная ошибка отклонения от линейной регрессии баланса LR Standard error у Победителей Чемпионата была не самая маленькая. В то же время графики баланса у большинства прибыльных экспертов были достаточно гладкими, так как значения LR Correlation не так далеки от 1.0. Показатель Шарпа в основном был в диапазоне от 0.20 до 0.40. Единственный эксперт с экстремальным значением Sharpe Ratio=3.07, как оказалось при ближайшем рассмотрении, имеет не самые лучшие показатели MAE и MFE.

Среднее геометрическое сделки в основном располагается в диапазоне от полутора до трех процентов. При этом победители имеют не самые большие значения GHPR, но и не самые малые. Эстремальное значение GHPR=12.77% опять говорит нам об аномалии в торговле, и мы видим, что этот счет испытывал самые большие колебания с LR Standard error=$9 208.08.

Z-score не дает нам каких-либо обобщений о первых 15 участниках Чемпионата, но большие значения |Z|>2.0 могут привлечь наше внимание к истории торговли, чтобы разобраться в природе зависимости между сделками на счете. Так, мы уже знаем, что Z=-3.85 для счета Rich’а на самом деле достигнут за счет одновременного открытия трех позиций, а как дело обстоит на счете ldamiani?

Колонка Money Compounding также имеет широкий диапазон значений от 8 до 50. Причем, значение 50 является максимальным для чемпионата, так как размер максимально допустимой сделки составлял 5.0 лота, что в 50 раз больше размера 0.1 минимального лота. Но, как ни странно, этот параметра не самый большой у победителей, первые три места имеют значения 17.27, 28.79 и 16.54. Неужели победители не в полной мере использовали максимальный разрешенный размер торговых сделок? Но нет же, использовали. Вероятно, дело в том, что примененные методы управления размером позиций не так сильно увеличили риски на торговом счете при общем увеличении размеров контрактов. То есть мы наглядно увидели, насколько система управления капиталом важна для торговой системы.

На 15-м месте находится счет payday. Советник, торговавший на нем, из-за небольшой ошибки в коде не мог открывать сделки с объемом более 1.0 лота. А если бы этой ошибки не было и размеры позиций были бы увеличены в 5 раз до 5.0 лота, увеличилась бы в той же пропорции и прибыль с $4 588.90 до $22 944.50? Занял бы он второе место на Чемпионате или пережил бы непоправимый DrawDown из-за возросших рисков? А может, первое место занял бы alexgomel? Его советник также торговал только 1.0 лотом. Или победа могла бы достаться vgc, эксперт которого чаще всего открывал сделки с объемом менее 1.0 лота. Все трое имеют хорошие показатели плавности хода графика баланса. Как видите, интрига Чемпионата не исчезла даже с его окончанием!

Заключение: Не выплеснуть ребенка вместе с водой

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

Можно сказать, что любой положительный результат (прибыль, полученную на достаточной последовательности сделок) мы можем подвергнуть дополнительному «допросу с пристрастием», дабы выявить негативные моменты в процессе торговли. То есть все эти критерии не столько могут охарактеризовать эффективность данной торговой стратегии, сколько, скорее, сообщат нам о слабых местах в торговле, на которые мы должны обращать внимание, не удовлеторяясь абсолютным конечным результатом — чистой прибылью, полученной на торговом счете.

Да, идеальной торговой системы не добиться, и в каждой торговой системе можно найти не только положительные стороны, но и жирные минусы. Критерии оценки нужны не для того, чтобы безапелляционно забраковать некий торговый подход, а для того чтобы знать, в каком направлении двигаться при разработке торговых систем и экспертов. В этом отношении статистика, накопленная на Чемпионате Automated Trading Championship 2006, является большим подспорьем для каждого трейдера.

 

Прикрепленные файлы:
 NormalDistribution.mq4 (3.3 Kb)
Источник: mql4.com

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты