Практически все программы для разработки и тестирования механических торговых систем автоматически предоставляют отчет о показателях созданной вами стратегии, позволяющий оценить ее предполагаемую рентабельность. Однако иногда возникает потребность рассчитать параметры доходности самостоятельно. Например, когда торговля ведется вручную, либо стоит задача рассчитать совокупную эффективность по портфелю систем – обращение к таким программам, как Tradestation, Wealth-lab и подобным в данном случае является не самым оптимальным решением. С другой стороны, считать параметры на калькуляторе также не видится рациональным способом решения задачи.
При данном раскладе весьма полезной может оказаться старая программа из имеющегося у каждого пакета Microsoft Office – Excel. Функционал программы позволяет легким образом получать необходимые данные. Предлагаю один из способов создания отчета об эффективности торговой системы на описанном ниже примере.
Имеется серия из 22 сделок.
Рассчитаем следующие параметры: Чистая прибыль, Профит фактор, Фактор восстановления, % выигрышных сделок, Максимальная просадка, Payoff Ratio (отношение средней прибыльной сделки к средней убыточной).
Чистая прибыль – самый простой показатель, рассчитывается как сумма всех сделок. Чтобы получить его достаточно в строке формул записать =СУММ(B:B) – у меня сделки записаны в столбце В.
Профит Фактор – рассчитывается как модуль частного совокупной прибыли и совокупного убытка. Для получения значения этого параметра можно воспользоваться функцией СУММЕСЛИ, складывающей ячейки в зависимости от введенного условия. В данном случае нам необходимо отдельно сложить все числа больше ноля и отдельно все отрицательные сделки. Итоговая формула будет выглядеть следующим образом:
=(СУММЕСЛИ(B:B;"> 0"))/(СУММЕСЛИ(B:B;"< 0"))*(-1)
В первых скобках рассчитывается совокупная прибыль, делится на совокупный убыток и умножается на минус единицу (т.к. простое деление дает отрицательное значение).
Процент выигрышных сделок – соотношение количества сделок с положительным значением к их общему количеству. Для расчета нужно сначала вычислить сколько всего сделок было совершено. Для этого подходит формулаСЧЁТ, рассчитывающая количество непустых ячеек в столбце. У меня это будетСЧЁТ(В: В). Далее необходимо посчитать, сколько в этом же столбце ячеек со значением больше ноля. Сделать это проще всего при помощи схожей формулыСЧЁТЕСЛИ, суммирующей количество ячеек по условию. После чего найти частное двух значений. Итоговая формула:
=(СЧЁТЕСЛИ(B:B;">0")/(СЧЁТЗ(B:B)))
Payoff Ratio – соотношение средней прибыльной сделки к средней убыточной. Формула, вычисляющая этот показатель будет немного длинной, но также записывается одной строкой. Для удобства можно разбить процесс на несколько этапов:
Посчитать сумму всех положительных сделок
=СУММЕСЛИ(B:B;">0").
Посчитать количество выигрышных сделок
=СЧЁТЕСЛИ(B:B;">0")
Разделить полученную сумму на количество
=(СУММЕСЛИ(B:B;">0"))/(СЧЁТЕСЛИ(B:B;">0"))
Посчитать сумму убыточных сделок
=СУММЕСЛИ(B:B;"<0").
Посчитать количество убыточных сделок
=СЧЁТЕСЛИ(B:B;"<0")
Разделить сумму убытка на кол-во убыточных сделок
=(СУММЕСЛИ(B:B;"<0"))/(СЧЁТЕСЛИ(B:B;"<0"))
Разделить значение из п. 3 на значение из п. 6.
Окончательная формула:
=((СУММЕСЛИ(B:B;">0"))/(СЧЁТЕСЛИ(B:B;">0")))/((СУММЕСЛИ(B:B;"<0"))/(СЧЁТЕСЛИ(B:B;"<0")))*(-1)
Максимальная просадка – расчет максимального считается как наибольшая разность между последующими пиками и минимумами эквити. Для вычисления просадки удобнее всего сначала построить столбец изменения капитала, начиная со значения 0. Следующая ячейка столбца должна выглядеть как =C2+B3, где С2 – предыдущее значение столбца, B3 – значение текущей сделки. Далее формулу можно протянуть до конца ряда, программа сама заполнит необходимые значения. Для наглядности можно построить график эквити.
Теперь необходимо рассчитать все просадки. Чтобы не создавать тяжелую формулу, можно добавить отдельный столбец, считающий просадки. Просадка рассчитывается как наименьшая из величин разностей между текущим значением эквити и всеми предыдущими ее значениями.
Формула:
=МИН(C4-МАКС($C$2:$C3);0)
Формулу можно аналогичным образом протянуть на весь необходимый диапазон
Стоит обратить внимание, что это величина отрицательная, для удобства ее можно обратить, умножив на (-1). Максимальная просадка будет рассчитываться как наибольшее из значений в столбце просадок.
Формула нахождения максимальной просадки:
=МИН(D:D)*(-1)
Фактор Восстановления – рассчитывается как частное чистой прибыли на максимальную просадку.
Файл в Excel, рассчитывающий все вышеописанные параметры можно скачать по ссылке. Достаточно подставить свои значения в соответствующие столбцы, программа сама рассчитает параметры вашей торговой системы.
iMAG, внимание к деталям никогда не лишнее. Вот есть 2 системы, и обе приносят в среднем 50% годовых, например. Только одна переносит просадку в 40%, а другая всего в 5%. Или одна находится в рынке 80% времени, а вторая только 2%. А если мерить только по доходности, то разницы не видно.