краткое содержание
Вы думаете, что у вас есть отличное представление о рынках, но вы не знаете, как применить его на практике, не теряя при этом реальных денег? Знание того, как тестировать торговые стратегии на исторических данных, является важным умением хорошего систематического трейдера.
Идея бэктестинга заключается в том, что то, что работало в прошлом, может работать и в будущем. Но как проводить бэктестирование и как оценивать результаты? Давайте пройдемся по простому процессу бэктестинга.
Введение
Бэктестирование — один из ключевых элементов разработки собственных графиков и торговых стратегий. Он использует систему, основанную на исторических данных, для восстановления транзакций, которые могли произойти в прошлом. Результаты бэктеста дадут вам приблизительное представление о том, работает ли инвестиционная стратегия.
Что такое бэктестинг?
Во-первых, если вы хотите узнать больше о том, что такое бэктестинг, вы можете прочитать нашу статью Что такое бэктестинг? 》
Короче говоря, основная цель бэктестинга — показать вам, работает ли ваша торговая идея. Вы можете начать с использования прошлых рыночных данных, чтобы увидеть, как работает ваша стратегия. Если эта стратегия выглядит так, как будто у нее есть потенциал, она также может работать в реальной торговой среде.
Что делать перед тестированием?
Прежде чем приступить к бэктестированию, вам необходимо определить, к какому типу трейдера вы относитесь. Вы дискреционный трейдер или систематический трейдер?
Дискреционная торговля основана на принятии решений — трейдеры используют свои собственные суждения, чтобы решить, когда открывать и закрывать позиции. Это относительно свободная и открытая стратегия, и большинство решений зависят от оценки трейдером текущей ситуации. Следовательно, тестирование на истории менее важно в дискреционной торговле, поскольку эта стратегия не имеет строгого определения.
Конечно, это не означает, что вам вообще не следует использовать тестирование на исторических данных или симулированную торговлю, если вы дискреционный трейдер. Это просто означает, что результаты тестов менее надежны, чем результаты, полученные систематическими трейдерами.
Систематическая торговля больше подходит для бэк-тестирования. Системные трейдеры полагаются на торговую систему, которая определяет и сообщает, когда открывать или закрывать позицию. Трейдеры-систематики контролируют большинство аспектов стратегии, но время открытия и закрытия позиций полностью определяется стратегией. Вы можете представить себе простую системную стратегию как два шага:
Когда события A и B происходят одновременно, происходит транзакция.
Когда произойдет X, выйдите из транзакции.
Некоторые трейдеры предпочитают этот метод. Это может устранить эмоциональное принятие решений в торговле и обеспечить разумную гарантию прибыльности торговой системы. Конечно, никакие гарантии не являются абсолютными.
Вот почему важно убедиться, что в вашей системе установлены определенные правила относительно того, когда открывать или закрывать позицию. Если стратегия не определена четко, результаты будут противоречивыми. Как и следовало ожидать, этот стиль торговли более популярен среди алгоритмической торговли.
Если вы хотите автоматизировать процесс, вы можете купить программное обеспечение для бэктестинга — вы просто вводите свои собственные данные, и система выполнит бэктестинг за вас. Но в этом примере мы познакомим вас со стратегией ручного тестирования. Это потребует немного больше усилий, но это совершенно бесплатно.
Как протестировать торговую стратегию?
Вы можете найти шаблон таблицы Google по этой ссылке. Вы можете создать свой собственный шаблон на основе этого базового шаблона. Это может дать вам представление о том, какую информацию может содержать таблица бэктестинга. Некоторые трейдеры предпочитают использовать код на Excel или Python, строгих правил в этом отношении нет. Вы можете добавить необходимые вам данные, а также любую другую информацию, которую посчитаете полезной.
Давайте протестируем несколько простых торговых стратегий:
Мы покупаем один биткойн при первом закрытии дня после золотого креста. Мы считаем, что когда 50-дневная скользящая средняя находится выше 200-дневной скользящей средней, это золотой крест.
Мы продаем один биткойн при первом закрытии дня после креста смерти. Мы считаем, что когда 200-дневная скользящая средняя находится ниже 50-дневной скользящей средней, это крест смерти.
Как видите, мы также определяем временной интервал, в течение которого стратегия действительна. То есть, если на 4-часовом графике появится золотой крест, мы не будем считать это торговым сигналом.
Период времени в этом примере начинается в начале 2019 года. Однако, если вы хотите получить более точные и надежные результаты, вы можете вернуться к историческому изменению цены Биткойна.
Теперь давайте посмотрим, какие торговые сигналы генерировала система за этот период:
Купить за ~$5,400
Продается за ~9200$.
Купить за ~$9,600
Продается по цене около 6700 долларов США.
Купить за ~$9000
Вот как выглядит наш сигнал при наложении на график:
Наша первая сделка принесет прибыль примерно в 3800 долларов, а вторая сделка приведет к убытку в 2900 долларов. Это означает, что наша реализованная прибыль и убытки составляют 900 долларов.
Мы также активно торгуем, и по состоянию на декабрь 2020 года нереализованная прибыль составила около 9000 долларов США. Если бы мы придерживались нашей первоначальной стратегии, мы бы закрыли позицию у следующего креста смерти.
Оцените результаты бэктеста
Итак, что же показывают эти результаты? Наша стратегия должна обеспечивать разумную прибыль, но до сих пор не было никаких блестящих результатов. Мы могли бы значительно увеличить нашу реализованную прибыль и убыток, выполняя текущие открытые сделки, но это противоречит цели тестирования на исторических данных. Если мы не будем придерживаться плана, результаты не будут надежными.
Даже если это всего лишь системная стратегия, она все равно должна учитывать конкретный контекст времени. Убыточные сделки с $9600 до $6700 произошли во время краха в марте 2020 года, вызванного пандемией коронавируса. Подобные события «черного лебедя» могут оказать огромное влияние на любую торговую систему. По этой причине нам нужно оглянуться назад, чтобы понять, является ли эта потеря аномалией или просто побочным эффектом стратегии.
Это пример простого процесса бэктестинга. Если мы вернемся и протестируем ее на большем количестве данных или включим другие технические индикаторы, это может дать более сильный сигнал, что сделает стратегию более перспективной.
Но что еще могут сказать вам результаты бэктеста?
Измерение волатильности: ваши максимальные подъемы и недостатки.
Подверженность риску: сумма денег, которую вам необходимо выделить из всего вашего портфеля для реализации стратегии.
Годовая доходность: процентная доходность этой стратегии за один год.
Прибыль и убыток: сколько сделок в системе могут быть прибыльными и сколько - убыточными.
Средняя цена сделки: средняя цена открытия и закрытия позиций, которые вы выполнили в стратегии.
Обратите внимание: приведенные выше примеры не являются исчерпывающими для объяснения возможностей бэктестинга. Какие показатели вы хотите отслеживать, полностью зависит от вас. В любом случае, чем больше подробностей вы записываете в свой торговый журнал о своей настройке, тем больше у вас возможностей извлечь уроки из полученных результатов. Некоторые трейдеры очень строги в проведении бэктестинга, и это может отразиться на их результатах.
Последний фактор, который следует учитывать, — это оптимизация. Если вы прочитали нашу статью о бэк-тестировании, вы поймете разницу между бэк-тестированием и форвардным тестированием (торговлей на бумаге).
Заключение
Мы рассмотрели основной процесс ручного тестирования торговых стратегий. Но важно помнить, что прошлые результаты не являются показателем будущих результатов.
Рыночные условия быстро меняются, и вы должны адаптироваться к этим изменениям, если хотите улучшить свою торговую стратегию. Также нужно помнить, что нельзя слепо доверять данным. Здравый смысл, хотя его часто упускают из виду, также является очень полезным инструментом при оценке результатов.
Дальнейшее чтение
Руководство для начинающих по торговле криптовалютой на колебаниях
Что такое арбитражная торговля?
Что такое торговый журнал и как им пользоваться
Что такое краткосрочная торговля криптовалютой?
Что такое поведенческая предвзятость? Как избежать поведенческих предубеждений?