English 中文 Español Deutsch 日本語 Português
preview
Управление капиталом в трейдинге

Управление капиталом в трейдинге

MetaTrader 5Трейдинг | 3 мая 2023, 13:20
1 447 4
Aleksej Poljakov
Aleksej Poljakov

Введение

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

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


Торговая стратегия и управление капиталом

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

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

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

Введём следующие переменные:

  • p – вероятность выигрышной сделки;
  • SL – разница между ценой открытия и стоп-лоссом позиции в пунктах;
  • TP – разница между ценой открытия и тейк-профитом.

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

А математическое ожидание (в пунктах) для открываемой позиции можно найти по формуле:

Для выигрышной торговой стратегии математическое ожидание должно быть положительным. В этом случае применение какого-либо способа управления капиталом может принести дополнительную прибыль.

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


Линейный рост

Это одна из самых известных и простых моделей роста. Её применение в торговле ещё проще – трейдеру нужно выбрать какой-либо фиксированный объём позиции и использовать его на всем протяжении торговли. Эту модель можно описать с помощью уравнения линейной функции:

Для удобства переведём это уравнение в дискретный вид. Пусть deposit[i] – значение торгового баланса на i-ом шаге. Тогда уравнение линейного роста баланса будет выглядеть так:

Где, L – некоторая константа, которая определяет скорость линейного роста.

Давайте немного преобразуем это уравнение. Пусть, переменная res[i] будет обозначать результаты i-го трейда. Тогда мы получим следующее равенство:

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

В этом случае значение L будет равно среднему арифметическому результатов всех сделок.

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

Давайте введём дополнительное условие – значение L должно стремиться к максимально возможному. Только при выполнении этого условия депозит будет расти с максимальной скоростью. Тогда для оценки L мы будем использовать следующее выражение:

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

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

  • PV – цена одного пункта в валюте депозита;
  • Lot – объем позиции.

Сначала найдём значение L:

Позиция может оказаться выигрышной. Тогда её результат будет Lot*TP*PV. Очевидно, что в этом случае любой трейдер будет заинтересован в увеличении скорости роста депозита, максимальном увеличении параметра L. Это можно выразить так:

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

Теперь мы можем объединить оба этих условия, и вычислить оптимальный объем позиции:

Мы можем сделать модель более универсальной, если добавим в неё риск. Добавим новую переменную:

  • R – параметр, определяющий степень риска.

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

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

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

А вот так изменялся объем позиции. На этом графике показано на сколько шагов был увеличен минимально допустимый объем позиции.

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

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

То есть, мы явно указываем, что объем позиции зависит от двух связанных факторов – возможного проигрыша и потенциального выигрыша. Минимальные потери будут только в том случае, если будет открыта позиция с минимальным лотом. Обозначим минимальный объем позиции переменной lot, добавим возможность управления риском и получим формулу:

Обратите внимание, что чем больше значение переменной R, тем меньше будет риск в торговле. Такой подход немного напоминает фиксировано-фракционный метод, предложенный Районом Джонсом в книге «Биржевая игра. Сделай миллионы, играя числами». Этот способ можно назвать линейный рост с постепенным увеличением скорости. Всё зависит от переменной L. Пока её значение стабильно, торговля ведётся фиксированным лотом. А вот так выглядят графики изменения баланса и объёма позиции при R = 1.



Экспоненциальный рост

В обычной жизни выражение «экспоненциальный рост» чаще всего используется для обозначения очень быстрого увеличения какого-либо параметра. Примером такого роста могут быть сложные проценты. Модель экспоненциального роста в трейдинге можно реализовать с помощью критерия Келли и оптимального f Ральфа Винса. А самой простой реализацией этого роста является торговля фиксированным процентом. Трейдеру нужно только найти оптимальный процент для торговли. Давайте посмотрим, как это можно сделать.

Дискретное уравнение экспоненциального роста можно записать следующим образом:

Из этого уравнения мы можем найти значение параметра роста:

Тогда, изменение торгового баланса можно описать таким уравнением:

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

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

То есть, Res[i] – результат i-ой сделки, если её объем был бы равен 1 лоту.

Теперь нам нужно найти такой объем позиции, чтобы выполнялось условие:

Но, это ещё не всё. Экспоненциальный рост может дать большой выигрыш, но и убыток может быть огромным. Чтобы уменьшить возможный убыток дополним расчёт лота возможными результатами будущей сделки. Тогда, объём будущей позиции можно рассчитать следующим образом. Сначала найдём сумму:

Тогда, оптимальный объем для открываемой позиции будет равен:

Конечно же, эту формулу можно преобразовать. Например, трейдер может проявлять осторожность и предполагать наихудший вариант будущих событий – всегда ожидать проигрыша. Тогда формула для расчёта объёма позиции будет такой:

Интересная особенность. При рассмотрении моделей линейного роста риск мы вводили произвольно, на своё усмотрение. А вот в модели экспоненциального роста риск появляется в результате строгого математического решения. Чем больше значение параметра R, тем меньше риск.

А вот так выглядит кривые баланса и лота при экспоненциальном росте.



Гиперболический рост

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

В общем виде формула гиперболического роста выглядит так:

Где, N – общее количество шагов модели, а n – количество уже пройденных шагов. Чем меньше разница между ними, тем быстрее ускоряется рост. А при равенстве этих параметров мы получим бесконечность.

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

К сожалению, простых способов для вычисления оптимального объёма позиции не существует. Для расчётов нам придётся воспользоваться численными методами.

Вначале присвоим переменной Lot минимальное значение и найдём значение суммы: 

Теперь учтём возможные варианты для открываемой позиции и получим итоговое значение:

Сохраним абсолютное значение D. После этого увеличим переменную Lot на один шаг и повторим вычисления с самого начала. Если новое значение D оказалось меньше предыдущего, то необходимо снова увеличить переменную Lot и повторить вычисления. Если же значение D оказалось больше предыдущего, то вычисления прекращаются. А оптимальный объем позиции будет равен переменной Lot полученной на предыдущем шаге.

Использование модели гиперболического роста связанно с очень высоким риском. Для его снижения можно использовать переменную R - чем она больше, тем ниже риск. Ну, и конечно же можно заранее готовиться к проигрышу. Тогда расчёт значения D нужно производить по формуле:

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

Теперь пришло время удивляться. Посмотрим на график изменения объёма. Мы видим, что после 30 сделки лот становится фиксированным. Нам может показаться, что гиперболический рост сменился линейным.

Для модели гиперболического роста это нормально. Она слишком идеальна для реального мира – торговый баланс не может расти до бесконечности. В данном случае мы можем сказать так: модель решила, что гиперболический рост находится в самом начале, поэтому изменение объёма позиций стало небольшим. А сможем ли мы увидеть восходящую ветвь гиперболического роста — зависит от торговой стратегии и удачи.


Заключение

Итак, мы познакомились с основными математическими моделями роста. Теперь давайте посмотрим, можно ли применять эти модели на практике.

Что нам нужно учитывать обязательно — маржинальные требования. Модель может предложить объём позиции, который будет больше допустимого.

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

Теперь давайте посмотрим на какие результаты мы можем рассчитывать в условиях рынка. Для этого напишем простой советник, который открывает позиции при пересечении простых скользящих средних. Закрытие позиций осуществляется при достижении стоп-лосса или тейк-профита. Управление капиталом MinLot — все позиции открываются с минимальным объёмом. Ниже приведены параметры тестирования этого советника.

  • Символ: EURUSD
  • Таймфрейм: H1
  • Период теста: 2021.01.01 - 2022.12.31
  • Начальный депозит: 10000
  • Всего трейдов: 509
Money Management Risk  Total Net Profit Gross Profit
Gross Loss
Profit Factor
Expected Payoff
MinLot  466.70 2 119.92 -1 653.22 1.28 0.92
Lin1 7 39 593.81
190 376.71
-150 782.90
1.26
77.79
Lin2
1 1 719.91
7 625.00
-5 905.09
1.29
3.38
Exp 3 12 319.19
77 348.22
-65 029.03
1.19
24.20
Hyp 5 24 946.38
100 778.15
-75 831.77
1.33
49.01

И конечно же, обратите внимание, как риск влияет на доходность.

Программы, которые использовались при написании статьи.

Имя Тип Особенности
Money Management скрипт Скрипт моделирует управление капиталом.
  • ProbabilityWin - вероятность выигрыша
  • Trades - количество моделируемых трейдов
  • StartDeposit - начальный депозит
  • SL & TP - стоп-лосс и тейк-профит сделок
  • Risk - значение риска
  • Lin1 ... Hyp - тип управления капиталом
  • ScreenShot - сохраняет график в папке Files
Growth скрипт Показывает разницу между линейным, экспоненциальным и гиперболическим ростом.
 EA Money Management советник Только для тестирования различных способов управления капиталом.
  • MoneyManagement - выбор метода управления капиталом
  • Risk - допустимый риск
  • SL & TP - стоп-лосс и тейк-профит позиций
  • PeriodMA1PeriodMA2 - периоды скользящих средних
Прикрепленные файлы |
Growth.mq5 (2.11 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (4)
Evgeniy Ilin
Evgeniy Ilin | 3 мая 2023 в 14:04
Интересный автор, пролистав по диагонали увидел полезности, признак хорошего материала, да и тема полезная. Можно расширять. Единственное начал читать, первую формулу сразу не понял, потому что по определению теории вероятостей вероятность выйгрыша это m/n (количество исходов принадлежащих данному событию / количество всех исходов) , не понял откуда вы взяли 0.5 в числителе и  1 в знаменателе.
Aleksej Poljakov
Aleksej Poljakov | 3 мая 2023 в 14:24
Evgeniy Ilin #:
Интересный автор, пролистав по диагонали увидел полезности, признак хорошего материала, да и тема полезная. Можно расширять. Единственное начал читать, первую формулу сразу не понял, потому что по определению теории вероятостей вероятность выйгрыша это m/n (количество исходов принадлежащих данному событию / количество всех исходов) , не понял откуда вы взяли 0.5 в числителе и  1 в знаменателе.

мы оцениваем вероятность выигрыша для будущей сделки

если m / n - это вероятность (или частотность) по уже прошедшей реализации, то для будущей сделки мы получим такое: n увеличится на 1 в любом случае, а m - может увеличиться, а может и остаться прежним. Тогда у нас два варианта: m / (n+1) или (m+1) / (n+1) Берем среднее от обоих вариантов и получаем (m+0.5) / (n+1) 

Evgeniy Ilin
Evgeniy Ilin | 3 мая 2023 в 14:36
Aleksej Poljakov #:

мы оцениваем вероятность выигрыша для будущей сделки

если m / n - это вероятность (или частотность) по уже прошедшей реализации, то для будущей сделки мы получим такое: n увеличится на 1 в любом случае, а m - может увеличиться, а может и остаться прежним. Тогда у нас два варианта: m / (n+1) или (m+1) / (n+1) Берем среднее от обоих вариантов и получаем (m+0.5) / (n+1) 

Теперь понятно, но так нельзя делать, вы же понимаете ) это уже ваши фантазии. Для будущей сделки вероятность та же что и для прошедшей реализации. Эта ваша оценка абсолютная отсебятина, не обижайтесь. Посмотрите в моей статье последней, там есть эта тема. Это так... Я Я вовсе не испытываю удовольствие от подобных сообщений, но пришлось. Я мог бы вам более точную формулу дать, и вы бы увидели что она идентична  m / n, с поправкой на "будущее". Читателя то вы обманете но меня нет )

Aleksey Nikolayev
Aleksey Nikolayev | 27 июл. 2023 в 14:38

Берём монету, подбрасываем её 5 раз, получив решку 3 раза, откуда р=3/5=0.6. Потом ещё раз бросаем эту же монету 5 раз и получаем решку 2 раза, откуда р=2/5=0.4

Парадокс? Для одной и той же монеты вероятность разная?

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

Индикаторы на основе класса CCanvas: Заполнение каналов прозрачностью Индикаторы на основе класса CCanvas: Заполнение каналов прозрачностью
В этой статье мы рассмотрим методы создания пользовательских индикаторов, которые отрисовываются с помощью класса CCanvas Стандартной библиотеки, а также рассмотрим свойства графиков для преобразования координат. Особое внимание будет уделено индикаторам, заполняющим область между двумя линиями с помощью прозрачности.
Алгоритм докупки: математическая модель увеличения эффективности Алгоритм докупки: математическая модель увеличения эффективности
В данной статье мы будем использовать алгоритм докупки, как путеводитель в мир более глубокого понимания эффективности торговых систем и начнем работать над общими принципами усиления эффективности торговли с помощью математики и логики а также применим самые нестандартные методы увеличения эффективности в контексте использования абсолютно любой торговой системы.
Биржевая сеточная торговля экспертом со стоповыми отложенными ордерами на Московской бирже (MOEX) Биржевая сеточная торговля экспертом со стоповыми отложенными ордерами на Московской бирже (MOEX)
Использование сеточного торгового подхода на стоповых отложенных ордерах в эксперте на языке торговых стратегий MQL5 для MetaTrader 5 на Московской бирже (MOEX). При торговле на рынке одной из наиболее простых стратегий является сетка из ордеров, предназначенная для «поимки» рыночной цены.
Нейросети — это просто (Часть 39): Go-Explore — иной подход к исследованию Нейросети — это просто (Часть 39): Go-Explore — иной подход к исследованию
Продолжаем тему исследования окружающей среды в моделях обучения с подкреплением. И данной статье мы рассмотрим ещё один алгоритм Go-Explore, который позволяет эффективно исследовать окружающую среду на стадии обучения модели.