Чтобы ответить на этот вопрос, Zorro дополнительно анализирует стратегию с помощью метода Монте-Карло. По сравнению с обычным моделированием, метод Монте-Карло дает более точные и менее случайные результаты.
В анализе Монте-Карло кривая доходности, полученная в результате моделирования, разбивается на множество отдельных сегментов, которые меняются местами в случайном порядке. Это создает множество новых кривых эквити, каждая из которых представляет собой различную последовательность сделок и различное движение цен в рамках сделок. Затем кривые оцениваются и сортируются по их годовой доходности, как описано выше. Наконец, каждой кривой присваивается уровень доверия, который показывает, какой процент всех кривых дает такой же или лучший доход.
Без анализа Монте-Карло годовая доходность была бы рассчитана только на основе единственной кривой.
Предположим, что этот показатель равен 100%. Теперь анализ Монте-Карло рассчитывает доходность сотен или тысяч различных кривых и выдает доверительный интервал для каждого из результатов. В нашем примере доходность в 100% может соответствовать интервалу в 60%. Это означает, что 60% всех проанализированных кривых обеспечили годовую доходность в размере 100% и более. Это также означает, что в 40% всех случаев доходность была хуже.
Анализ Монте-Карло особенно полезен при оценке риска и требований к капиталу стратегии. Максимальная просадка в симуляции обычно используется в качестве меры риска. Однако это означает, что наш расчет риска основан на исторической кривой цен, которая никогда больше не повторится в точности. Даже если рыночные условия и статистическое распределение сделок в симуляции будут такими же, как и в реальной торговле, порядок исходов во многом зависит от случайности. Поэтому расчет риска на основе определенной последовательности является более или менее произвольным: при серии из нескольких убытков подряд вы можете получить очень большую просадку; если сделки происходят в другом порядке, так что убытки распределяются более равномерно, максимальная просадка будет гораздо меньше. Эта случайность при расчете риска может быть устранена с помощью анализа Монте-Карло путем рассмотрения множества различных кривых капитала и, следовательно, множества различных последовательностей сделок.
Вот распределение доходов от стратегии следования за трендом Алисы в отчете о результатах:
Confidence level AR DDMax Capital
10% 76% 94$ 97$
20% 71% 103$ 103$
30% 67% 113$ 110$
40% 62% 126$ 120$
50% 56% 143$ 132$
60% 53% 152$ 138$
70% 50% 165$ 147$
80% 46% 183$ 160$
90% 40% 216$ 184$
95% 37% 241$ 201$
100% 28% 325$ 261$
Таким образом, в 10% всех случаев мы действительно достигаем доходности 76% или выше, в то время как в 95% всех случаев минимальная доходность составляет 37%. Поэтому годовой доход в 70%, полученный в результате моделирования, приведенного выше, является оптимистичным: он будет достигнут только в 20% всех случаев. Поэтому в окне Zorro также приводится медианный AR, который соответствует минимальной доходности в 50% всех случаев (здесь 56%). Некоторые трейдеры хотят играть безопасно и доверять только результатам в 95% интервале, т.е. ожидать только 37% доходности. Каждый доверительный интервал также соответствует разной максимальной просадке (DDMax) и разному требованию к капиталу (Capital). Чем больше интервал, тем ниже ожидаемая доходность и тем больший капитал требуется для торговли. В Zorro желаемый интервал можно задать с помощью переменной (Confidence, см. руководство Zorro).
Однако: Даже результаты анализа Монте-Карло в 95% доверительном интервале ни в коем случае не гарантированы в реальной торговле! Если условия рынка существенно изменились или результаты моделирования были искажены неблагоприятными методами испытаний, то в результате может получиться нечто совершенно иное. Как минимизировать такие неприятные сюрпризы — одна из тем следующей главы.
► Сценарий стратегии содержит функцию run, которая выполняется один раз за бар.
► Серия — это переменная с прошлым.
► Фильтр низких частот удаляет шум из ценовой кривой, не задерживая сигнал надолго. Он превосходит традиционную скользящую среднюю.
► Функции долина и пик могут подавать сигналы на покупку и продажу, когда кривая цены меняет тренд.
► Стоп-лосс снижает риск одной сделки.
► Флаг LOGFILE позволяет детально изучить поведение торговых операций. Функция plotTradeProfile выводит распределение прибыли.
► Ключевое слово #include позволяет включать другие скрипты.
► Распознавание убыточных ситуаций на рынке важно для любой стратегии. Индекс рыночной слабости подавляет торговлю в таких ситуациях и может значительно повысить прибыль в системах следования за трендом.
► Отчет о результатах содержит все ключевые показатели прибыльности стратегии.
► Метод Монте-Карло устраняет случайность из результатов моделирования.