Краткое содержание

Вы думаете, что у вас есть отличные идеи о рынке, но вы не знаете, как их проверить, не рискуя своими деньгами? Научиться тестировать торговые идеи на исторических данных — один из краеугольных камней успешного систематического трейдера.

Основная предпосылка бэктестинга заключается в том, что то, что работало в прошлом, может работать и в будущем. Но как это сделать самому? Как вы можете оценить результаты? Давайте рассмотрим процесс выполнения простого бэктеста ниже.

введение

Тестирование на исторических данных является ключевым компонентом разработки вашего собственного графика и торговой стратегии. Этот процесс влечет за собой реконструкцию сделок, которые могли произойти в прошлом, с помощью системы, основанной на старых данных. Результаты бэктеста должны дать вам общее представление о том, эффективна ли инвестиционная стратегия или нет.

Что такое бэктестинг?

Если вы сначала хотите более глубоко разобраться в бэктестировании, вы можете прочитать статью «Что такое бэктестинг?». 

Короче говоря, весь смысл бэктестинга состоит в том, чтобы определить обоснованность ваших торговых идей, когда вы используете рыночные данные за предыдущие периоды, чтобы увидеть, как бы сработала стратегия. Если стратегия окажется обладающей хорошим потенциалом, она также может быть эффективной в существующей торговой среде.

Что делать перед тестированием?

Прежде чем приступить к бэктестированию, вам следует определиться с вашим торговым подходом: являетесь ли вы систематическим или дискреционным трейдером?

Дискреционная торговля основана на принятии решений, то есть трейдеры полагаются на собственное суждение, когда дело доходит до входа и выхода из сделок. Это гибкая и неограниченная стратегия, в которой большинство решений сводится к оценке трейдером текущих условий. Как и ожидалось, тестирование на исторических данных не будет иметь большого значения, когда речь идет о дискреционной торговле, поскольку стратегия четко не определена.

Это, конечно, не означает, что если вы полагаетесь на дискреционную торговлю, вам вообще не следует тестировать на исторических данных или использовать бумажную торговлю, но это просто означает, что результаты могут быть не такими надежными, как обычно при систематической торговле.

Систематическая торговля больше подходит для тестирования на исторических данных, поскольку систематические трейдеры полагаются на торговую систему, которая определяет, когда входить и выходить из сделок. Хотя систематические трейдеры контролируют большинство аспектов стратегии, именно стратегия определяет для них сигналы входа и выхода. Простую систематическую стратегию можно представить в двух простых шагах:

  1. Когда события (А) и (Б) происходят одновременно, войдите в сделку. 

  2. Когда в следующий раз произойдет (c), выйдите из сделки. 

Некоторые трейдеры предпочитают этот подход, поскольку он помогает ограничить эмоциональные решения во время торгового процесса, а также обеспечивает разумную степень уверенности в том, что торговая система прибыльна, но, конечно, никаких гарантий нет.

Вот почему необходимо убедиться, что в вашей торговой системе существуют определенные правила относительно того, когда входить или выходить из сделок. Стратегия, которая не определена четко, приведет к противоречивым результатам. Как и следовало ожидать, этот тип торгового метода более распространен в алгоритмической торговле.

Существует программное обеспечение для бэктестинга, которое вы можете приобрести, если хотите автоматизировать процесс — вы просто вводите свои данные, и программа выполнит бэктестинг за вас. Но в этом примере мы рассмотрим стратегию ручного тестирования. Это потребует немного больше усилий, но это совершенно бесплатно.

Как протестировать торговую стратегию

По этой ссылке вы найдете шаблон электронной таблицы Google Sheets, который представляет собой прототип, который вы можете использовать в качестве отправной точки для создания своего собственного, и дает вам общее представление о том, какую информацию может включать журнал бэктеста. Некоторые трейдеры предпочитают использовать Excel или писать код на языке программирования Python, так как здесь нет строгих правил, и вы можете добавлять любое количество данных по вашему желанию, а также любую другую информацию, которая может оказаться вам полезной.

Дата

Рыночный спрос

сторона

Стоимость входа

Остановить потери

Получайте прибыль

Риски

награда

Доходы и расходы

12/08

BTCUSD

покупка

18 000 долларов США

16 200 долларов США

21 600 долларов США

10%

20%

3600

12/09

BTCUSD

распродажа

19 000 долларов США

20 900 долларов США

3300 долларов США

10%

30%

-1900


Что ж, давайте начнем с тестирования простой торговой стратегии:

  • Мы купим 1 биткойн при первом закрытии дня после появления золотого креста. Золотое пересечение происходит, когда 50-дневная скользящая средняя пересекает 200-дневную скользящую среднюю.

  • Мы продадим 1 биткойн при первом закрытии дня после того, как произойдет крест смерти. Крест смерти возникает, когда 200-дневная скользящая средняя пересекает 50-дневную скользящую среднюю.

Как видите, мы также определили временные рамки, в которых стратегия применима. Это означает, что если на 4-часовом графике появится золотой крест, мы не будем считать это торговым сигналом.

Временной период в этом примере начинается с начала 2019 года. Но если вы хотите получить более точные и надежные результаты, вы можете вернуться к более продолжительному периоду времени в истории движения цен на биткойны.

Теперь посмотрим, какие торговые сигналы давала эта система в течение указанного периода времени:

  • Купить за 5400 долларов

  • Продам за 9200$.

  • Купить за 9600 долларов

  • Продам за 6700$.

  • Купить за 9000 долларов

Ниже мы объясним, как выглядят сигналы, когда они наложены на график:

استراتيجية التقاطع الذهبي - تقاطع الموت. المصدر: أداة TradingView.

Первая сделка принесла прибыль в размере около 3800 долларов США, а вторая сделка привела к убыткам примерно в 2900 долларов США. Это означает, что реализованная прибыль и убыток в настоящее время составляют 900 долларов США. 

У нас также есть активная сделка, которая по состоянию на декабрь 2020 года зафиксировала нереализованную прибыль в размере около 9000 долларов США. Если мы будем придерживаться стратегии, указанной в начале, мы закроем сделку, когда произойдет следующий смертельный крест. 

Оцените результаты бэктеста

Так что же показывают эти результаты? Стратегия, которую мы применили, должна была обеспечить хорошую прибыль, но до сих пор она не показала каких-либо выдающихся результатов. Мы можем признать, что открытая в данный момент сделка может значительно увеличить реализованную прибыль и убыток, но это противоречит цели тестирования на исторических данных. Если мы не будем придерживаться плана, мы не получим надежных результатов.

Хотя эта стратегия является методологической, необходимо также изучить контекст. На момент обвала рынка в результате пандемии коронавируса в марте 2020 года убыточная сделка составляла от 9600 до 6700 долларов. Это неожиданное событие может оказать огромное влияние на любую торговую систему. Это еще одна причина, почему важно оглянуться назад на более длительный период времени, чтобы увидеть, являются ли эти потери необычными или побочным продуктом стратегии.

Это пример простого процесса бэктестинга. Эта стратегия может оказаться многообещающей, если мы проверим ее на большем количестве данных или включим другие технические индикаторы для усиления подаваемых ею сигналов.

Но что еще могут показать результаты бэктеста?

  • Показатели волатильности: максимальные взлеты и падения.

  • Экспозиция: сумма капитала, которую вам необходимо выделить из всего вашего инвестиционного портфеля для реализации стратегии.

  • Годовая доходность: процент доходности стратегии в течение года.

  • Отношение прибыли к убытку: количество сделок в системе, которые могут принести прибыль, а также количество сделок, которые могут принести убытки.

  • Средняя цена исполнения: Средняя цена исполнения операций входа и выхода при использовании стратегии.

Следует иметь в виду, что приведенные выше примеры не представляют собой исчерпывающий список. Вам решать, какие показатели вы хотите отслеживать. В любом случае, чем больше подробностей вы записываете в свой торговый журнал о соответствующих настройках, тем выше ваши шансы извлечь пользу из полученных результатов. Некоторые трейдеры придерживаются очень строгого подхода при тестировании на исторических данных, что, вероятно, отражается на получаемых ими результатах.

Еще один момент, на который следует обратить внимание, — это оптимизация. Если вы прочитали статью о бэктестировании, вы поймете разницу между бэктестированием и форвардным тестированием (или бумажной торговлей). 

Заключительные мысли

Мы рассмотрели основные этапы ручного тестирования используемой нами торговой стратегии. Но важно помнить, что прошлые результаты вовсе не гарантируют будущих результатов.

Рынки меняются, и вы должны адаптироваться к этим изменениям, если хотите улучшить свою торговую стратегию. Вы также должны быть осторожны и не доверять данным слепо. Здравый смысл и интуиция — очень полезные, но часто упускаемые из виду инструменты, когда дело доходит до оценки результатов.

Статьи по Теме

  • Руководство для начинающих по изучению крипто-свинг-трейдинга

  • Что подразумевается под бюджетной торговлей?

  • Что такое торговый журнал и как им пользоваться

  • Что такое скальпинговая торговля цифровыми валютами?

  • Что такое поведенческие предубеждения? Как мы можем этого избежать?