Блог им. Empirix
Определение объема сделки в трейдинге — задача не из легких. Существует ряд подходов к вычислению доли капитала под риском:
В нашей алгоритмической практике предпочитаем фиксированную фракцию. В этой статье показан подход для вычисления оптимальной фракции (доли) капитала под риском с помощью метода Монте-Карло.
Полезные материалы, которые хорошо бы изучить перед продолжением:
Метод Монте-Карло (МК) — вероятностный метод вычисления различных событий, где финальный результат в большей степени непредсказуем. Если еще проще, данный метод помогает получить вероятностный исход любого события.—
Если брать трейдинг и инвестиции, то данный подход может подсказать лучший или худший сценарий для определенной стратегии или портфеля. Именно это мы и будем делать в данной статье. Но обо всем по порядку.
Подойти к использованию МК можно творчески. Разберем несколько вариаций.
Допустим, есть у нас какая-то результативность стратегии на бэктесте. Что можем попробовать с ней сделать? Можно, например, начать менять значения месячной доходности местами в случайном порядке. По итогу финальная доходность у нас будет примерно одна и та же, а вот просадка может меняться. Сделав такую симуляцию раз 100, мы получим много полезных данных.
Черная кривая — кривая доходности стратегии на бэктесте. Остальные кривые — те самые симуляции с заменой месячной доходности.
Подробнее о исторических тестах — в статье Тестирование торговых стратегий на исторических данных (бэктест) — почему это так важно?
Аналогично можно поработать и с отдельными сделками. Меняя их местами в случайном порядке, мы проводим дополнительный краш-тест стратегии.
Черная кривая — кривая доходности стратегии на бэктесте, остальные кривые — симуляции с заменой.
Есть еще несколько других симуляций, но на них не будем сейчас останавливаться. Перейдем к тому методу Монте-Карло, который используем мы. И сперва начнем с исследования риск-модели.
Шпаргалка по методу Монте-Карло — в нашем Telegram >
Прежде чем приступить к обсуждению логики вычисления оптимальной фракции (риск на сделку) нужно ввести 2 условия.
Первое — это обязательное использование стоп-лосса. Без стоп-лосса всякие вычисления становятся бессмысленными.
Стоп-лосс — это самый важный фактор, который лежит в основе всей логики, которую мы станем описывать ниже. Когда срабатывает стоп-лосс, наш счет сокращается на некую величину. Эта величина может быть суммой в валюте счета, которую мы можем себе позволить потерять. Также это может быть величина, соответствующая оптимальной фракции, вычислениями которой мы сейчас займемся.
Второе условие.
В экспериментах ниже мы допускаем, что фракция капитала остается одинаковой вне зависимости от размера счета.
Одна стандартная фракция — это хороший подход. Ведь тогда вам все равно, каким капиталом вы управляете. Это может быть несколько сот долларов или несколько миллионов. Логика всегда одна.—
Ок, переходим к факторам.
Чтобы успешно вычислить оптимальную фракцию, нам понадобится достаточное количество исторических сделок. Очевидно, что 20-ти сделок будет недостаточно, потому что они не всегда будут раскрывать статистическое преимущество вашей стратегии.
Тогда сколько достаточно? Оставим это на ваше усмотрение. В классических книгах Роберта Пардо можно встретить значение 30 сделок и более. С моей точки зрения, эта величина зависит от средней продолжительности сделки. Например, если средняя сделка работает 2.5 дня, может быть, надо увеличить этот порог до 100 сделок?
В симуляциях ниже будем всегда использовать 250 сделок.
Точность вашей стратегии играет одну из главных ролей. В действительности лучшие трейдеры из лучших редко совершают более 50% прибыльных сделок. Получить 70% прибыльных сделок и выше — уже нереалистично (в долгосрочной перспективе). Впрочем, такой показатель можно почти всегда найти на бэктесте, но к нему всегда будет компенсирующий момент. Это наш следующий фактор.
В нашей алготорговле показатель “доля прибыльных сделок” редко доходит до 40-45%. Это значит, что примерно одна сделка из трех закрывается с прибылью.—
Этот фактор переигрывает низкое значение предыдущего фактора — доли прибыльных сделок. Ведь даже если у вас только 1 сделка из 3 закрывается с прибылью, на длинной дистанции все равно можно хорошо себя чувствовать. Дело в высокой средней прибыли от одной сделки. Если ваша средняя прибыльная сделка в 2.5-3 раза крупнее среднего убытка, то все в порядке.
Для успешного вычисления оптимальной фракции нужно сначала определиться — какой уровень потери стартового капитала выводит нас из трейдинга. Например, у нас на счете 10000 USD. Мы говорим: “ОК, выходим из игры, когда капитал снизится до 8000 USD”. То есть наш уровень полной потери — это 20%.
Изменение фракции капитала под риском, как покажут вычисления, напрямую влияет на риск полной потери. Чем выше фракция, тем выше вероятность получить полную потерю капитала или то, что мы считаем полной потерей (20%, как выше).
Теперь объединим все факторы выше и проведем несколько симуляций. С их помощью мы научимся вычислять оптимальную фракцию. Зададим полную потерю на уровне 20%. Это означает, что после просадки в 20% мы выходим из игры.
Количество симуляций по всем экспериментам будет одинаковым: 10000. Этого более чем достаточно, чтобы получить адекватную картину наших шансов зарабатывать на дистанции.
Что касается фракции, то начинать будем с 1% капитала под риском. Это означает, что, когда срабатывает стоп-лосс (условие №1), наш счет сокращается на 1%.
Давайте допустим, что вы начинающий трейдер, который любит рано закрывать прибыльные сделки, а убыточным дает поработать в надежде на разворот. Такой подход очевидно плох, но для примера подходит отлично. По вашим подсчетам вы делаете 250 сделок в год, и теперь вам надо вычислить оптимальную фракцию.
В таком случае настройки эксперимента следующие:
Высокая доля прибыльных и маленькая средняя прибыльная — это реалистичные параметры для нашего примера. Нельзя рассчитывать на высокую долю прибыльных сделок и одновременно, чтобы они были крупнее среднего убытка. Это просто нереалистично, как бы вы ни старались.
С таким подходом наши шансы полной потери около 90%.
10000 симуляций показали, что средняя максимальная просадка (MDD — maximum drawdown) выше 25%, это означает полную потерю, отсюда такая высокая вероятность ее наступления. Что касается роста капитала, то с данными настройками таких надежд нет. Распределение финансовых результатов показывает, что наш капитал снизится до уровня примерно 7400 USD (если начинать с 10000 USD).
Теперь попробуем сократить фракцию до 0.1% в надежде исправить ситуацию.
Теперь мы не получили полной потери, но роста капитала тоже нет. Проблема зашита в настройках: слишком мала средняя прибыльная сделка и слишком велика средняя убыточная.
Теперь попробуем сделать среднюю прибыльную лишь в 5 раз меньше средней убыточной (и вернем фракцию на 1%). Посмотрим, что получится.
Весьма низок риск полной потери, но роста капитала тоже не наблюдается.
Получается, нам нужно поменять подход к торговле и пересмотреть ключевые показатели: долю прибыльных (точность стратегии) и величины средних прибыльных и убыточных сделок.
Представим более опытного трейдера, который делает примерно 50% прибыльных сделок. Его средняя прибыльная сделка немного превышает среднюю убыточную.
Судя по прошлым бэктестам, такой результат реалистичен, но достичь его трудно. На мой взгляд, результативность такого подхода граничит со случайностью. Похоже, что при таком подходе не используется статистическое преимущество, например, тренды или волатильность.
Таким образом, настроим следующий эксперимент:
Начиная с фракции 1%, мы видим, что вероятность полной потери (20%) весьма низка. Зато встает вопрос, за счет чего будет расти капитал. Видим, что средняя максимальная просадка 14.6% и что можно ожидать рост на 13%. Почти 1 к 1.
Теперь попробуем снизить фракцию до 0.25% и посмотрим, что получится. Вероятность полной потери, скорее всего, упадет, но что станет с прибылями и просадками?
Опять видим, что после уменьшения фракции мы по-прежнему недалеки от случайного результата.
Нам снова нужно сделать несколько важных изменений в торговом подходе: в идеале это увеличить среднюю прибыльную сделку даже за счет снижения их количества в общей массе.
Если вы трендоследящий трейдер, вы постоянно пытаетесь ухватиться за тренд. Это происходит за счет большого количества убыточных сделок. Но как только мы входим в тренд, доход может быть огромен. Подробнее — в статье "Тренд — лучшее, что вы можете использовать в своей торговле. Исследования тренд-аномалий за 136 лет".
Ок, смоделируем подобную ситуацию. Представим, что у нас мало прибыльных сделок, но зато высокое отношение средней прибыльной к средней убыточной.
Даже со стартовой фракцией в 1% результат намного лучше прежних.Ок,
Вероятность потерять 20% капитала остается довольно высокой, но взглянем на среднюю максимальную просадку в 15.2% и вероятный доход в конце — средний финансовый результат 1.754, то есть чистый профит 75.4%.
Очень неплохо. Нужно сделать еще несколько манипуляций, чтобы снизить вероятность полной потери, и всё, мы молодцы.
Сперва сократим фракцию до 0.66%.
Выглядит многообещающе. Риск полной потери почти у нуля, а чистый доход всё ещё довольно высок — 44.5% со средней максимальной просадкой в 9.6%.
Теперь снизим фракцию до 0.5%.
Почти! Риск полной потери 0.2%. Всего две симуляции из 10000 выдали максимальную просадку выше 20%.
Что касается доходной части, то мы получаем солидный средний доход в 32.6%. Справедливости ради отметим, что есть немалое число симуляций, которые в конце привели к убытку. Даже при таких хороших исходных данных эксперимента или исторической торговли убыток в реальном времени возможен.
Теперь запустим последнюю симуляцию с фракцией 0.45% в надежде, что с ней риск полной потери будет нулевым.
Ура, мы достигли поставленной цели!
Если наша цель — нулевой риск полной потери при сохранении адекватных значений средней максимальной просадки и средней чистой прибыли, то в условиях этого эксперимента нужно задать фракцию 0.45%. Это значит, что всякий раз, когда сделка закрывается с убытком, наш капитал сокращается в среднем на 0.45%. Когда сделка закрывается с прибылью, наш капитал увеличивается на 0.45% * 2.5 = 1.125% в среднем.
Судя по результатам эксперимента, в реальном времени можно ожидать просадку в 7.1% в среднем, а доход — в 29% в среднем.
Есть много подходов к нахождению оптимальной фракции капитала под риском. Ваш ответ должен зависеть от целей, которые вы перед собой ставите.
Целью нашего эксперимента было достичь нулевого риска полной потери с сохранением шансов получить адекватную прибыль при низкой просадке.—
Благодаря вычислительным возможностям, доступным сегодня каждому, мы можем легко провести тысячи симуляций и прийти к нужной фракции, замеряя максимальную просадку и чистую прибыль.
Чтобы глубже разобраться в теме рисков и математики для вычисления позиций, обратитесь к книгам таких авторов, как: Райан Джонс, Ральф Винс, Кеннет Грант.
тока не понял, что за Система игры ? главное, как всегда, осталося тайной мадридского двора…
все остальное — энто увеличиваем, а энто уменьшаем или наоборот энто уменьшает, а то увеличиваем — есть обыкновенная подгонка резов…
Плохие системы надо просто сразу исключать.
И вообще, идти надо не от сделки, а от качества эквити портфеля активов (систем).
1. Монте-Карло надо делать на приращениях эквити стратегии за время, как минимум в 2 раза чаще, чем среднее время сделки.
2. Если мы хотим оценить риск стратегии, то кроме п. 1, мы ещё и должны перед применением Монте-Карло убрать из приращений стратегии из п. 1 и положительное выборочное среднее.