Для создания автоматизированной торговой системы необходимо решить, на каких рынках вы хотите торговать, выработать параметры для определения логики торговли и разработать стратегию для реализации этой логики при покупке или продаже торговых инструментов. Ваша система должна уметь принимать решения о моменте входа и выхода из сделок, учитывать стоимость торговли и быть оптимизированной с помощью бэктестинга торговых стратегий (без подгонки).
Давайте рассмотрим, как это сделать.
Правильный рынок для торговли
Выберите рынок и инструменты, которыми будете торговать. Затем найдите исторические данные для этих инструментов, чтобы разработать и протестировать свою модель. Новичкам лучше всего начинать с акций, так как они позволяют достичь хорошей диверсификации.
Торговые сигналы для системы
Для разработки системы и выбора подходящих торговых сигналов необходимо иметь набор параметров. Это могут быть скользящие средние, значения основанные на цене коэффициентов, расхождения в корреляции инструментов и более сложные сигналы. Самые популярные параметры для акций - это цены открытия, закрытия, High, Low, а также объемы. Их можно сочетать разными способами, создавая новые параметры. Определившись с набором параметров, необходимо генерировать с их помощью торговые сигналы и наблюдать за эффективностью работы системы. Это поможет определить, пригоден ли конкретный инструмент для торговли по заданным параметрам.
Можно начать с экспериментов с системами, основанными на возврате к среднему или на моментумной торговле, и постепенно усложнять их путем введения дополнительных условий.
Стратегия исполнения сделки
Затем вам потребуется стратегия, которая, основываясь на генерируемых сигналах, будет говорить вашей системе, что делать. Открывать сделку можно в двух направлениях - в лонг и в шорт. При покупке акции, вам выгоден будет рост ее цены. При продаже акции в шорт, вы заработаете, если цена упадет. После входа в сделку вы можете увеличивать или уменьшать размер позиции, основываясь на текущих рыночных условиях. Система закроет позицию, когда будет достигнут критерий фиксации прибыли, появится обратный сигнал, или сработает стоповый ордер.
Таким образом, стратегия исполнения сделки должна давать ответы на следующие вопросы:
- a) как и когда нужно входить в сделку (покупать или продавать);
- b) каким должен быть размер позиции;
- c) каким образом наращивать или сокращать позицию
- d) когда следует выходить из позиции - в случае прибыли или убытка.
Стоимость торговли
Стоимость торговли существенно влияет на результативность стратегии. Если торговля сопряжена с большими затратами, это может уничтожить результаты работы стратегии, которая в других условиях была бы прибыльной. При тестировании на истории следует учитывать стоимость торговли. К ней относятся комиссии, взимаемые брокером и биржами, и проскальзывание (разница между ценой вашей заявки и фактической ценой ее исполнения).
Тестирование на истории и финансовые показатели
И, наконец, нужно провести тестирование системы на исторических данных, чтобы увидеть, как бы ваша стратегия работала в прошлом. Это поможет оптимизировать систему с учетом выбранного рынка. Вы также будете знать, чего можно ожидать от данной стратегии в будущем.
Как можно сравнить две системы? Для сравнения результатов работы двух систем можно использовать перечисленные ниже количественные показатели. Данный список не является исчерпывающим, но может послужить хорошей отправной точкой.
- Суммарная доходность
- Доходность в годовом исчислении
- Волатильность в годовом исчислении
- Коэффициент Шарпа
- Коэффициент Сортино
- Максимальная просадка
- Прибыльность в процентах
- Коэффициент прибыли
Каких-либо правильных целевых значений для этих показателей не существует. Каждый трейдер или инвестор хочет иметь систему, обеспечивающую высокие финансовые показатели при низком уровне риска. Однако разные инвесторы будут считать приемлемыми разные значения, в зависимости от своего стиля торговли и терпимости к рискам инвестирования.
Подгонка и предвзятость
Как и при решении любой задачи, связанной с определенным набором данных, избыток данных в нашем случае вызывает естественное стремление к чрезмерной аппроксимации.
Подгонка результатов - самая большая опасность при разработке стратегии торговли. Можно создать сложный алгоритм, который будет прекрасно работать на истории, но покажет жалкие результаты на новых данных. Это будет говорить о том, что система не отражает фактических закономерностей и не имеет реальной предсказательной силы. Вот несколько советов, которые помогут избежать подгонки:
- Система должна быть максимально простой. Если вы поймаете себя на том, что используете слишком много параметров или слишком сложные параметры, то вы, скорее всего, занимаетесь подгонкой, а не поиском реальной зависимости.
- Разделите имеющиеся данные на данные для тестирования и данные для обучения системы. Не используйте все данные для оптимизации алгоритма стратегии; тестовые данные необходимы для подтверждения стратегии. Системы, которые хорошо работают на данных вне выборки, имеют больше шансов на успех в условиях реального рынка.
- Избегайте предвзятости. Необходимо исключить влияние знания вами будущего на тестирование стратегии на исторических данных. Подобного рода информация будет недоступна, когда система начнет работать на реальном рынке.
На этом - все. Теперь вы готовы начать разрабатывать свою стратегию самостоятельно.