Каким может быть график Equity

Тестирование любой торговой системы даёт три блока данных, характеризующих её работу:

  1. График капитала (equity);
  2. Набор совершённых сделок;
  3. Метрики, дающие представление о производительности системы.

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

В качестве примера я использую торговую систему и данные из предыдущей заметки. Запустив систему в Wealth-Lab Developer, получим такой набор метрик:

Есть две метрики, позволяющие оценить ожидаемую отдачу от системы — процент выигрышных сделок (Winning %) и фактор прибыльности (Profit Factor).

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

Фактор прибыльности (Profit Factor) представляет собой интегральную метрику, значение которой равно количеству условных денежных единиц, заработанных системой, приходящихся на одну условную денежную единицу, потерянную системой. Наша тестовая система имеет Profit Factor равным 2.02 — то есть на каждый потерянный рубль она зарабатывает два рубля и две копейки. Фактор прибыльности в сочетании с процентом выигрышных сделок дают существенно более определённую картину.

Зная, в скольких сделках из сотни система была прибыльной, мы можем вычислить вероятность того, что следующая сделка будет в плюс — для этого достаточно разделить Winning % на 100. Зная эту вероятность и используя генератор случайных чисел, мы можем смоделировать последовательность сделок, процент выигрышей в которой будет равен метрике Winning %. Зная величину Profit Factor, мы можем смоделировать изменение величины торгового счёта, прибавляя к начальному капиталу значение Profit Factor в случае выигрыша и вычитая единицу в случае проигрыша. Всё это вместе даёт нам возможность создать в Excel генератор графиков Equity, которые может иметь система с заданным процентом выигрышных сделок и фактором прибыльности.

Делается это очень просто. Сначала зададим значения процента прибыльных сделок и фактора прибыльности на листе Excel (я использовал значения метрик тестовой системы):

Затем используем в первой ячейке четвёртого столбца функцию RAND(), которая возвращает случайное число в диапазоне от нуля до единицы:

После этого, используя Copy-Paste, заполним функцией RAND() столько ячеек в четвёртом столбце, сколько точек на генерируемом графике Equity мы хотим получить. Я заполнил двести ячеек:

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

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

В том случае, если случайное число в четвёртом столбце какой-либо строки меньше или равно значению вероятности выигрыша (то есть Winning % / 100), считаем сделку, описанную в этой строке, прибыльной, то есть приносящей Profit Factor денежных единиц (R3C2). В противном случае, сделка отнимает одну денежную единицу от счёта. Эту формулу скопируем во все строки пятого столбца, в которых в четвёртом столбце имеется случайное число (200 строк в моём примере):

Зная величины изменений моделируемого счёта после каждой сделки, не составляет труда получить значения графика equity в шестом столбце, последовательно суммируя значения пятого столбца. Первая ячейка в шестом столбце будет равна первой ячейке пятого столбца:

Все последующие ячейки буду равны сумме предыдущего значения equity и результата очередной сделки:

Теперь мы можем отобразить содержимое шестого столбца в виде графика, который и будет представлять собой возможный график equity системы, имеющей заданные параметры (Winning % и Profit Factor):

Для генерации нового графика equity нужно запустить пересчёт содержимого листа Excel (чтобы обновить столбец со случайными числами). Пересчёт можно запустить, дважды кликнув на любую ячейку четвёртого столбца и нажав клавишу Enter.

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

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

Или даже так:

В третьих, использование генератора позволяет понять, к каким минимальным показателям производительности системы стоит стремиться. Например, если ваша система имеет приемлемую долю успешных сделок (скажем, 55%), но небольшой фактор прибыльности (1.5), то несколько запусков генератора могут убедить в том, что над Profit Factor необходимо работать.

Назад   На оглавление   Вперед

Написать администратору