Кирилл Конторез
Кирилл Конторез Копипаст
03 декабря 2015, 21:04

Оценка эффективности торговых систем при помощи Excel

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

При данном раскладе весьма полезной может оказаться старая программа из имеющегося у каждого пакета Microsoft Office – Excel. Функционал программы позволяет легким образом получать необходимые данные. Предлагаю один из способов создания отчета об эффективности торговой системы на описанном ниже примере.



Оценка эффективности торговых систем при помощи 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, рассчитывающий все вышеописанные параметры можно скачать по ссылке. Достаточно подставить свои значения в соответствующие столбцы, программа сама рассчитает параметры вашей торговой системы.

Удачи на рынке и в делах! 

Оригинал статьи 
11 Комментариев
  • iMAG
    03 декабря 2015, 21:21
    У торговой системы параметр один — результат ее применения. Все остальные для умных никчемных книжек.
      • iMAG
        03 декабря 2015, 21:35
        Imperium Finance, Можете его измерять в уровне удовлетворенности, если не хочется считать монеты:)
          • iMAG
            03 декабря 2015, 22:24
            Imperium Finance, Именно:) Кому тогда интересны всяческие иные факторы.
              • iMAG
                03 декабря 2015, 22:40
                Imperium Finance, Подобные детали видны невооруженным глазом и без использования мощностей кремниевых нагревателей х86. Но я не против подобных изысканий. В конце концов, главное — чтобы нравилось:)
                  • iMAG
                    03 декабря 2015, 22:44
                    Imperium Finance, Взаимно! Она нам не помешает.
  • Александр
    03 декабря 2015, 23:39
    Спасибо за топик! Как раз возникла необходимость проверки портфеля ТС.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн