Время, необходимое для достижения определенной цели, и проблема дробного f
Допустим, мы знаем среднее арифметическое HPR и среднее геометрическое HPR для данной системы. Мы можем определить стандартное отклонение HPR из формулы для расчета оценочного среднего геометрического:
где AHPR = среднее арифметическое HPR;
SD = стандартное отклонение значений HPR.
Поэтому мы можем рассчитать стандартное отклонение SD следующим образом:
Возвращаясь к нашей игре с броском монеты 2:1, где математическое ожидание 0,50 долларов и оптимальное f- ставка в 1 доллар на каждые 4 доллара на счете, мы получим среднее геометрическое 1,06066. Для определения среднего арифметического HPR можно использовать уравнение (2.05):
где AHPR = среднее арифметическое HPR;
МО = арифметическое математическое ожидание в единицах;
f$= наибольший проигрыш/-f
f = оптимальное f (от 0 до 1).
Таким образом, среднее арифметическое HPR равно:
AHPR =1+(0,5/(-1/-0,25)) =1+(0,5/4) =1+0,125 =1,125
Теперь, так как у нас есть AHPR и EGM, мы можем использовать уравнение (2.04) для определения оценочного стандартного отклонения HPR:
=1,125 ^2- 1,06066 ^62
= 1,265625-1,124999636 =0,140625364
Таким образом, SD ^ 2, то есть дисперсия HPR, равна 0,140625364. Извлекая квадратный корень из этой суммы, мы получаем стандартное отклонение HPR =0,140625364 ^(1/2) =0,3750004853. Следует отметить, что это оценочное стандартное отклонение, так как при его расчете используется оценочное среднее геометрическое. Это не совсем точный расчет, но вполне приемлемый для наших целей. Предположим, мы хотим преобразовать значения для стандартного отклонения (или дисперсии), арифметического и среднего геометрического HPR, чтобы отражать торговлю не оптимальным f, а некоторой его частью. Эти преобразования даны далее:
(2.07) FSD = SD * FRAC
(2.08) FGHPR= (FAHPR ^ 2 - FSD ^ 2) А^(1/2),
где FRAC = используемая дробная часть оптимального f;
АН PR= среднее арифметическое HPR при оптимальном f;
SD = стандартное отклонение HPR при оптимальном f;
FAHPR== среднее арифметическое HPR при дробном f;
FSD = стандартное отклонение HPR при дробном f;
FGHPR = среднее геометрическое HPR при дробном f.
Например, мы хотим посмотреть, какие значения приняли бы FAHPR, FGHPR и FSD в игре с броском монеты 2:1 при половине оптимального f (FRAC = 0,5). Мы знаем, что AHPR= 1,125 и SD = 0,3750004853. Таким образом:
=(1,125- 1)*0,5+ 1 =0,125* 0,5 + 1 = 0,0625 + 1 = 1,0625
(2.07) FSD = SD * FRAC
=0,3750004853*0,5 = 0,1875002427
= (1,0625 ^ 2 - 0,1875002427 ^2) ^ (1/2) = (1,12890625 - 0,03515634101) ^ (1/2) =1,093749909 ^ (1/2) = 1,04582499
Для оптимального f= 0,25 (1 ставка на каждые 4 доллара на счете) мы получаем значения 1,125, 1,06066 и 0,3750004853 для среднего арифметического, среднего геометрического и стандартного отклонения HPR соответственно. При дробном (0,5) f =0,125 (1 ставка на каждые 8 долларов на счете) мы получаем значения 1,0625, 1,04582499 и 0,1875002427 для среднего арифметического, среднего геометрического и стандартного отклонения HPR соответственно. Посмотрим, что происходит, когда мы используем стратегию дробного f. Мы уже знаем, что при дробном f заработаем меньше, чем при оптимальном f. Более того, мы определили, что проигрыши и дисперсии прибылей будут меньше при дробном f. Что произойдет со временем, необходимым для достижения определенной цели?
Мы можем определить только ожидаемое количество сделок, необходимое для достижения определенной цели. Это не то же самое, что ожидаемое время, требуемое для достижения определенной цели, но, так как наши измерения производятся в сделках, мы будем считать время и количество сделок синонимами.
(2.09) N = 1п(Цель) / 1n(Среднее геометрическое),
где N = ожидаемое количество сделок для достижения цели;
Цель = цель в виде множителя первоначального счета, т.е. TWR;
1n() = функция натурального логарифма.
Вернемся к нашему примеру с броском монеты 2:1. При оптимальном f среднее геометрическое равно 1,06066, а при половине f оно составляет 1,04582499. Теперь давайте рассчитаем ожидаемое количество сделок, необходимое для удвоения нашего счета (Цель = 2). При полном f:
N=ln(2)/ln( 1,06066) =0,6931471/0,05889134 =11,76993
Таким образом, в игре с броском монеты 2:1 при полном f следует ожидать 11,76993 сделок для удвоения нашего счета. При половине f получаем:
N=ln(2)/ln( 1,04582499) =0,6931471/0,04480602 = 15,46996
Таким образом, при половине f мы ожидаем, что потребуется 15,46996 сделок для удвоения счета. Другими словами, чтобы достичь цели при торговле на уровне f/ /2, от нас понадобится на 31,44% сделок больше. Ну что же, это звучит не так уж плохо. Проявляя терпение для достижения поставленной цели, мы потратим времени на 31,44% больше, но сократим худший проигрыш и дисперсию наполовину. Согласитесь, половина — это довольно много. Чем меньшую часть оптимального f вы будете использовать, тем более гладкую кривую счета получите, и тем меньшее время вы будете в проигрыше. Теперь посмотрим на эту ситуацию с другой стороны. Допустим, вы открываете два счета: один для торговли с полным f и один для торговли с половиной f. После 12 игр ваш счет с полным f увеличится в 2,02728259 в 12 раза. После 12 сделок (с половиной f) он вырастет в 1,712017427 (1,04582499 ^ 12) раза. С половиной f первоначальный счет увеличится в 2,048067384 (1,04582499 ^ 16) раза при 16 сделках. Поэтому, торгуя на одну треть дольше, вы достигнете той же цели, что и при полном оптимальном f, но при активности, меньшей наполовину. Однако к 16 сделке счет с полным f будет в 2,565777865 (1,06066 ^ 16) раза больше вашего первоначального счета. Полное f продолжает увеличивать счет. К 100 сделке ваш счет с половиной f увеличится в 88,28796546 раз, но полное f увеличит его в 361,093016 раз!
Единственный минус торговли с дробным f— это большее время, необходимое для достижения определенной цели. Все дело во времени. Мы можем вложить деньги в казначейские обязательства и достичь-таки заданной цели через определенное время с минимальными промежуточными падениями баланса и дисперсией! Время — это суть проблемы.
Сравнение торговых систем
Мы увидели, что две торговые системы можно сравнивать на основе их средних геометрических при соответствующих оптимальных f. Далее, мы можем сравнивать системы, основываясь на том, насколько высокими являются их оптимальные f, поскольку более высокие оптимальные f соответствуют более рискованным системам. Это связано с тем, что исторический проигрыш может понизить счет, по крайней мере, на процент f. Поэтому существуют две основные величины для сравнения систем: среднее геометрическое при оптимальном f, где более высокое среднее геометрическое предпочтительнее, и само оптимальное f, где более низкое оптимальное f лучше. Таким образом, вместо одной величины для измерения эффективности системы мы получаем две; эффективность должна измеряться в двухмерном пространстве, где одна ось является средним геометрическим, а другая — значением f. Чем выше среднее геометрическое при оптимальном f, тем лучше система. Также чем ниже оптимальное f, тем лучше система.
Среднее геометрическое ничего не скажет нам о проигрыше. Высокое среднее геометрическое не означает, что проигрыш системы большой (или, наоборот, незначительный). Среднее геометрическое имеет отношение только к прибыли. Оптимальное f является мерой минимального ожидаемого исторического проигрыша как процентное понижение баланса. Более высокое оптимальное f не говорит о более высоком (или низком) доходе. Мы можем также использовать эти положения для сравнения определенной системы при дробном значении f с другой системой при полном значении оптимального f. При рассмотрении систем вам следует учитывать, насколько высоки средние геометрические и каковы оптимальные f. Например, у нас есть система А, которая имеет среднее геометрическое 1,05 и оптимальное f= 0,8. Также у нас есть система В, которая имеет среднее геометрическое 1,025 и оптимальное f=0,4. Система А при половине уровня f будет иметь то же минимальное историческое падение баланса худшего случая (проигрыш) в 40%, как и система В при полном f, но среднее геометрическое системы А при половине f вce равно будет выше, чем среднее геометрическое системы В при полном значении f. Поэтому система А лучше системы В. «Минутку, — можете возразить вы, — разве не является самым важным то обстоятельство, что среднее геометрическое больше 1, и системе необходимо быть только минимально прибыльной, чтобы (посредством грамотного управления деньгами) заработать желаемую сумму!» Так оно и есть. Скорость, с которой вы зарабатываете деньги, является функцией среднего геометрического на уровне используемого f. Ожидаемая дисперсия зависит от того, насколько большое f вы используете. Вы, безусловно, должны иметь систему с оптимальным f и со средним геометрическим, большим 1 (то есть с положительным математическим ожиданием). С такой системой вы можете заработать практически любую сумму через соответствующее количество сделок. Скорость роста (количество сделок, необходимое для достижения определенной цели) зависит от среднего геометрического при используемом значении f. Дисперсия на пути к этой цели также является функцией используемого значения f. Хотя важность среднего геометрического и применяемого f вторична по сравнению с тем фактом, что вы должны иметь положительное математическое ожидание, эти величины действительно полезны при сравнении двух систем или методов, которые имеют положительное математическое ожидание и равную уверенность в их работе в будущем.
Слишком большая чувствительность к величине наибольшего проигрыша
Недостаток подхода, основанного на оптимальном f, заключается в том, что f слишком зависит от величины наибольшего проигрыша, что является серьезной проблемой для многих трейдеров, и они доказывают, что количество контрактов, которые вы открываете сегодня, не должно быть функцией одной неудачной сделки в прошлом.
Для устранения этой сверхчувствительности к наибольшему проигрышу были разработаны разнообразные алгоритмы. Многие из этих алгоритмов заключаются в изменении наибольшего проигрыша в большую или меньшую сторону, чтобы сделать наибольший проигрыш функцией текущей волатильности рынка. Эта связь, как утверждают некоторые, квадратичная, то есть абсолютное значение наибольшего проигрыша, по всей видимости, увеличивается с большей скоростью, чем волатильность. Волатильность чаще всего определяется как средний дневной диапазон цен за последние несколько недель или как среднее абсолютное дневное изменение за последние несколько недель. Однако об этой зависимости нельзя говорить с полной уверенностью. То, что волатильность сегодня составляет X, не означает, что наш наибольший проигрыш будет Х ^ Y. Можно говорить лишь о том, что он обычно где-то около Х ^ Y. Если бы мы могли заранее определить сегодняшний наибольший проигрыш, то, безусловно, могли бы лучше использовать методы управления деньгами[5]. Это тот самый случай, когда мы должны рассмотреть сценарий худшего случая и отталкиваться от него. Проблема состоит в том, что мы не знаем точно, каким будет сегодня наибольший проигрыш. Алгоритмы, которые могут спрогнозировать это, не очень эффективны, так как они часто дают ошибочные результаты.
Предположим, в течение торгового дня произошло событие, вызвавшее на рынке шок, и до этого шока волатильность была достаточно низкой. Затем рынок находился не на вашей стороне несколько следующих дней. Или, допустим, на следующий день рынок открылся с огромным разрывом не в вашу пользу. Эти события так же стары, как сама торговля товарами и акциями. Они могут произойти и происходят, и о них не всегда предупреждает заранее повышающаяся волатильность. Таким образом, лучше не «сокращать» ваш наибольший исторический проигрыш для отражения текущего рынка с низкой волатильностью. Более того, есть реальная возможность испытать в будущем проигрыш больший, чем наибольший исторический проигрыш. Наибольший проигрыш, который вы получили в прошлом, может оказаться наибольшим проигрышем, который вы испытаете сегодня, и не зависеть от текущей волатильности[6]. Проблема состоит в том, что с эмпирической точки зрения f, оптимальное в прошлом, является функцией наибольшего проигрыша в прошлом. С этим ничего не поделаешь. Однако мы увидим, когда перейдем к параметрическим методам, что можно предусмотреть больший проигрыш в будущем. При этом мы будем готовы к появлению почти неизбежного большого проигрыша. Вместо подгонки наибольшего проигрыша к текущей ситуации на рынке, чтобы эмпирическое оптимальное f отражало нынешнюю ситуацию, лучше изучить параметрические методы. Следующий метод является возможным решением данной проблемы и может применяться вне зависимости от того, рассчитываем мы оптимальное f эмпирически или параметрически.
Приведение оптимального f к текущим ценам
Оптимальное f даст наибольший геометрический рост при большом количестве сделок. Это математический факт. Рассмотрим гипотетический поток сделок:
Из этого потока сделок мы найдем, что оптимальное f= 0,17 (ставка 1 единицы на каждые 29,41 доллара на балансе). Такой подход при данном потоке даст нам наибольший рост счета.
Представьте себе, что этот поток выражает прибыли и убытки при торговле одной акцией. Оптимально следует покупать одну акцию на каждые 29,41 доллара на балансе счета, несмотря на текущую цену акции. Предположим, что текущая цена акции равна 100 долларам. Более того, допустим, что при первых двух сделках акция стоила 20 долларов, а при двух последних сделках — 50 долларов.
Для наших первых двух сделок, которые произошли при цене акции в 20 долларов, выигрыш в 2 доллара соответствует выигрышу в 10%, а проигрыш 3 долларов соответствует проигрышу в 15%. Для двух последних сделок при цене акции 50 долларов выигрыш 10 долларов соответствует выигрышу в 20%, а проигрыш в 5 долларов соответствует проигрышу в 10%.
Формулы преобразования необработанных торговых P&L в процент выигрыша и проигрыша для длинных и коротких позиций следующие:
(2. 10а) P&L% = Цена выхода / Цена входа — 1 (для длинных)
(2.106) , P&L% = Цена входа / Цена выхода - 1 (для коротких),
или мы можем использовать следующую формулу для преобразования как длинных, так и коротких:
(2.10в) P&L% = P&L в пунктах / Цена входа
Таким образом, для наших 4 гипотетических сделок мы получим следующий поток процентных выигрышей и проигрышей (с точки зрения длинных позиций):
Мы назовем этот новый поток преобразованных P&L приведенными данными, так как при торговле они приводятся к цене базового инструмента.
Чтобы учесть комиссионные и проскальзывание, вы должны уменьшить цену выхода в уравнении (2.10а) на сумму комиссионных и проскальзывания. Таким же образом вам следует увеличить цену выхода в (2.106). Если вы используете (2.10в), то должны вычесть сумму комиссионных и проскальзывания (в пунктах) из числителя (P&L в пунктах). Затем мы определим оптимальное f по этим процентным выигрышам и проигрышам. Оптимальное f будет равно 0,09. Преобразуем это оптимальное f= 0,09 в денежный эквивалент, основываясь на текущей цене акции, с помощью формулы:
(2.11) f$ = Наибольший процентный проигрыш * Текущая цена * ($ за пункт/ -f)
Таким образом, так как наш наибольший процентный проигрыш был -0,15, текущая цена равна 100 долларам за акцию, а количество долларов на пункт равно 1 (так как мы имеем дело с покупкой только 1 акции), можно определить f$ следующим образом:
f$ =-0,15*100*1/-0,09 =-15/-0,09 = 166,67
Следует покупать 1 акцию на каждые 166,67 долларов баланса счета. Если бы мы выбрали 100 акций в качестве единицы, единственной переменной, затронутой этим изменением, было бы количество долларов за полный пункт, которое стало бы равно 100. В результате, f$ было бы 16 666,67 доллара баланса на каждые 100 акций.
Теперь допустим, что цена акции упала до 3 долларов. Наше уравнение для f$ будет таким же, но текущая станет равна 3. Таким образом, сумма для финансирования 1 акции изменится:
f$=-0,15*3* 1/-0,09 = -0,45 / -0,09=5
Теперь следует покупать 1 акцию на каждые 5 долларов баланса счета.
Отметьте, что оптимальное f не изменяется с текущей ценой акции. Оно остается на уровне 0,09. Однако f$ меняется постоянно, так как меняется цена акции. Это не означает, что вы должны обязательно изменить позицию, которую уже открыли в этот день, но если бы вы так поступили, то это пошло бы на пользу торговле. Например, если вы открываете длинную позицию по какой-либо акции и ее цена падает, количество денег, которое вам следует разместить под 1 единицу (100 акций в этом случае), также уменьшится (если оптимальное f получено из приведенньк данных). Если ваше оптимальное f получено из необработанных данных, то количество денег, необходимое для 1 единицы, не уменьшится. В обоих случаях ваш дневной баланс понижается. Использование приведенного оптимального f делает более вероятным, что ежедневное изменение размера позиции пойдет вам на пользу Использование приведенных данных для оптимального f неизбежно влечет за собой изменение побочных продуктов[7]. Мы знаем, что и оптимальное f, и среднее геометрическое (и отсюда TWR) изменятся. Средняя арифметическая сделка также изменится, потому что все сделки в прошлом должны быть пересчитаны, как если бы они происходили при текущей цене. Таким образом, в нашем предполагаемом потоке результатов по 1 акции (+2,-3,+10и-5) мы получим среднюю сделку, равную 1 доллару. Когда мы используем процентные выигрыши и проигрыши (+0,1; -0,15; +0,2 и -0,1), то получаем среднюю сделку (в процентах) +0,5. При цене 100 долларов за акцию мы получим среднюю сделку 100 * 0,05, или 5 долларов за сделку. При цене 3 доллара за акцию средняя сделка становится равной 0,15 доллара (3 * 0,05).
Средняя геометрическая сделка также изменится. Вспомните уравнение (1.14) для средней геометрической сделки:
(1.14) GAT = G * (Наибольший проигрыш /-f),
где G = (среднее геометрическое) -1;
f=оптимальная фиксированная доля. (Разумеется, наш наибольший проигрыш всегда является отрицательным числом.)
Это уравнение эквивалентно следующему:
GAT = (среднее геометрическое - 1) * f$
Мы получили новое среднее геометрическое на основе приведенных данных. Переменная f$, которая была постоянной, когда прошлые данные не приводились, теперь изменится, так как она является функцией текущей цены. Таким образом, наша средняя геометрическая сделка меняется, когда меняется цена базового инструмента.