Механизм трейдинга. Как построить бизнес на бирже? - Тимофей Мартынов
Шрифт:
Интервал:
Закладка:
Если система переносит позиции через ночь, вам необходимо достоверно протестировать отработку гэпов на открытии торгов103.
Чеклист бэкстестинга:
1. Проверить корректность данных.
2. Учесть задержки.
3. Учесть комиссионные и проскальзывания.
4. Корректно учесть гэпы.
Полезные ссылки:
Полный список программ для тестирования систем: <LINK B164>
Тестирование системы в Метастоке: <LINK B165>
10.3 Критерии оценки
Здесь перед нами встают сразу две проблемы.
Во-первых, вы протестировали торговую систему на данном инструменте и получили положительную теоретическую кривую депозита. Можно ли доверять этим результатам?
Во-вторых, допустим, что вы по очереди тестируете две системы на одном инструменте. И получили два результата – две положительных теоретических кривых вашего депозита. Какой результат лучше, какую из систем запустить в работу?
Цель Механизма диктует нам требования к следующим факторам:
• устойчивость работы системы во времени;
• минимизация риска и издержек;
• максимизации прибыли.
Таким образом, чем лучше соотношение доходность/риск системы и чем более устойчивы результаты во времени, тем больше система отвечает нашей цели.
Проблема 1
Давайте вспомним тезис № 5. Рынок подвержен случайности. И результаты одной отдельно взятой системы, протестированной на истории, также могут оказаться случайными. Наша задача – убедиться в том, что результат все же неслучайный.
Вернемся к формуле и сгенерируем кривую изменения депозита, которая была построена на основании 1000 случайных сделок (средний профит = средний убыток (AP = AL), и вероятность убытка равна вероятности прибыли (PP = LP)[7].
Рис. 80. Это кривая – случайный результат 1000 случайных сделок
Банальная логика эксперимента позволяет нам сделать несколько выводов.
1. Если бы мы сделали всего лишь 250 первых сделок на истории (первая четверть графика), то мы бы подумали, что изобрели гениальный торговый метод. На самом же деле нам просто повезло. Важно не принимать случайность за успех[8].
2. В случае запуска этого «гениального» торгового метода с 251-й сделки он принес бы нам убытки, и нам стало бы очевидно, что он не работает.
3. Если бы наш тест показал сделки в интевале 251–500 или 501–750, то мы бы сразу поняли, что эта торговая система никуда не годится. Тест на основании интервала 751–1000 также привел бы нас в ловушку случайности, и результат показался бы нам хорошим.
Давайте добавим в систему немного положительного математического ожидания и посмотрим, как изменится характер графика. Если мы введем вероятность прибыльной сделки, равную 60 %, то мы увидим невероятно гладкую растущую кривую, которую на реальных торгах получить невероятно сложно.
Рис. 81. Кривая результатов системы с вероятностью прибыльной сделки 60%
Скачать данный эмулятор в файле Excel и самостоятельно поупражняться вы можете на странице «Смартлаба»105. В этом файле две страницы: на первой – 1000 сделок с нулевым матожиданием, на второй – установлено матожидание PP = 0,6. На этом же листе вы можете самостоятельно менять параметры PP, AP, LP.
Продолжаем делать наши логические выводы на основании приведенных примеров:
1. Если система совершает 60 % прибыльных сделок, то она с большой вероятностью будет прибыльна на каждом из интервалов: 1–250, 251–500, 501–750, 751–1000.
2. Чем выше положительное матожидание системы, тем меньше сделок требуется, чтобы устойчиво показывать положительный результат на тесте. Это утверждение справедливо для нашего примера, где тейк-профит = стоп-лосс. Чем реже система будет собирать тейк-профиты и чем чаще стоп-лоссы, тем более неравномерной будет форма кривой даже при наличии большого положительного матожидания. То есть психологически дискомфортная система с коротким и слишком частым стоп-лоссом может давать неравномерную кривую на тестах.
3. Напротив, когда положительное матожидание системы незначительное – например, PP = 51 %, – то для того, чтобы результат теста выглядел закономерным, нам придется брать большее количество сделок.
4. Отсюда следует еще один вывод. Если мы торгуем систему на дневных или недельных таймфреймах, то нам потребуется очень большое статическое преимущество, чтобы получить закономерный результат. Когда же мы торгуем высокоскоростную HFT-стратегию, нам достаточно иметь самое минимальное статистическое преимущество в каждой сделке, чтобы закрывать каждый день в плюс. Например, на конкурсе ЛЧИ 2015, робот, заработавший 1500 % прибыли меньше чем за два месяца, совершал в среднем около 10 000 сделок в день.
5. Суммируя вышесказанное, можно сделать еще один вывод: если мы создадим систему с небольшим положительным матожиданием, то на тестах с маленькой выборкой (< 250 сделок) она чисто случайно, в силу большой дисперсии результатов, может показаться нерабочей и быть ошибочно забракована.
Сформулируем два критерия оценки:
Критерий 1. Для того чтобы убедиться в неслучайности системы, необходимо совершить большое количество сделок на тесте – не меньше 1000.
Критерий 2. Желательно, чтобы система была равномерно прибыльна на всем интервале тестирования (в нашем примере – на каждой серии из 250 сделок). Это повышает шансы на то, что мы получили неслучайный результат.
Здесь надо сделать несколько оговорок. В реальности бывает так, что вы не в состоянии совершить 1000 сделок на истории для данной системы. В этом случае вы можете сделать 10 тестов по 100 сделок на 10 инструментах и оценить результативность таким образом. Но тестирование на столь большой выборке не всегда обязательно. Если вы при работе с информацией используете подход «Снизу вверх», описанный в седьмой главе, и понимаете логику ошибки участников рынка, то вам не обязательно совершать такое количество тестов. Вы можете обойтись без выборки из 1000 наблюдений. Допустим, вы уловили закономерность, которая работает на утренних гэпах в одном инструменте. Даже если рынок каждый день будет открываться с гэпом, за год вы соберете всего 250 наблюдений. В реальности, когда вы понимаете логику ошибки («Снизу вверх»), вам может хватить и 10 наблюдений для построения прибыльной системы.
Требования к количеству сделок на тесте повышается при использовании подхода «Сверху вниз», который мы также разбирали в седьмой главе. Если вы уловили закономерность в процессе датамайнинга и не до конца понимаете логику ошибки, делайте как можно больше сделок на тесте и проверяйте их в соответствии с первым и вторым критериями, приведенными выше. Бывает, что требование к большому числу сделок возникает даже в случае, когда вы понимаете логику, но ваше статистическое преимущество незначительно: например, если вероятность прибыльной сделки составляет всего 51 %.