Дмитрий Толстоногов - Основы Money Management

Люди всегда хотели знать секрет выигрыша на бирже. Однако индустрия привлечения новых денег на рынок в виде книг с соответствующими названиями, метастоков и всевозможных finam’ов, эксплуатируя наши общие предрассудки, побуждает нас искать неправильные вещи в неправильных местах. Мы ищем волшебный индикатор или систему торговли, которая позволила бы нам выигрывать в 90 % случаях.

Я нашел такую систему. На многочисленных тестах она почти никогда не давала менее 90 % выигрышей. Результаты одного из тестов в формате Omega Research TradeStation приведены в табл. 1. Рассекреченный код этой системы приведен в приложении 1: можно переписать его в Omega TradeStation или в SuperCharts — и выигрывать, в том смысле, в котором это обычно понимается: иметь прибыль почти в каждой сделке! Главный секрет системы — это генератор псевдослучайных чисел (в TradeStation он слишком «псев-до»-случаен, но это не принципиально). Дальше все, как обычно: если позиция прибыльна, закрываем ее. Если рынок идет против нас — становимся инвесторами. Имея удовольствие наблюдать и общаться с клиентами двух брокерских компаний в течение двух лет, могу утверждать, что подавляющее большинство игроков придерживается именно этой стратегии, за исключением того, что генератор случайных чисел формально заменяется прогнозами аналитиков, сигналами каких-нибудь индикаторов теханализа, мнением соседей по дилинговому залу или просто необъяснимым сиюминутным побуждением.

Проблема в том, что выигрывать на бирже и зарабатывать на ней деньги — далеко не одно и то же. Прибыль, полученная в приведенном примере (табл. 1), — разумеется, результат везения, удачного выпадения серии случайных чисел — в большинстве тестов эта стратегия убыточна. Однако если изменить входные параметры системы на более разумные, например, mmstp взять равным 1, pftlim — 4, а maxhold — 10, то эта система станет прибыльной в большинстве тестов.

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

Незнакомому с трейдингом как бизнесом человеку может показаться противоречащим здравому смыслу факт, что «успешное инвестирование и трейдинг не имеют ничего общего с прогнозированием». Как говорит известный в трейдерских кругах Олег Гущин, есть две новости, плохая и хорошая. Плохая новость: прогнозировать рынок невозможно. Хорошая новость: чтобы зарабатывать на рынке, прогнозировать не нужно. Речь здесь идет о крупных выигрышах в тех случаях, когда мы правы, а не о выигрышах в каждой сделке. При этом число

проигрышей может превышать число выигрышей, то есть вполне допустимо прогнозировать хуже, чем если бы мы делали прогноз, подбрасывая монету! По словам выдающегося трейдера Пола Тюдора Джонса (Paul Tudor Jones): «Я могу быть остановлен четыре или пять раз за трейд, прежде чем он действительно начинает движение». Иными словами,

Пол может выигрывать только в позорных 20-25 % случаев. Тем не менее на его счету пять последовательных лет с трехзначным (в процентах) годовым доходом при очень низких коррекциях капитала. Почти 100 % очень значительных выигрышей Стива Коэна (Steve Cohen) приходится на 5 % сделок, при этом только 55 % сделок являются выигрышными. Несмотря на это, за последние семь лет его средний доход составлял 90 % годовых.

Он имел только три убыточных месяца, причем худший месяц был -2 %.

Широко используемые профессионалами методы следования за трендом, как правило, приносят выигрыш в 30-40 %. Выигрыш или проигрыш в каждой конкретной сделке не имеет значения. Важно лишь то, что количество денег, которое зарабатывается в среднем за одну сделку, положительное. Эта величина называется математическим ожиданием. Математическое ожидание есть сумма произведений вероятностей выигрышей, умноженных на величину выигрышей, минус сумма произведений вероятностей проигрышей, умноженных на величину проигрышей:

Е = ^(Вероятность выигрыша; х выигрыш;) -Lj (Вероятность проигрыша^ х проигрышр

В упрощенном виде математическое ожидание можно оценить как вероятность выигрыша, умноженного на средний выигрыш, минус вероятность проигрыша, умноженного на средний проигрыш. В терминах статистического отчета Omega Recearch TradeStation это:

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

Рассмотрим ставку на выпадение цвета в рулетке. Имеется 18 красных секторов, 18 черных и «зеро». Математическое ожидание выигрыша единичной ставки на цвет составляет 18/37- (18 +1)/37 = -1/37. В среднем казино выигрывает за одну игру у одного игрока эту величину, умноженную на размер ставки. Несмотря на отдельные крупные выигрыши клиентов, в целом

Е = Percent profitable х Average winning trade - (1 - Percent profitable) х Average losing trade.

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

В одной из дискуссий на форуме аналитиков РТС один сторонник теории Эллиотта заявил: «Рынок — это не казино, мы не делаем ставок». В отличие от «эллиотчиков», у которых жизнь течет по известному заранее расписанию, мы делаем ставки на рынке. Поскольку исход сделки неизвестен, каждая

Система, дающая более 90 % выигрышей

Random System №1.

Copyright (c) 2001 DT

Значения параметров по умолчанию: mmstp = 1, pflim = 4, maxhold = 10

Inputs: Bias(.025), {Random entry parameter}

mmstp(100), {Stop-loss parameter}

pflim(.1), {Profit target limit}

maxhold(50); {maximum holding period};

Var: Trigger(0), Signal(0), ATR(0), num(1); trigger = random(1); if trigger < bias then signal = -1; if trigger > 1 - bias then signal = 1;

ATR = XAverage(TrueRange,50);

{ Random Entry}

If signal = 1 then Buy("Random_Mkt.LE") num contracts next bar at open;

If signal = -1 then Sell("Random_Mkt.SE") num contracts next bar at open;

{ Standartized Exits}

if marketposition > 0 then begin

ExitLong ("MM.LX") Next Bar at EntryPrice - mmstp*ATR stop;

ExitLong ("Pt.LX") Next Bar at EntryPrice + pflim*ATR limit; if barssinceentry >= maxhold then ExitLong ("Hold.LX") at close; end;

if marketposition < 0 then begin

ExitShort ("MM.SX") Next Bar at EntryPrice + mmstp*ATR stop;

ExitShort ("Pt.SX") Next Bar at EntryPrice - pflim*ATR limit; if barssinceentry >= maxhold then ExitShort ("Hold.SX") at close; end;

Простейшая система № 2

The Simplest System №2.

Copyright (c) 2001 DT

Input: Price((H+L)*.5), PtUp(4.), PtDn(4.);

Vars: TrendLine(C), LL(99999), HH(0), num(1);

if MarketPosition <= 0 then begin

if Price < LL then LL = Price;

if Price cross above LL + PtUp*.001 then begin

buy(«Simpl.LE») num contracts next bar at market

HH = Price;

end;

end;

if MarketPosition >= 0 then begin

if Price > HH then HH = Price;

if Price cross below HH — PtDn*.001 then begin

Sell(«Simpl.SE») num contracts next bar at market

LL = Price;

end;

end;

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

Приложение 1

Приложение 2

Справедливости ради надо отметить, что известны случаи «преимущества игрока» в казино: математик Эдвард Торп (Edward Thorp) разработал стратегии с положительным ожиданием в BlackJack («двадцать одно»), которые успешно применял в казино Лас-Вегаса. Когда его перестали пускать на порог казино, он опубликовал свои методы1, после чего в правила BlackJack были введены изменения, лишающие эти стратегии «преимущества игрока». Тогда, в конце 60-х годов, Торп заинтересовался рынком акций и начал управлять частным инвестиционным партнерством: «Значительным конкурентом в то время являлся будущий нобелевский лауреат Гарри Марковиц (Harry Markowitz). После 20 месяцев наш результат показал выигрыш + 39,9 % против +4,2 % индекса Доу-Джонса. Марковиц через пару лет «опустился в минус», а мы удовлетворены нашими сохраняющимися результатами... примерно 20 % ежегодно со стандартным отклонением примерно 6 % и нулевой корреляцией с рынком»2.

Рынок дает возможность играть в игры с положительным математическим ожиданием. Это необходимое условие успешной игры на бирже. Причем, как утверждает Ральф Винс, «не имеет значения, насколько положительное или насколько отрицательное ожидание; важно только то, положительное оно или отрицательное»3. Утверждение спорное, с нашей точки зрения: большее положительное ожидание лучше меньшего.

Помимо математического ожидания, у большинства возникают проблемы с пониманием риска. Например, бывший директор одной региональной инвестиционно-финансовой компании с активами, летом 1997 года превышавшими $1 млн, историк по образованию, был убежден, что «риска не существует, потому что его нельзя измерить», а также в том, что «нельзя продавать акции с убытком». Что тогда говорить о непрофессионалах! Риск существует, и его можно определить и измерить множеством способов. Экономисты считают, что риск — это волатильность, измеряемая как стандартное отклонение изменений торгуемого актива4. Это определение уместно только для стратегий типа «купил — держи». Более адекватно для спекулянта определение риска как стандартного отклонения изменений капитала5. Не вдаваясь в подробности, отметим, что риск, согласно данным определени-

' Edward Thorp. Beat the Dealer. Random House, 1962.

2 Edward Thorp. The Kelly Criterion in Blackjack, Sports Betting, and the Stock Market/The 10th International Conference on Gambling and Risk Taking. 1997.

3 Ральф Винс. Математика управления капиталом. Изд-во Альпина, М., 2000.

4 Шарп У. Инвестиции, ИнФрА-М, 1998.

5 Perry Kaufman. Smarter Trading. McGrow-Hill, 1995.



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

Перед открытием позиции необходимо определить точку, в которой мы закроем позицию с убытком, с целью защиты капитала, так называемый стоп-лосс1, либо откроем противоположную позицию, убедившись в своей неправоте относительно направления рынка (stop-and-reverse). Разность между точкой входа в позицию и точкой выхода по стопу, умноженное на количество лотов, есть начальный риск, или 1 R2, вне зависимости от того, каким методом и в каких единицах мы определяем уровень стопа: в рублях, процентах, единицах волатильности или попугаях. Следует подчеркнуть, что наше определение риска не тождественно определению 1 R. Риск — это сколько мы потеряем в действительности. Риск может значительно превышать 1 R из-за неисполнения стопа по причине отсутствия дисциплины3, гэпов против позиции или большего, чем ожидаемое, проскальзывания. Доход мы тоже можем определять в единицах риска на акцию или кратных R. В терминах кратных R основной принцип спекуляций будет гласить: сохранять убытки на уровне 1 R, насколько это возможно, и позволять прибыли достигать больших кратных R. Математическое ожидание в кратных R будет означать, сколько мы выиграем или проиграем в среднем за одну сделку на единицу риска. Для того чтобы вычислить математическое ожидание в кратных R, мы должны записать результаты наших сделок в таблицу со следующими столбцами:

Число лотов Прибыль или убыток Начальный риск Кратное R

Приложение 3

Вывод данных в файл для вычисления математического ожидания. Expectancy Output Copyright (c) 2001 DT

Var: RMult(1),R1(1), Trades(0);

Trades = TotalTrades;

R1 = PctUp*.001 *BigPointValue;

RMult = PositionProfit(1)/R1;

If barnumber = 1 then

print(file("D:\TS_Export\M-trading.csv"),"Qty",",","Profit",",","Initial Risk",",","R multiple");

If Trades <> Trades[1] then

print(file("D:\TS_Export\M-trading.csv"),Num:10:0,",",PositionProfit(1):10:4,",",R1:10:4,",",RMult:

0:4);

Код системы приведен в приложении 2.

В приложении 3 представлен код, который необходимо добавить к коду, приведенному в приложении 2, для того, чтобы выводить необходимые данные в указанный файл D:\TS_Export\M-trading.csv (разумеется, вам необходимо указать свой файл). Полученный таким образом файл можно исследовать средствами Excel (Excel О Сервис О Анализ данных). Гистограмма кратных R (см. рисунок) наглядно отражает философию следования за тенденцией. Легко видеть, что большинство сделок имеет убыток от одного до двух R (медиана-1,35, число прибыльных сделок 37 %), имеются две сделки с убытками, превышающими 10 R, и пятнадцать сделок, прибыль в которых превышает 10 R. Гистограмма искривлена вправо (ассиметричность 3,46). При этом прибыль от одной сделки составляет 53,15 R! Математическое ожидание в этом примере составляет 0,24 R, то есть на каждый рубль риска мы в среднем ожидаем получить 1,24 рубля.

Итак, мы имеем выигрышную стратегию — чего же более? Осталось открыть счет у брокера и торговать на все деньги с максимальным плечом.

Здесь начинается самое важное — собственно money management. Для прояснения ситуации приведем пару фактов.

Ральф Винс придумал игру, в которой единственным изменяемым параметром был размер ставки. Для игры он на-

Прибыль или убыток должны учитывать комиссию брокеру и проскальзывание. Кратное R вычисляется делением второго столбца на третий. Теперь для вычисления математического ожидания достаточно просуммировать значения четвертого столбца и разделить полученное значение на число сделок. Данный метод подходит и для «интуитивного» трейдинга.

Рассмотрим пример. Будем торговать акциями РАО ЕЭС на ММВБ (с 05.29.1997) по следующим правилам (это самое простое, что мы смогли придумать):

Покупаем один лот, если средняя цена дня ((high + low)/2) вырастет выше своего минимального значения на 4 копейки.

Продаем один лот, если средняя цена дня ((high + low)/2) упадет ниже своего максимального значения на 4 копейки.

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

1 Королюк М. Как правильно поставить стоп-лосс // «Современный трейдинг». — № 2, 2001. С. 22-27.

2 Van K. Tharp. Trade Your Way To Financial Freedom. McGraw-Hill, 1998, с.74.

3 Наш обер-лейтенант Маковец всегда говорил: «Дисциплина, болваны, необходима. Не будь дисциплины, вы бы, как обезьяны, по деревьям лазили». — Ярослав Гашек. Похождения бравого солдата Швейка.

брал сорок кандидатов наук, то есть людей как минимум неглупых. Единственным ограничением было требование, чтобы никто из них не был профессиональным игроком и никто не изучал статистику. Кандидаты наук играли в игру, в которой генерировались 100 случайных сделок, одна сделка за один раз. Все начинали с $1000, и перед совершением каждой сделки нужно было принять единственное решение: какую сумму — от $0 до всего капитала — ставить. 60 % времени они выигрывали сумму, которую ставили, а в 40 % случаев они проигрывали то, что ставили. Эта игра имеет математическое ожидание в 20 центов на каждый доллар риска, то есть в долгосрочной перспективе на каждый рискуе-мый доллар игрок получает 1 доллар и 20 центов сверху. Кандидаты наук совершили по 100 сделок, чего вполне достаточно для реализации математического ожидания. Совершая одни и те же сделки, все закончили игру с различными результатами. Угадайте, сколько из них увеличили начальный капитал? Двое из сорока. 95 % кандидатов наук потеряли деньги в игре с положительным ожида-нием!

Ван Тарп (Van Tharp) привел еще более впечатляющий пример. В азиатском туре Dow Jones Telerate TAG (Technical Analysis Group) он выступал с лекциями в восьми городах перед 50-100 слушателями. Большинство из них были профессиональными трейдерами крупных компаний или банков, торгующие акциями, облигациями или обменными курсами на форексе. Для иллюстрации некоторых тем он предлагал слушателям сыграть в игру, аналогичную игре Винса. Более половины аудитории — профессиональных трейдеров — теряли деньги.

Еще один пример из жизни аналитиков. Трейдер Олег Найденов, который сейчас переехал в Соединенные Штаты, дал поиграть в аналогичную игру своей приятельнице, работающей ведущим аналитиком Charles Schwab. На первом

уровне игры дается распределение кратных R с математическим ожиданием 0,45 и 60 % выигрышей. Чтобы перейти на следующий уровень, необходимо за 100 сделок увеличить капитал на 50 %.

Результат оказался таков: «Она второй день не может перейти на следующий уровень».

Brinson, Singer и Beebower в 1991 г. опубликовали исследование результативности 82 управляющих портфелями активов за 10-летний период, которое показало, что 91,5 % дохода являлось результатом размещения активов. Размещение активов в этом исследовании означает, какая доля капитала была размещена в акциях, облигациях или деньгах. Только 8,5 % результатов объяснялось тем, какие именно акции или облигации покупались и когда это делалось.

Сыграем в ту же игру, что и кандидаты наук у Винса. Если бы не было риска, то есть исход каждой сделки был известен, то имело бы смысл каждый раз ставить весь имеющийся капитал. Тогда каждый кандидат наук получил бы $1000*(1.2Л100) = $82,817,974,522.01. В реальности, если мы в первую сделку ставим $1000, то мы имеем 40 % вероятности потерять все с первой же попытки. Даже если нам повезет и мы будем иметь $2000, ставка всего капитала в следующей сделке столь же безумна, как и в первой.

Допустим, мы ставим каждый раз по $200. В этом случае если пять первых сделок будут проигрышными, то мы снова потеряем весь капитал. Конечно, вероятность такого события невелика — чуть больше процента. Но готовы ли мы к риску 1 % потерять все за первые 5 неудачных сделок? Допустим, мы проиграли в первых двух сделках, что может случиться с вероятностью 16 %. Мы потеряли 40 % капитала, и нам надо увеличить счет на 67 % только для того, чтобы восстановить начальный капитал. Этот эффект называется «асимметричный леве-раж». Из табл. 2 видно, что убытки свыше 50 % требуют огромной, маловероятной прибыли только для восстановления исходного уровня капитала. В итоге, если мы рискуем слишком большой суммой относительно нашего счета и проигрываем, шансы остаться в конечном итоге с прибылью очень малы.

Результат в случае с кандидатами наук объясняется не только слишком большими ставками. Широко распространено заблуждение, называемое «ошибкой игрока»: мы склонны считать, что после серии проигрышей вероятность выигрыша возрастает, и увеличиваем ставки. Однако вероятность выигрыша в данной игре не зависит от предыдущих сделок и по-прежнему остается 60 %.

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

Для анализа результатов игры, а мы получили в результате 1000 серий игр 1000 вариантов доходности, расположим все варианты последовательно от меньшего к большему. Затем разобьем их на 100 равных по количеству вариантов частей — в каждой сотой доле (их называют персентилями) будет, таким образом, по 10 вариантов результатов. В первом персентиле будут собраны 10 худших вариантов, а граница этого пер-сентиля (10-е значение) будет соответствовать тому, что обычно формулируется в виде такой фразы: «В 1 % случаев результаты будут хуже... значения». В статистике такой персентиль принято обозначать как k-1.

«В 50 % случаев результат будет хуже, чем...».

В табл. 3 показаны результаты 1000 вариантов игры при различных значениях ставок, в процентах от капитала.

При ставке 10 % капитала в каждой сделке (строчка выделена в таблице), при начальном капитале $1000, минимальное значение капитала после ста сделок в 1000 играх составило $181. В 1 % всех попыток наш капитал оказался меньше $405 (k-1 доходности). В 50 % попытки дали конечный результат $4501 и меньше (k-50 доходности). В 95 % попыток конечный капитал был меньше, чем $22411 (k-95 доходности), и, соответственно, в 5 % попыток капитал оказался больше, чем $22411.

• это не часть системы, которая говорит, куда инвестировать. Money management — это часть торговой системы, которая говорит «сколько». Сколько единиц инвестиций следует держать в данный момент? Сколько риска следует брать? Иными словами, money management — это управление размером ставки. Наиболее радикальное определение из известных нам дал Райан Джонс (Ryan Jones): money management ограничивается тем, какой суммой с вашего счета стоит рисковать в следующей сделке. Обратите внимание, это определение не относит к money management управление размером уже открытой позиции, в то время как Ван Тарп это допускает. ¦

Рассмотренные примеры показывают важность размера ставки в играх с неопределенным исходом.

Что же такое money management? Запустив поиск в Интернете по этим ключевым словам, мы получили услуги по управлению персональными финансами, советы, как управлять чужими деньгами, как контролировать риск, Turtle Trading и тому подобное. Согласно Ван Тарпу, чем не является money management:

• это не часть системы, которая диктует, сколько вы потеряете в данной сделке;

• это не способ выйти из прибыльной сделки;

• это не диверсификация;

• это не контроль рисков;

• это не избегание риска;

• это не часть системы, которая максимизирует производительность;

Рассмотрим дродауны (drawdowns, DD в табл. 3). Дродаун — это разность между максимальным значением капитала и последующим его минимумом до того, как капитал достигнет нового максимума. При ставке 10 % от капитала в 50 % попыток дродаун был более 48 %, в 1 % попыток — более 78 % и максимальный составил почти 90 % капитала. При ставках выше 30 % от капитала мы практически обречены на разорение. Еще раз подчеркнем, что игра имеет положительное ожидание — при соотношении вероятности проигрышей и выигрышей 40 % к 60 %, величина выигрыша относится к величине проигрыша как 1 к 1.

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



Дмитрий Толстоногов - Основы Money Management (1)

Люди всегда хотят знать секрет, как выигрывать на бирже. Однако индустрия привлечения новых денег на рынок, в виде книг с соответствующими названиями, метастоков и всевозможных Апат'ов, эксплуатируя наши общие предрассудки, побуждает нас искать неправильные вещи в неправильных местах. Мы ищем волшебный индикатор или систему торговли, которая позволила бы нам выигрывать 90% времени.

Я нашел такую систему. На многочисленных тестах она почти никогда не давала менее 90% выигрышей. Результаты одного из тестов в формате Omega Research TradeStation приведены в таб.1.

Рассекреченный код этой системы приведен в приложении 1: можно переписать его в Omega TradeStation или в SuperCharts - и выигрывать, в том смысле, в котором это обычно понимается: иметь прибыль почти в каждой сделке! Главный секрет системы - это генератор псевдослучайных чисел (в TradeStation он слишком "псевдо"-случаен, но это не принципиально). Дальше все, как обычно: если позиция прибыльна, закрываем ее. Если рынок идет против нас - становимся инвесторами. Имея удовольствие наблюдать и общаться с клиентами двух брокерских компаний в течение двух лет, могу утверждать, что подавляющее большинство игроков придерживается именно этой стратегии, за исключением того, что генератор случайных чисел формально заменяется прогнозами аналитиков, сигналами каких-нибудь индикаторов теханализа, мнением соседей по дилинговому залу или просто необъяснимым сиюминутным побуждением.

Random System №1. Copyright (c) 2001 DT

по умолчанию: mmstp = 1, pflim =

4, maxhold

Значения параметров

Inputs: Bias(.025), {Random entry parameter}

mmstp(100), {Stop-loss parameter}

pflim(.1),{Profit target limit} maxhold(50); {maximum holding period};

Var: Trigger(0), Signal(0), ATR(0), num(1);

trigger = random(1);

if trigger < bias then signal = -1;

if trigger > 1 - bias then signal = 1;

ATR = XAverage(TrueRange,50);

{ Random Entry}

If signal = 1 then Buy("Random Mkt.LE") num contracts next bar at open;

If signal = -1 then Sell("Random Mkt.SE") num contracts next bar at open;

{ Standartized Exits}

if marketposition > 0 then begin

ExitLong ("MM.LX") Next Bar at EntryPrice - mmstp*ATR stop; ExitLong ("Pt.LX") Next Bar at EntryPrice + pflim*ATR limit; if barssinceentry >= maxhold then ExitLong ("Hold.LX") at close;

end;

if marketposition < 0 then begin

exitshort ("MM.SX") next bar at entryprice + mmstp*atr stop; exitshort ("Pt.SX") next bar at entryprice - pflim*atr limit; if barssinceentry >= maxhold then ExitShort ("Hold.SX") at close;

end;

Приложение 1. Система, дающая более 90% выигрышей.

Проблема в том, что выигрывать на бирже и зарабатывать на ней деньги - далеко не одно и то же. Прибыль, полученная в приведенном примере на Рис.1, разумеется, результат везения, удачного выпадения серии случайных чисел - в большинстве тестов эта стратегия убыточна. Однако если изменить входные параметры системы на более разумные, например, mmstp взять равным 1, pftlim равным 4, а maxhold равным 10, то эта система в большинстве тестов будет прибыльной.

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

Для незнакомого с трейдингом как бизнесом может показаться противоречащим здравому смыслу факт, что "успешное инвестирование и трейдинг не имеют ничего общего с прогнозированием" . Как говорит известный в трейдерских кругах Олег Гущин, есть две новости, плохая и хорошая. Плохая новость: прогнозировать рынок невозможно. Хорошая новость: чтобы зарабатывать на рынке, прогнозировать не нужно. Речь здесь идет о крупных выигрышах в тех случаях, когда мы правы, а не о выигрышах в каждой сделке. При этом число проигрышей может превышать число выигрышей, то есть вполне допустимо прогнозировать хуже, чем если бы мы делали прогноз, подбрасывая монету! По словам выдающегося трейдера Paul Tudor Jones'a "я могу быть остановлен четыре или пять раз за трейд, прежде чем он действительно начинает движение" . Иными словами, Paul Tudor Jones может выигрывать только в позорных 20-25% случаев. Тем не менее, на его счету пять последовательных лет с трехзначным процентным годовым доходом при очень низких коррекциях капитала. Почти 100% очень значительных выигрышей Steve Cohen'a приходится на 5% сделок, при этом только 55% сделок выигрышные. Несмотря на это, за последние семь лет его средний доход составлял 90% годовых, он имел только три убыточных месяца, причем худший месяц был -2% .

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

E = ^(Вероятность выигрышу * выигрышу ) - jВероятность проигрышу * проигрышу )

В упрощенном виде математическое ожидание можно оценить, как вероятность выигрыша, умноженных на средний выигрыш, минус вероятность проигрыша, умноженного на средний проигрыш. В терминах статистического отчета Omega Recearch TradeStation, это

Е = Percent profitable * Average winning trade - (1 - Percent profitable) * Average losing trade.

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

В одной из дискуссий на форуме аналитиков РТС один сторонник теории Эллиотта заявил: "Рынок - это не казино, мы не делаем ставок". В отличие от эллиотчиков, у которых жизнь течет по известному заранее расписанию, мы делаем ставки на рынке. Поскольку исход сделки неизвестен, каждая сделка есть ставка, в которой мы выигрываем или проигрываем некоторую сумму денег. Основные отличия ставок в казино (азартных игр) от ставок на рынке (спекуляций), помимо бесплатной выпивки и девочек, в том, что, во-первых, азартные игры создают риски, а спекуляции на рынке перераспределяют объективно существующие риски, а, во-вторых, на рынке трейдер может обеспечить себе статистическое преимущество, т.е. положительное математическое ожидание.

Рассмотрим ставку на выпадение цвета в рулетке. Имеется 18 красных секторов, 18 черных, и "зеро" (в американском, кажется, варианте, есть еще "двойное зеро"). Математическое ожидание выигрыша единичной ставки на цвет составляет 18/37 - (18 + 1)/37 = -1/37. В среднем казино выигрывает за одну игру у одного игрока эту величину, умноженную на размер ставки. Несмотря на отдельные крупные выигрыши клиентов, в целом казино всегда в выигрыше - благодаря математическому ожиданию в свою пользу, так называемому "преимуществу казино", а не потому, что крупье умеют прогнозировать, где остановится шарик.

Справедливости ради надо отметить, что известны случаи "преимущества игрока" в казино: математик Edward Thorp разработал стратегии с положительным ожиданием в blackjack ("двадцать одно"), которые успешно применял в казино Лас-Вегаса. Когда его перестали пускать на порог казино, он опубликовал свои методы , после чего в правила blackjack были введены изменения, лишающие эти стратегии "преимущества игрока". Тогда, в конце 60-х годов, Thorp заинтересовался рынком акций и начал управлять частным инвестиционным партнерством: "Значительным конкурентом в то время являлся будущий нобелевский лауреат Harry Markowitz. После 20 месяцев наш результат показал выигрыш + 39.9% против + 4.2% индекса Доу-Джонса. Markowitz через пару лет "опустился в минус", а мы удовлетворены нашими сохраняющимися результатами... примерно 20% ежегодно со стандартным отклонением примерно 6% и нулевой корреляцией с рынком" .

Рынок дает возможность играть в игры с положительным математическим ожиданием. Это необходимое условие успешной игры на бирже. Причем, как утверждает Ральф Винс, "не имеет значения, насколько положительное или насколько отрицательное ожидание; важно только то, положительное оно или отрицательное" . Утверждение спорное, с нашей точки зрения: большее положительное ожидание лучше меньшего.

Помимо математического ожидания, у большинства возникают проблемы с пониманием риска. Например, бывший директор одной региональной инвестиционно-финансовой компании с активами, превышающими летом 1997 года миллион долларов, историк по образованию, был убежден, что "риска не существует, потому что его нельзя измерить", а также в том, что "нельзя продавать акции с убытком". Что тогда говорить о непрофессионалах. Риск существует, и его можно определить и измерить множеством способов. Экономисты считают, что риск - это волатильность, измеряемая как стандартное отклонение изменений торгуемого актива . Это определение уместно только для стратегий типа "купил и держи". Более адекватно для спекулянта определение риска, как стандартного отклонения изменений капитала . Не вдаваясь в подробности, отметим, что риск, согласно данным определениям, значительно недооценивается. Согласно законам Мэрфи (не путать с техническим аналитиком CNBC), худшее впереди. Мы будем пользоваться следующим определением: риск - это количество денег, которое мы готовы потерять, прежде чем выйти из убыточной сделки.

Перед открытием позиции необходимо определить точку, в которой мы закроем позицию с убытком, с целью защиты капитала, так называемый стоп-лосс , либо откроем противоположную позицию, убедившись в своей неправоте относительно направления рынка (stop-and-reverse). Разность между точкой входа в позицию и точкой выхода по стопу, умноженное на количество лотов, есть начальный риск, или 1 R , вне зависимости от того, каким методом и в каких единицах мы определяем уровень стопа: в рублях, процентах, единицах волатильности или попугаях. Следует подчеркнуть, что наше определение риска не тождественно определению 1 R. Риск - это сколько мы потеряем в действительности. Риск может значительно превышать 1 R из-за неисполнения стопа по причине отсутствия дисциплины , гэпов против позиции или большего, чем ожидаемое, проскальзывания. Доход мы тоже можем определять в единицах риска на акцию, или кратных R. В терминах кратных R основной принцип спекуляций будет гласить: сохранять убытки на уровне 1 R, насколько это возможно, и позволять прибыли достигать больших кратных R. Математическое ожидание в кратных R будет означать, сколько мы выиграем или проиграем в среднем за одну сделку на единицу риска. Для того, чтобы вычислить математическое ожидание в кратных R, мы должны записать результаты наших сделок в таблицу со следующими столбцами:

Число лотов I Прибыль или убыток I Начальный риск I Кратное R

Прибыль или убыток должны учитывать комиссию брокеру и проскальзывание. Кратное R вычисляется делением второго столбца на третий. Теперь, для вычисления математического ожидания достаточно просуммировать значения четвертого столбца, и разделить полученное значение на число сделок. Данный метод подходит и для "интуитивного" трейдинга.

Рассмотрим пример. Будем торговать акциями РАО ЕЭС на ММВБ (с 05.29.1997) по следующим правилам (это самое простое, что мы смогли придумать):

Покупаем один лот, если средняя цена дня ((high + low)/2) вырастет выше своего минимального значения на 4 копейки;

Продаем один лот, если средняя цена дня ((high + low)/2) упадет ниже своего максимального значения на 4 копейки;

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

Код системы приведен в Приложении 2.

The Simplest System №2. Copyright (c) 2001 DT

PtDn(4.); , num(1);

Input: Price((H+L)*.5), PtUp(4.),

Vars: TrendLine(C), LL(99999), HH(0 if MarketPosition <= 0 then begin

if price < ll then ll = price;

if price cross above ll + ptup*.001 then begin

buy("Simpl.LE") num contracts next bar at market hh = price;

end;

end;

if marketposition >= 0 then begin

if Price > HH then HH = Price; if Price cross below HH - PtDn*.001 then begin

Sell("Simpl.SE") num contracts next bar at market LL = Price;

end;

end;

Приложение 2. Простейшая система №2

Expectancy Output Copyright (c) 2001 DT

Var: RMult(1),R1(1), Trades(0);

Trades = TotalTrades;

R1 = PctUpt.0010BigPointValue;

RMult = PositionProfit(1)/R1;

If barnumber = 1 then

print(file(,,D:\TS_Export\M-trading.csv,,),,,Qty,,,,,,,,,,,Profit,,,,,,,,,,,Initial Risk",",","R multiple”);

If Trades <> Trades[1] then

print(file(”D:\TS_Export\M-trading.csv”),Num:10:0,”,”,PositionProfit(1):

10:4,”,”,R1:10:4,”,”,RMult:10:4);

Приложение 3. Вывод данных в файл для вычисления математического ожидания.

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

необходимые данные в указанный файл D:\TS_Export\M-trading.csv (вам, разумеется, необходимо указать свой файл). Полученный таким образом файл можно исследовать средствами Excel (Excel р Сервис р Анализ данных). Гистограмма кратных R (Рис.1) наглядно отражает философию следования за тенденцией. Легко видеть, что большинство сделок имеет убыток от одного до двух R (медиана -

1.35, число прибыльных сделок 37%), имеется две сделки с убытками, превышающими 10 R, и пятнадцать сделок, прибыль в которых превышает 10 R. Гистограмма искривлена вправо (ассиметричность 3.46). При этом прибыль от одной сделки составляет 53.15 R! Математическое ожидание в этом примере составляет 0.24 R, т.е. на каждый рубль риска мы в среднем ожидаем получить 1.24 рубля.

Дмитрий Толстоногов  - Основы Money Management (1)


Рис.1. Распределение Кратных R.

Итак, мы имеем выигрышную стратегию - чего же более? Осталось открыть счет у брокера - у нас, например - и колбасить на все деньги с максимальным плечом.

Здесь начинается самое важное - собственно money management. Для прояснения ситуации приведем пару фактов.

Ральф Винс придумал игру, в которой единственным параметром был размер ставки. Для игры он набрал сорок кандидатов наук, т.е. как минимум людей неглупых. Единственными ограничениями было, чтобы никто из них не был профессиональным игроком и никто из них не изучал статистику. Кандидаты наук играли в игру, в которой генерировались 100 случайных сделок, одна сделка за один раз. Все начинали с $1000, и перед совершением каждой сделки нужно было принять единственное решение: какую сумму - от $0 до всего капитала - ставить. 60% времени они выигрывали сумму, которую ставили, а в 40% случаев они проигрывали то, что ставили. Эта игра имеет математическое ожидание в 20 центов на каждый доллар риска, то есть в долгосрочной перспективе, на каждый рискуемый доллар игрок получает доллар и 20 центов сверху. Кандидаты наук совершили по 100 сделок, что достаточно для реализации математического ожидания. Совершая одни и те же сделки, все закончили игру с различными результатами. Угадайте, сколько из них увеличили начальный капитал? Двое из сорока. 95% кандидатов наук потеряли деньги в игре с положительным ожиданием!

Van Tharp привел еще более впечатляющий пример . В азиатском туре Dow Jones Telerate TAG (Technical Analysis Group) он выступал с лекциями в восьми городах перед 50-100 слушателями. Большинство из них были профессиональные трейдеры крупных компаний или банков, торгующие акциями, облигациями или обменными курсами на форексе. Для иллюстрации некоторых тем он предлагал слушателям сыграть в игру, аналогичную игре Винса. Там, где выпадала большая серия проигрышей, более половины аудитории -профессиональных трейдеров - теряли деньги.

И еще один пример из жизни аналитиков. Трейдер Олег Найденов, который сейчас переехал в Америку, дал поиграть в аналогичную игру своей приятельнице, работающей ведущим аналитиком Charles Schwab. На первом уровне игры дается распределение кратных R с математическим ожиданием 0.45 и 60% выигрышей. Чтобы перейти на следующий уровень, необходимо за 100 сделок увеличить капитал на 50%.

Результат таков: "она второй день не может перейти на следующий уровень".

Brinson, Singer и Beebower в 1991 г. опубликовали исследование результативности 82-х управляющих портфелями активов за 10летний период, которое показало, что 91.5% дохода являлось результатом размещения активов. Размещение активов в этом исследовании означает, какая доля капитала была размещена в акциях, облигациях или деньгах. Только 8.5% результатов объяснялось тем, какие именно акции или облигации покупались и когда.

Сыграем в ту же игру, что и кандидаты наук у Винса. Если бы не было риска, то есть исход каждой сделки был известен, то имело бы смысл каждый раз ставить весь имеющийся капитал. Тогда каждый кандидат наук получил бы $1000*(1.2Л100) = $82,817,974,522.01. В реальности, если мы в первую сделку ставим $1000, то мы имеем 40% вероятности потерять все с первой же попытки. Даже если нам повезет, и мы будем иметь $2000, ставка всего капитала в следующей сделке столь же безумна, как и в первой.

Допустим, мы ставим каждый раз по $200. В этом случае, если пять первых сделок будут проигрышными, то мы снова потеряем весь капитал. Конечно, вероятность такого события невелика - чуть больше процента. Но готовы ли мы к риску 1% все потерять за первые 5 неудачных сделок? Допустим, мы проиграли в первых двух сделках, что может случиться с вероятностью 16%. Мы потеряли 40% капитала, и нам надо увеличить счет на 67% только для того, чтобы восстановить начальный капитал. Этот эффект называется "ассимметричный левераж" . Из таб. 2 видно, что убытки свыше 50% требуют огромной, маловероятной прибыли только для восстановления исходного уровня капитала. В итоге, если мы рискуем слишком большой суммой относительно нашего счета и проигрываем, шансы остаться в конечном итоге с прибылью очень малы.

Результат кандидатов наук объясняется не только слишком большими ставками. Широко распространено заблуждение, называемое "ошибка игрока": мы склонны считать, что после серии проигрышей вероятность выигрыша возрастает, и увеличиваем ставки. Однако вероятность выигрыша в данной игре не зависит от предыдущих сделок и по-прежнему остается 60%.

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

Для анализа результатов игры, а мы получили в результате 1000 серий игр 1000 вариантов доходности, расположим все варианты последовательно от меньшего к большему. Затем разобьем их на 100 равных по количеству вариантов частей - в каждой сотой доле (их называют персентилями) будет, таким образом, по 10 вариантов результатов. В первом персентиле будут собраны 10 худших вариантов, а граница этого персентиля (10е значение) будет соответствовать тому, что обычно формулируется в виде такой фразы: "В 1% случаев результаты будут хуже ... значения". В статистике такой персентиль принято обозначать как k-1. Граница 50 персентиля (k-50) будет соответствовать фразе "В 50% случаев результат будет хуже, чем ...".

При ставке 10% капитала в каждой сделке (строчка выделена в таблице), при начальном капитале $1000, минимальное значение капитала после ста сделок в 1000 играх составило $181. В 1% всех попыток наш капитал оказался меньше $405 (k-1 доходности). В 50% попытки дали конечный результат $4501 и меньше (k-50 доходности). В 95% попыток конечный капитал был меньше, чем $22411 (k-95 доходности), и, соответственно, в 5% попыток капитал оказался больше, чем $22411.

Рассмотрим drawdowns (DD в таб.3). Drawdown - это разность между максимальным значением капитала и последующим его минимумом до того, как капитал достигнет нового максимума. При ставке 10% от капитала в 50% попыток DD был более 48%, в 1% попыток - более 78%, и максимальный составил почти 90% капитала. При ставках выше 30% от капитала мы практически обречены на разорение. Еще раз подчеркнем, что игра имеет положительное ожидание - при соотношении вероятности проигрышей и выигрышей 40% к 60%, величина выигрыша относится к величине проигрыша как 1 к 1.

Steve Cohen говорит, что "общая ошибка, которую делают трейдеры. это то, что они берут слишком большие позиции относительно своих портфелей. Затем, когда акция движется против них, боль становится слишком сильной, чтобы ей управлять, и они в конце концов паникуют или впадают в оцепенение" . Рассмотренные примеры показывают важность размера ставки в играх с неопределенным исходом. Что же такое money management? Запустив поиск в интернете по этим ключевым словам, мы получили услуги по управлению персональными финансами, как управлять чужими деньгами, как контролировать риск, Turtle Trading и тому подобное. Согласно Van TharpV, money management - это ничего из перечисленного:

• это не часть системы, которая диктует, сколько вы потеряете в данной сделке;

• это не как выходить из прибыльной сделки;

• это не диверсификация;

• это не контроль рисков;

• это не избегание риска;

• это не часть системы, которая максимизирует производительность;

• это не часть системы, которая говорит, куда инвестировать. money management - это часть торговой системы, которая говорит "сколько". Сколько единиц инвестиций следует держать в данный момент? Сколько риска следует брать?

Иными словами, money management - это управление размером ставки. Наиболее радикальное определение из известных нам дал Ryan Jones : money management ограничивается тем, какой суммой с вашего счета рисковать в следующей сделке. Обратите внимание, это определение не относит к money management управление размером уже открытой позиции, в то время как Van Tharp это допускает. Дмитрий Толстоногов

Дмитрий Толстоногов - Основы Money Management II

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

Толковый словарь money management

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

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

Е = ? .(Вероятность выигрыша. * выигрыш. ) - ? ^Вероятность проигрышу * проигрыіш )

Математическое ожидание можно грубо оценить, как вероятность выигрыша (%Win/100), умноженных на средний выигрыш (AvgWin), минус вероятность проигрыша (%Loss/100), умноженного на средний проигрыш (AvgLoss).

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

Текущий (открытый) риск - это разность между текущей ценой и точкой выхода из позиции.

Мартингал (martingale) - увеличение размера позиции при уменьшении капитала.

Антимартингал (antimartingale) - увеличение размера позиции при увеличении капитала.

Волатильность - мера изменчивости цен за определенный промежуток времени.

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

Предположим для простоты, что в нашем трейдинге возможны только два исхода: потеря ставки в случае проигрыша с вероятностью 100 - PctWin, либо выигрыш WinToLoss * размер ставки с вероятностью PctWin. В этом случае математическое ожидание равно

Expectancy = PctWin * 0.01 * WinToLoss - (1 - PctWin * 0.01)

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

Покажем, как метод Монте-Карло можно реализовать в TradeStation. Код соответствующего сигнала приведен в Приложении 1. Его следует скопировать в PowerEditor, создать в StrategyBuilder стратегию с этим сигналом, применить ее к любому графику и запустить в TradeStation оптимизацию параметров, как показано на рисунке 1.

Дмитрий Толстоногов - Основы Money Management II


Рисунок 1.

Эта стратегия будет сохранять в файл на каждом баре графика прибыль для всех комбинаций параметров и серий случайных исходов сделок. Следует иметь в виду, что число баров * число комбинаций параметров не должно превышать 65536 (максимальное число строк в Excel). Функция Random(100) на каждом баре будет генерировать равномерно распределенную случайную величину от 1 до 100. Тогда знак величины PctWin - Random(100) будет с вероятностью PctWin определять, выигрыш или проигрыш мы получили в каждой конкретной сделке, а размер выигрыша будет равен WinToLoss.

Графики зависимостей средней по всем Монте-Карло тестам прибыли от параметров можно затем построить в Excel. В качестве примера вспомним игру кандидатов гуманитарных наук из нашей предыдущей статьи, где в 60% выигрывалась ставка, а в 40% попыток она же проигрывалась. Чтобы построить график зависимости средней прибыли от размера ставки в данной игре, следует

о запустить в TradeStation оптимизацию стратегии по параметру PctRisk = 5, 10, ..., 90 при фиксированных значениях PctWin = 60%, WinToLoss = 1;

о открыть в Excel файл D:\TS_Export\MTrading_MMII.csv;

о в столбец F ввести значения оптимизируемых параметров, а в столбец G формулы

=СУММЕСПИ(A$1:A$20860," = 5",E$1:E$20860)/СЧЁТЕСПИ(A$1:A$20860," = 5") =СУММЕСЛИ(A$1:A$20860,"=10",E$1:E$20860)/СЧЁТЕСЛИ(A$1:A$20860,"=10")

и т. д.

В итоге получим график, подобный приведенному на Рис. 2.

Дмитрий Толстоногов - Основы Money Management II


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

При всем многообразии алгоритмов money management их можно разделить на два класса: мартингал (martingale) и антимартингал (antimartingale).

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

Рассмотрим применение мартингальной стратегии в казино: мы ставим $1 на выпадение цвета и каждый раз удваиваем ставку после проигрыша. После выигрыша начинаем снова с $1. Если мы проиграли 10 раз подряд, что может случиться с вероятностью (19/37)А10,

или 0.13%, то мы должны поставить $1024 для того, чтобы выиграть $1. Поскольку в этом случае отношение ожидаемый доход / риск катастрофически мал, принято считать, что мартингальные методы нельзя применять в трейдинге. Однако, стоит иметь в виду, что в популярных методах следования за трендами

1. выигрыши, как правило, в 2-3 раза выше, чем проигрыши;

2. серии небольших проигрышей типично чередуются большими выигрышами.

Поэтому мартингальные методы, на наш взгляд, заслуживают серьезного изучения.

Антимартингальные методы утверждают прямо противоположное: размер риска следует увеличивать при увеличении капитала и

уменьшать при его уменьшении.

Известные антимартингальные методы предписывают рисковать фиксированной долей капитала (fixed fractional):

о Торговать постоянным числом акций - ниже мы покажем, что с оговорками этот метод можно отнести к антимартингальным;

о Использовать весь доступный капитал;

о Торговать одним лотом на каждые Х рублей счета;

о Разделить счет на равные доли соответственно торгуемым активам;

о Рисковать долей капитала;

о Рисковать пропорционально волатильности торгуемого актива;

о Метод Келли, оптимальное f, и их вариации.

К антимартингальным методам можно отнести и метод фиксированного отношения (fixed ratio), принадлежащий Райану Джонсу (Ryan

Jones). Метод утверждает, что отношение количества торгуемых акций к приращению капитала, необходимому для увеличения числа акций, должно быть величиной постоянной. Райан Джонс был настолько уверен в преимуществах своего метода над остальными, что в прошлом году решил побить рекорд Ларри Вильямса (Larry Williams), установленный на Кубке Мира по трейдингу еще в 1987 году,

когда тот за год, реально торгуя фьючерсами на S&P500 и T-Bonds, увеличил капитал с $10,000 до $1,147,000. В числе призеров 2000

года Райана Джонса, увы, не оказалось, но на 31 мая 2001 года он уверенно лидировал с результатом +226%.

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

Наиболее распространенным методом money management является отсутствие управления капиталом. Встречаются три его разновидности.

1. Money management для гэмблеров

Метод предписывает ставить на один трейд весь имеющийся капитал с максимально допустимым плечом. Вне зависимости от результата, закрывать счет и уходить либо с убытком 100%, либо с прибылью, равной

(Кредитное плечо* Выигрыш_в_пунктах * Стоимость_ пункта /

Размер_начального депозита - 1) * 365 / Дней_в_позиции

% годовых.

Рекомендуется для новичков, желающих быстро заработать большую прибыль. Особенно хорошо метод работает при использовании левеража (плеча) 1:100 и выше: при отсутствии стратегии с положительным математическим ожиданием этот метод оптимален. Самое важное в этом методе - понимать, что стратегия играется только один раз, поскольку эксплуатируется везение, а не статистическое преимущество, которое, согласно закону больших чисел, реализуется в результате большой последовательности выигрышей и проигрышей.

2. Фиксированное число лотов

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

Применим этот метод к простейшей модельной системе, с легкой руки Константина Копыркина получившей широкую популярность как «динамический канал»: Покупаем один лот, если средняя цена дня ((high + low)/2) вырастет выше своего минимального значения на Х пунктов;

Продаем один лот, если средняя цена дня ((high + low)/2) упадет ниже своего максимального значения на Х пунктов;

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

Код системы вместе с рассматриваемыми алгоритмами определения размера позиции приведены в приложении 2.

Результаты торговли равным числом лотов при начальном капитале 100000 и марже 0.66 приведены в таблице 1 (здесь и ниже результаты получены из TradeStation Strategy Performance Report).

Отметим, что при дальнейшем увеличении числа торгуемых лотов неявно включается односторонний антимартингальный money management: мы не можем открывать позиции, превышающие текущий капитал, поэтому при уменьшении капитала размер позиции также будет уменьшаться. При увеличении же капитала размер позиции будет оставаться постоянным. Переформулируем метод следующим образом: независимо от счета, всегда входить в позицию одинаковым (обычно круглым) числом лотов, если это допускает текущий капитал; в противном случае, входить в позицию максимально допустимым числом лотов.

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

3. «На все»

Метод гласит: использовать при открытии позиции все доступные ресурсы.

Иными словами, каждый раз мы открываем максимально возможный объем позиции.

Даже теряя в убыточной сделке всего 4 копейки на акцию, используя выигрышную стратегию, при использовании плеча 2:1 и выше

мы проигрываем весь капитал!

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

4. Число лотов на фиксированную сумму денег

Метод предписывает торговать одним лотом на каждые Х рублей счета:

Число лотов = Капитал / Х_ рублей

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

В таблице 3 рассматривается применение данного метода к РАО ЕЭС на ММВБ при различных суммах, зарезервированных для торговли одним лотом, при начальном капитале 100000 рублей и марже 0.66.

Проблема при применении данного метода заключается в том, что не все инвестиции равноценны: один лот (100 акций) EESR существенно отличается по стоимости и волатильности (подробнее о волатильности будем говорить ниже) от одного лота (1 акции)

SBER: волатильность EESR в денежном выражении составляет 20% от волатильности SBER. Таким образом, поведение портфеля из двух акций будет на 80% определяться поведением SBER и на 20% поведением EESR. Другая проблема, общая для всех антимартингальных методов, заключается в том, что увеличение размера позиций происходит неравномерно по отношению к росту капитала. Например, при начальном капитале 100 000 рублей и использовании метода «один лот на 1000 рублей» необходимо увеличить счет до 101000 рублей, или на 1%, чтобы увеличить размер позиции на единицу. С другой стороны, при капитале 1 000 000 рублей, для увеличения размера позиции на единицу достаточно увеличения счета до 1001000 рублей, или на 0.1%. Поэтому при малом начальном капитале счет растет значительно медленнее, чем при большом.

К достоинству метода можно отнести то, что сделка никогда не будет отвергнута по причине того, что она слишком рискованная. Обратная сторона медали состоит в том, что в некоторых случаях это может обернуться недостатком.

5. Равные доли

Этот метод широко используется при торговле акциями. Он предписывает разделить имеющийся капитал на равные доли соответственно числу торгуемых активов или методов:

Число лотов = Капитал / (число_активов * цена_актива)

Этот метод свободен от недостатка предыдущего, поскольку придает каждой инвестиции в портфеле равный вес. Например, имея на счете 100 000 рублей, и торгуя 6 ликвидными акциями без использования кредитного плеча, мы можем купить, например, 15 лотов SBER и 50 лотов EESR. Неэффективность предыдущего метода, однако, сохраняется - размер позиции возрастает неравномерно по отношению к возрастанию счета.

6. Процент риска

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

Число лотов = % риска * Капитал / начальный_риск_ на_единицу_ актива.

Например, имея капитал в 100 000 рублей, мы не хотим рисковать суммой более 1% капитала на сделку, или 1000 рублей. Рассматриваемая в данной статье простейшая система торговли дает сигнал на открытие противоположной позиции при отклонении средней цены за день от своего экстремального значения на 4 копейки. Это определяет наш риск 4 рубля на 1 лот (100 акций * 0.04 рубля), что позволяет нам открыть позицию не более 250 лотов.

В таблице 4 рассматривается применение метода «% риска» к РАО ЕЭС на ММВБ при различных долях капитала в процентах, подвергаемых риску, при начальном капитале 100000 и марже 0.66.

Рискуя более 1%, мы ушли бы «в минус». Рискуя заданным процентом от капитала, сколько-нибудь заметного улучшения результатов по сравнению с описанными ранее методами, вопреки ожиданиям, мы не получили. Это мы связываем с тем, что уровень коррекции от экстремума цен для смены позиции, и, следовательно, риск в нашей модельной системе выражен в абсолютных величинах, а не в относительных. Если правила модельной системы изменить на следующие:

Покупаем один лот, если средняя цена дня ((high + low)/2) вырастет выше своего минимального значения на Х процентов( или единиц волатильности);

Продаем один лот, если средняя цена дня ((high + low)/2) упадет ниже своего максимального значения на Х процентов( или единиц волатильности);

то результат должен кардинально улучшиться по сравнению с предыдущими методами (и результаты предыдущих методов тоже - но в значительно меньшей степени). Оставляем читателям проверить это утверждение.

7. Процент волатильности

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

Volatility = Average(Range, Period),

средний чистый диапазон ATR (встроенная в TradeStation функция AvgTrueRange) Уилдера (W. Wilder), либо историческую волатильность

HistVolatility = 100 *StdDev(Log(Close / Close[1], Period) * SquareRoot(365).

Метод предписывает приравнивать волатильность каждой позиции фиксированной доле капитала:

Число лотов = % волатильности * Капитал / Волатильность_актива

Например, мы имеем капитал 100 000 рублей и хотим купить акции EESR. Средний чистый диапазон за последние несколько дней

составлял 0.1 рубля, или 10 рублей на один лот. Имея ограничение на волатильность нашего счета в 10%, мы можем купить 1000

лотов. Таким способом мы можем контролировать возможные флуктуации каждого элемента портфеля.

Применим метод % волатильности при тех же условиях: РАО ЕЭС на ММВБ, начальный капитал 100000 и маржа 0.66. Крепко держитесь за стул, когда будете смотреть на результаты, приведенные в Таблице 5. По сравнению с торговлей фиксированными 100 лотами суммарная прибыль при 1% волатильности увеличилась почти в пять раз, в то время как максимальный дродаун только в два раза. Отношение среднего выигрыша к среднему проигрышу и профит фактор увеличились на 19%. При 5% волатильности суммарная прибыль при тех же сделках увеличилась в 35 раз!

Мы можем также ограничить суммарную волатильность, которой подвержен весь портфель торгуемых активов в каждый момент. Например, если мы ограничиваем волатильность портфеля величиной 10% и волатильность отдельной позиции 2%, то мы можем одновременно открыть позиции по 5 активам.

Методы % риска и % волатильности могут исполнять роль фильтров, отвергая сделки, несущие высокий риск.

Говоря о достоинствах антимартингальных методов в целом, можно выделить следующие:

1. Рискуя более высокой долей капитала, мы позволяем счету расти в геометрической прогрессии.

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

Говоря об общих недостатках антимартингальных методов, можно выделить следующие:

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

2. Рискуя небольшой долей капитала, мы не допускаем быстрого роста капитала.

3. Увеличение размера позиций происходит неравномерно по отношению к росту капитала.

В следующий раз мы обсудим более современные и эффективные методы money management, включая Fixed Ratio, оптимальное f и тот алгоритм, который использовал Ларри Вильямс при установлении своего рекорда.

Monte-Carlo Simulation Signal.

Copyright (c) 2001 DT

Inputs: PctRisk(10), {% риска от текущего капитала, 0-100}

PctWin(50), {% выигрышей, 0-100}

WinToLoss(2) {отношение выигрыш/проигрыш};

Vars: Win(0), Count(0), Expectancy(0), Equity(1), Str(""); if CurrentBar = 1 then FileDelete("D:\TS_Export\MTrading_MMILcsv");

Expectancy = 0.01 * PctWin * WinToLoss - (1 - PctWin * 0.01); if Expectancy > 0 then begin Equity = 1;

for count = 1 to 100 begin value1 = Random(100); if PctWin - value1 > 0 then Win = WinToLoss else

Win = -1;

Equity = Equity * (1 + PctRisk * 0.01 * Win); end;

Str = NumToStr(PctRisk, 0) + "," + NumToStr(PctWin, 0) + "," + NumToStr(WinToLoss, 2) + "," + NumToStr(Expectancy, 2) + "," + NumToStr(Equity - 1, 2) + NewLine;

FileAppend("D:\TS_Export\MTrading_MMII.csv", Str);

end;

Приложение 1.

The Simplest System #2 with Money Management.

Copyright (c) 2001 DT

Input: Price((H+L)*.5), PtUp(4.), PtDn(4.);

Inputs: MM_Model(0), {0 = MM absence, 1 = MM for gamblers; 2 = MM units per fixed money; 3 = Equal Units; 4 = % Risk; 5 = % Volatility}

MM(10), {MM parameter}

InitCapital(100000), {Initial capital to trade}

Marg(.66); {Margin percentage}

Vars: MP(0), Risk(0), Num(1), Equity(0), OpenAssuredProfit(0);

Vars: WinP(0),AvgW(0),AvgL(0), Kelly(0);

Vars: Marg1(0), {Margin}

Lots(0), {Number lots in a margin, determined by Delta}

Equity_0(0), {Initial capital to trade one lot}

FRDelta(0);

Vars: LL(99999), HH(0), Trend(0), Volat(TrueRange);

MP = MarketPosition;

Volat = .5 * TrueRange + .5*Volat[1]; if MP <= 0 then begin if Price < LL then LL = Price;

if Price cross above LL + PtUp*.01* BigPointValue then begin Trend = 1;

HH = Price;

end;

end;

if MP >= 0 then begin if Price > HH then HH = Price;

if Price cross below HH - PtDn*.01* BigPointValue then begin Trend = -1;

LL = Price;

end;

end;

If trend = 1 then Risk = PtDn {+ Slippage};

If trend = -1 then Risk = PtUp {+ Slippage};

OpenAssuredProfit = MaxList((Trend*(close - EntryPrice) - Risk)*Num * BigPointValue, 0); Equity = (InitCapital + NetProfit + OpenAssuredProfit); {Reduced Total Equity} if MM_Model = 0 then { Equal lots}

Num = MM;

if MM_Model = 1 then { All Resources}

Num = Floor(Equity/Marg/close);

if MM_Model = 2 then { MM Units per Fixed Money }

Num = Floor(Equity/Marg/MM); if MM_Model = 3 then { MM Equal Units }

Num = Floor(Equity/Marg/close/MM); if MM_Model = 4 then { % Risk Model } if Risk <> 0 then

Num = floor(MM*Equity *.01/Risk/Marg);

if MM_Model = 5 then { % Volatility Model }

if Volat <> 0 then

Num = floor(MM*Equity *.01/Volat/BigPointValue/Marg); if Num < 1 then Num = 1;

if Num > Equity/close/Marg then Num = Equity/close/Marg;

{ Entries}

if trend = 1 and trend[1] <> 1 then buy("LE") num contracts at market; if trend = -1 and trend[1] <> -1 then sell("SE") num contracts at market;

Приложение 2.

Дмитрий Толстоногов



Дмитрий Толстоногов - Основы Money Management III

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

Управление дроудаунами.

Пусть задан максимально допустимый дроудаун, в % от капитала. Метод предписывает приравнивать начальный риск позиции

фиксированной доле заданного максимального дроудауна:

Число_лотов = % Риска * (Капитал - (1 - Макс_%_Дроудаун) * Максимум_капитала) / начальный_риск_на_единицу_актива / 100.

Например, имея текущий капитал 100,000 рублей, максимальный достигнутый капитал 110,000 рублей и максимально допустимый дроудаун 20%, мы готовы рискнуть суммой, равной 10% от дроудауна. Тогда наш риск составит 1200 рублей (10% * (100,000 руб. -

80% * 110,000 руб.)). При риске на акцию 0.10 руб. мы сможем купить 120 лотов по 100 акций. Если бы цены изменялись непрерывно, издержки на совершение сделок отсутствовали, допускались дробные лоты, и трейдер обладал мгновенной реакцией, то, пользуясь этим методом, можно было бы гарантировать, что дроудаун не превысит заданного лимита.

Другой вариант использования дроудаунов - учитывать его максимальное историческое значение (взятое с запасом):

Число_контрактов = Капитал / (2 * Максимальный _дроудаун + маржа_на_контракт)

Метод Келли.

Метод определяет оптимальный процент риска, который следует применять для максимизации функции «полезности», представленной как логарифм капитала.

Этот метод применительно к азартным играм, а позже к биржевым спекуляциям, был разработан уже известным нам профессором Эдвардом Торпом.

В «игре кандидатов гуманитарных наук», описанной в предыдущей статье, где в 60% попыток выигрывалась ставка, а в 40% попыток она же проигрывалась, оптимальной, по Келли, ставкой является 20% от текущего капитала. Обратившись к таблице 3 указанной

статьи, увидим, что 50-персентиль k-50 действительно достигает максимального значения 7490 при ставке 20%. Это означает, что 50% всевозможных исходов игр покажут прибыль 7490 и более. Картину портит тот факт, что 50% дродаунов превышают 79.09%, а максимальный достигает 99.43%. Готовы ли мы достичь максимально возможной прибыли ценой промежуточной 99-процентной потери

капитала? Вероятно, только в том случае, если мы хотим побить рекорд Ларри Вильямса. Его феноменальный результат вполне объясняется словами Ральфа Винса (Ralf Vince): «он - один из немногих индивидуумов, которые реально могут торговать при

полностью оптимальных величинах и проходить через сопутствующие дроудауны»

Метод Келли определяет % риска по следующей формуле:

Келли = %выигрышей - %проигрышей * Средний_убыток / Средний_выигрыш.

Отсюда мы можем вычислить размер позиции:

Число лотов s Келли * Капитал / начальный_риск_на единицу актива.

Торп рекомендует использовать % риска в диапазоне 0.5 * Келли <= % риска < Келли. В таблице 1 приведены результаты тестирования, из которых видно, что уже при риске 18% от Келли и выше, наша модельная простейшая система становится убыточной.

Оптимальное f. Метод является усовершенствованным Ральфом Винсом методом нахождения оптимального % риска. Формула Келли оперирует только с усредненными значениями, полученными из прошлых сделок. Ральф Винс предложил учитывать все трейды, решая в явном виде задачу оптимизации относительного конечного капитала TWR как функции f:

TWR ^ Max 0

где

TWR = П i=i,..,n (1 - f * Результат_сделки. / Максимальный_проигрыш)

Знак «минус» здесь потому, что проигрыш берется со своим знаком. По существу, метод подразумевает, что в будущем мы будем иметь такие же исходы сделок, но, возможно, в другом порядке. Решив задачу максимизации TWR, мы найдем значение f = f при котором

opt' ^ ^

функция TWR достигнет своего максимума. Зная f t , мы определим размер позиции:

Число лотов = fopt * Капитал / ( - Максимальный_проигрыш)

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

использовании оптимального f будет составлять не менее f % от счета Иными словами если f равно например 0 5 то мы иметь дроудаун по крайней мере в 50%. Ральф Винс утверждает, что «если вы не торгуете ради оптимальной прибыли, то вам место в психиатрической больнице, а не на рынке». Он не учитывает то обстоятельство, что получив 99% дроудаун при торговле «ради оптимальной прибыли», мы все равно рискуем занять место если не в психиатрической больнице, то, после отчета перед женой или инвесторами, в травматологической, так и не дождавшись максимального роста капитала.

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

Ахиллесова пята метода оптимального f в том, что, он полностью основан на исторических результатах системы, а именно, на

максимальном проигрыше. Уровень риска, принимаемый при использовании f ........

opt, подразумевает, что мы никогда не получим большего

убытка.

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

достигнутые максимальный убыток и максимальный дроудаун останутся таковыми в будущем. Для вычисления f 11ПШ11Л

opt можно заменить в

формуле для TWR максимальный проигрыш величиной

Оценка_максимального_проигрыша = Средний_проигрыш - 3.5 * Стандартное_отклонение_проигрышей.

Но и это не решает проблему. Очевидно, исход будущей сделки есть случайная величина. Тогда оптимальное для этой сделки f есть

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

сделок, если только мы не сможем торговать справа налево. Продемонстрируем это утверждение на примере. Вычислим оптимальное f для модельной системы (при num = 1) последовательно для нескольких сделок, как показано в приложении 1. Для последних десяти сделок мы получим оптимальные значения 0.135, 0.134, 0.131, 0.123, 0.156, 0.142, 0.149, 0.137, 0.155, 0.165. Получается, что перед последней сделкой мы выбираем значение f, равное 0.155, тогда как оптимальным для этой сделки будет 0.165, то есть мы рискуем меньше оптимального. Хуже того, для третьей с конца сделки оптимальное f будет равно 0.137, а мы считаем его равным 0.149, принимая избыточный риск. Проще говоря, оптимальное f на самом деле не оптимально!

Безопасное f. Лео Заманский (Leo Zamansky) и Дэвид Стендал (David Stendahl) пытались преодолеть большие дроудауны, наложив дополнительное ограничение на максимальный допустимый дроудаун:

TWR Max 0

При условии

Максимальный_дродаун <= Допустимый_максимальный_дродаун.

Другой вариант - для вычисления безопасного f в формуле TWR использовать максимальный дроудаун (или его оценку) вместо максимального проигрыша.

Оптимальное f с учетом волатильности. Мюррей Руджеро (Murray Ruggiero) предложил адаптировать размер позиции, вычисляемый при помощи оптимального f, к текущей волатильности рынка. Идея основана на гипотезе, что при низкой волатильности рынка шансы получить большой убыток ниже, чем при высокой волатильности. Мы нормируем волатильность в диапазоне между нулем и единицей, где 0 означает максимальную волатильность, а 1 - минимальную:

Волатильностьнорм = (Максимальная_волатильность - Текущая_волатильность) / (Максимальная_волатильность -

Минимальная_волатильность)

Тогда

Число лотов fopt * Волатильностьнорм * Капитал / ( -Оценка_максимального_проигрыша)

Здесь, разумеется, fopt тоже вычисляется с использованием оценки максимального проигрыша.

Фиксированное отношение (Fixed Ratio). Общая проблема всех методов, использующих фиксированную долю капитала, заключается в том, что различные варианты методов либо решают задачу максимизации роста капитала безотносительно к риску (например, оптимальное f), либо минимизации риска (например, рисковать не более Х % от капитала). Пытаясь разрешить это

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

увеличения числа лотов на единицу (или на минимальное приращение числа лотов), должно быть величиной постоянной:

Предыдущий_уровень_капитала + Число_лотов * Delta =

Следующий_уровень_капитала.

Здесь величина Delta определяет, насколько агрессивно или консервативно мы применяем money management: чем больше Delta, тем

большую прибыль на один лот необходимо получить, чтобы увеличить число торгуемых лотов. Автор метода предлагает использовать в качестве Delta долю максимального дроудауна. Наши эксперименты показывают, что гораздо эффективнее вместо дроудауна

использовать волатильность.

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

с алгоритмом Джонса, с Delta, максимального значения, и далее с

пропорциональным возрастанием Delta

Сама идея метода выглядит весьма сомнительной: увеличение числа торгуемых лотов с одного до двух эквивалентно не увеличению

числа лотов с десяти до одиннадцати, как считает Райан Джонс, а с десяти до двадцати - это увеличение на 100%. Трейдеру важно не

количество торгуемых контрактов, а прирост капитала и риск, в относительных величинах.

Поиграем числами, как учит Райан Джонс. При помощи несложных математических преобразований (см. Приложение 3), мы получим формулу:

Число лотов = 0.5 + (2 * Прибыль / Delta + 0.25)Л(0.5).

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

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

капитала. Любой, знакомый с основами математического анализа, знает, что функция y = a * хл(0.5) при малых х принимает значения большие, чем линейная функция y = a * х, а при больших х наоборот (см. Рис. 1). Отсюда следует, что при малом размере капитала метод фиксированного отношения предписывает торговать большим количеством лотов, чем методы фиксированной доли капитала, а при большом размере капитала торговать меньшим количеством лотов. Иными словами, метод фиксированного отношения предлагает брать при малом размере капитала больший риск, чем критикуемые им «более рискованные» методы. Фактически, этот «новый» метод тоже предписывает рисковать фиксированной долей капитала, более агрессивно по сравнению с исходным. Примеры из книги, демонстрирующие преимущества своего метода, хорошо подобраны так, чтобы дроудауны возникли уже после того, как капитал заметно вырос.

Дмитрий Толстоногов - Основы Money Management III


Рис. 1. Сравнение функций при разных значениях аргумента.

Что касается упоминавшейся в предыдущей статье попытки Райана Джонса побить рекорд Ларри Вильямса в The Robbins 2001 Futures

Trading Contest, , то и в этот раз не получилось... После того, как за три месяца счет увеличился на 600%, с $15,000 до $107,000, он разослал предложение приобрести свою методику, которая реально, что подтверждено стейтментами, делает такие деньги. Помимо этого была еще подписка за $299 в месяц, уведомляющая о совершаемых в этом шоу трейдах. В итоге его капитал получил дроудаун 95%. Что и требовалось доказать.

Метод Ларри Вильямса. При установлении рекорда Ларри Вильямс использовал формулу Келли, в качестве начального риска

используя величину маржи на фьючерсный контракт. Динамика капитала была тоже поучительная: сначала капитал вырос с $10,000

до $2,100,000, затем опустился до $700,000 (дроудаун 67%), и завершил год на отметке $1,100,000. Кстати, в то время Ральф Винс работал у него программистом. Сейчас Ларри Вильямс рекомендует следующий вариант метода фиксированной доли капитала:

Число лотов = % риска * Капитал / (- Максимальный_проигрыш) / 100.

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

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

капитал, но более агрессивно рисковать полученной прибылью:

Число лотов = (%рисканач_капитал * (Начальный_капитал + MinList( Прибыль, 0)) + %рискаприбыль * MaxList( Прибыль, 0)) /

начальный_риск_ на_единицу_актива / 100.

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

Эффективный_риск = MarketPosition * (Цена_входа - Текущий_уровень_выхода) *

Число_лотов * Стоимость_пункта,

где MarketPosition равна 1 для длинных позиций, -1 для коротких, 0 без позиций. До тех пор, пока сделка не имеет нереализованной (бумажной) прибыли, эффективный риск положителен. Сделка, защищенная стоп-приказом на уровне безубыточности (breakeven),

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

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

Дополнительное_число_лотов = %Риска_гарантированной_прибыли * (- MinList( Эффективный_риск, 0)) / начальный_риск_на_единицу_актива / 100

Здесь MinList( ) означает наименьшее из списка. Ясно, что не имеет смысла брать %Риска_гарантированной_прибыли больший, чем

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

Покажем, как это работает, на примере модельной системы. Если мы будем реинвестировать гарантированную прибыль с тем же

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

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

Избыточный_риск = число_лотов * Текущий_риск_ на_единицу_актива - Мах%риска * Капитал / 100

Избыточная_волатильность = число_лотов * Текущая_волатильность_актива -

Мах%волатильности * Капитал / 100.

Как только какая-то из этих величин становится положительной, мы уменьшаем размер позиции на величину

Избыточное_число_лотов = Избыточный_риск / Цена_лота

или, соответственно, на величину

Избыточное_число_лотов = Избыточная_волатильность / Цена_лота.

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

Подобные методы, в случае использования одной стратегии, примененной к одному активу, нетрудно реализовать на платформе TradeStation, как показано в Приложении 1. Однако в реальности, как правило, торгуются различные стратегии, примененные к портфелю активов, часто на разных временных интервалах, но с общим для портфеля капиталом. Как организовать money management на портфельном уровне практически, обсудим в следующий раз.

Приложение 1.

The Simplest System #3 with Money Management.

Copyright (c) 2002 DT

Input: Price((H+L)*.5),

PtUp(4.), PtDn(4.), {Max correction to change trend}

MM_Model(2), {1 = % Risk Model; 2 = % Volatility Model;

3 = Drawdown Model; 4 = Kelly Model; 5 = Williams' Model;

6 = Fixed Ratio Model; 7= Market Money Model}

MM(1), {% Risk parameter}

MM_add(0), {% Risk for playing market money; 0 to disactivate}

MaxVolat(100), {% Risk for playing market money; 100 to disactivate} MaxDD(20), {% Drawdown}

InitCapital(100000); {Initial capital to trade}

Vars: LL(99999), HH(0), Trend(0), Volat(TrueRange);

Vars: MP(0), Risk(Range), Num(1), add_num(0), red_num(0), FRDelta(0), DD(0),

Equity(InitCapital), TotalEquity(InitCapital), EqTop(InitCapital),

AssuredProfit(O), HPositionProfit(O), Kelly(0);

MP = MarketPosition;

Volat = .5 * TrueRange + .5*Volat[1];

if MP <= O then begin

if Price < LL then LL = Price;

if Price cross above LL*(1 + PtUp*.01) then begin

Trend = 1;

HH = Price;

end;

end;

if MP >= 0 then begin

if Price > HH then HH = Price;

if Price cross below HH*(1 - PtDn*.01) then begin

Trend = -1;

LL = Price;

end;

end;

If trend = 1 then Risk = PtDn * .01 * close {+ Slippage};

If trend = -1 then Risk = PtUp * .01 * close {+ Slippage};

HPositionProfit = maxlist( OpenPositionProfit, HPositionProfit);

AssuredProfit = HPositionProfit - Risk;

Equity = InitCapital + NetProfit;

TotalEquity = Equity + OpenPositionProfit;

EqTop = MaxList(EqTop, TotalEquity); if MM_Model = 1 then { % Risk Model }

Num = floor(MM * Equity *.01/Risk); if MM_Model = 2 then { % Volatility Model }

Num = floor(MM * Equity *.01/ Volat / BigPointValue ); if MM_Model = 3 then begin { Drawdown Model }

Num = floor(MM * (Equity - (1 - MaxDD*.01) * EqTop) * .01 / Volat / BigPointValue); end;

if MM_Model = 4 then begin { Kelly Model }

If TotalTrades > 20 and GrossProfit > 0 then

Kelly = NumWinTrades/TotalTrades * (1 - GrossLoss/GrossProfit)

else

Kelly = 0.1;

if Kelly > .9 then Kelly = .9;

Num = floor(MM * Kelly * Equity * .01 / Risk);

{Print(Kelly);}

end;

if MM_Model = 5 then begin { Larry Williams' Model }

value11 = MaxList(-LargestLosTrade / MaxList(CurrentContracts, 1) , Risk);

Num = floor(MM * Equity *.01 / value11); end;

if MM_Model = 6 then begin { Fixed Ratio Model }

{ DD = MaxList(DD, (EqTop - TotalEquity)/MaxList(CurrentContracts, 1)) ; {Max Drawdown} if TotalTrades > 20 and DD > 0 then FRDelta = MM * DD *.01 else }

FRDelta = MM * volat * BigPointValue * .01; {Delta}

value12 = MaxList(Equity - .5*close*(close + FRDelta)/FRDelta, 0.25);

Num = floor(SquareRoot(2*value12/FRDelta + .25) + .5); end;

if MM_Model = 7 then { Playing the market money }

num = floor((MM * (InitCapital + MinList(NetProfit, 0)) + MM_add * MaxList(NetProfit, 0)) * .01 / Volat / BigPointValue); { Entries}

if trend = 1 and trend[1] <> 1 then buy("Trend.LE") num contracts at market; if trend = -1 and trend[1] <> -1 then sell("Trend.SE") num contracts at market;

add_num = floor( MM_add * AssuredProfit * .01/ Volat / BigPointValue); { Assured Profit Pyramiding }

if add_num > 0 and OpenPositionProfit > Volat * BigPointValue then begin

if Trend = 1 and MP = 1 then buy("Add.LE") add_num contracts at market;

if Trend = -1 and MP = -1 then sell("Add.SE") add_num contracts at market;

end;

red_num = floor((CurrentContracts * Volat * BigPointValue - MaxVolat * TotalEquity * .01)/ close); if red_num > 0 then begin

if Trend = 1 and MP = 1 then exitlong("Red.LX") red_num contracts at market;

if Trend = -1 and MP = -1 then exitshort("Red.SX") red_num contracts at market; end;

if Num < 1 then Num = 1;

Приложение 2. Вычисление оптимального f в Excel.

Допишем к коду системы, оперирующей с одним лотом, следующие строки:

Excel output for optimal f computation Copyright © 2002 DT

Var: Trades(0), Str("");

Trades = totaltrades;

if currentbar = 1 then begin

FileDelete("D:\TS_Export\M-Trading3_OptF.csv");

Str = "Initial Equity" + "," + "Max Loss" + "," + "f" + "," + "Trades" + "," + "Geom Mean" + NewLine + NewLine + "Profit" + "," + "HPR" + "," + "TWR" + "," + "Equity" + "," + "Num" + NewLine;

FileAppend("D:\TS_Export\M-Trading3_OptF.csv", Str); end;

if trades <> trades[1] then

FileAppend("D:\TS_Export\M-Trading3_OptF.csv", NumToStr(PositionProfit(1),3) + newline);

и запустим систему. Введем в ячейку A3 значение начального капитала, в ячейку B3 формулу =МИН(A4:AХ), где АХ обозначает последнюю непустую ячейку в столбце А. В ячейку В4 введем формулу =1- C$2*A4/B$2 и продолжим до строки Х. В ячейку C2 введем любое число от 0 до 1, С4 = В4, С5 = С4*В5, D4 =A$2*C4, D2 = СЧЁТЕСЛИ(A4:AX,"<>0"), E2 = СТЕПЕНЬ(CX,1/D$2), E4 = ЦЕЛОЕ(D4/(B$2/-C$2)). Продолжим формулы в ячейках С4:Е4 до последней непустой строки Х. В столбце E получим число лотов при заданном в ячейке С2 значении f. Для вычисления оптимального f воспользуемся меню Сервис Поиск решения установить целевую ячейку: $C$Y (где Y - номер строки, соответствующей сделке, предшествующей той, для которой мы ищем оптимальное f); Изменяя ячейки: $C$2; Ограничения: $C$2 > = 0; $C$2 <= 1 Выполнить.

Встроенный в Excel оптимизатор найдет значение оптимального f, максимизирующего функцию TWR.

Приложение 3. Вывод формулы метода фиксированного отношения.

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

En + n * D = Er

где En - текущий капитал, n - текущее число лотов, D - параметр Delta. Тогда, по рекурсии,

En = En-1+ (n - 1) * D = En-2 + (n - 2) * D + (n - 1) * D = ...

= Ei + (1 + 2 + ... + (n - 1)) * D,

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

En = Ei + 0.5 * n * (n - 1) * D.

Полученное тождество есть квадратное уравнение относительно n:

пл2 - n - 2 * (En - E1 ) / D = 0.

Из курса анализа средней школы известно, что это уравнение имеет два корня:

n1 = 0.5 + (2 * (En - E1 ) / D + 0.25)Л(0.5)

и

n2 = 0.5 - (2 * (En - E1 ) / D + 0.25)Л(0.5), причем n2 <= 0. С учетом того, что En - E1 есть прибыль, мы получаем:

Число лотов = 0.5 + (2 * Прибыль / Delta + 0.25)Л(0.5).

Данная формула начинает торговлю с одного лота. Если начальный капитал позволяет сразу торговать большим количеством, то надо найти En - E1 с учетом начального капитала. Ясно, что En = Начальный капитал + прибыль. На одну Delta можно купить k = Цена / Delta акций. Соответствующий капитал Ek приравняем k * Цена = ЦенаЛ2 / Delta. Тогда

E1 = Ek - 0.5 * k * (k - 1) * D = 0.5 * Цена * (Цена + D) / D,

и искомая формула примет вид

Число лотов = 0.5 + (2 * (Начальный капитал + прибыль - 0.5 * Цена * (Цена + Delta) / Delta) / Delta + 0.25)Л(0.5).





    Биржевая торговля: Управление капиталом - Портфель - Риск - Страхование