Алгоритмический трейдинг. 3 первых шага для новичка

Базовые принципы алгоритмического трейдинга

Содержание

С чего необходимо начинать

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

Алгоритмический трейдинг — не самая простая сфера финансовых рынков, но которая значительно упрощает жизнь трейдера при должном подходе.

Именно при роботизации/алгоритмизации торговых процессов трейдер может снять с себя ежедневную рутинную работу.

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

Не лишним фактором будут знания языков программирования, таких как R, Python или C/C++. Тем не менее, сегодня существуют инструменты, которые позволяют начать и без подобных навыков, например, — конструктор Visual JForex (для рынка форекс) или Excel (актуален для любых инструментов). Для новичка в мире алгоритмического трейдинга данные программы подойдут лучше всего.

И по Excel и по Visual JForex мы создали обучающие курсы, которые помогут освоить базовые навыки при создании алгоритмических стратегий без каких-либо навыков программирования

Алгоритмический трейдинг можно разделить на 3 важных компонента:

Выявление стратегии
Необходимо определиться, с какой частотой будет работать стратегия, на каких периодах, инструментах, а также какая теория будет заложена в данную систему.
1
Бэктест стратегии
Тест на исторических котировках. Сюда входят сбор исторических данных, анализ эффективности стратегии, оптимизация параметров.
2
Риск-менеджмент
Оптимальное распределение капитала — между инструментами, рынками, а также даже брокерами.
3

Выявление алгоритмических стратегий

Каждая модель рождается на основе личных знаний, практик, либо наблюдений.

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

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

Сразу может возникнуть вопрос — почему же различные финансовые фирмы и хедж-фонды делятся своими прибыльными наработками? На самом деле, здесь все достаточно просто.

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

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

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

Следующий важный аспект — частотность вашей алгоритмической стратегии. Она может быть:

Низкочастотная
Все те позиции, которые удерживаются от нескольких дней, до нескольких недель и даже месяцев
1
Среднечастотная
Когда позиции удерживаются не больше нескольких дней.
2
Высокочастотная
Внутридневные сделки, или сделки, которые удерживаются секунды или миллисекунды (HFT).
3

После того, как стратегии выбраны, нужно переходить к их бэктестам.

Тестирование алгоритмических стратегий

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

Основные факторы, на которые стоит обращать внимание, это:

Базовый тариф

“Чистота” исторических данных

Насколько исторические котировки правдивы и актуальны.

Тариф "Опытный"

Учет
издержек

Верно ли они рассчитывались и насколько совпадают с реальными издержками (комиссии, проскальзывания, спреды).

Тариф "Эксперт"

Платформа для тестирования

Не содержит ли багов, ошибок, неверного исполнения стратегии и т.д.

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

Просадка определяется от максимального пика (хая) кривой доходности. Как правило, высчитывается в процентах. Второй тип просадки — временной — измеряется в днях, месяцах или годах (в зависимости от частотности ТС).

Просадка по EURUSD
Алгоритмический трейдинг. Просадки по времени и от максимального пика кривой доходности.

Низкочастотные стратегии статистически будут показывать более крупную просадку, в отличии от внутридневных.

Коэффициент Шарпа показывает среднее отношение риска к доходности ТС и больше применим к акциям. Мы подробно о нем поговорим в следующих статьях.

Риск-менеджмент

Заключительный фактор, которым никак нельзя пренебрегать — риск-менеджмент.

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

Классический риск-менеджмент также играет здесь свою роль. Речь идет об оптимальном распределении рисков, известном также как Портфельная теория. В данном методе применяется определенная система риск-менеджмента, когда капитал распределяется определенным образом между различными стратегиями и различными инструментами.

Заключение

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

Следующий шаг, освоение относительно простых инструментов для создания ТС.

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

Успехов!

Scroll Up