Алгоритмический трейдинг: эволюция инвестора
Правила успешного трейдинга
Алгоритмический трейдинг: эволюция инвестора

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

Итак, как следует из самого определения алгоритмического трейдинга, в основе его лежит некий алгоритм. В общем случае этот алгоритм содержит набор совершенно четких и однозначных правила для открытия, сопровождения и закрытия позиции. Алготрейдер заранее знает, в каком месте следует войти в сделку, на каком уровне зафиксировать убыток по стоп-лоссу, если же позиция начала приносить прибыль — на каком ценовом уровне она будет закрыта по тейк-профиту и т.д. Знает он это потому, что сам на этапе создания алгоритма предусмотрел все возможные варианты развития событий и «прописал» в программном коде своего робота реакцию на эти события. В этом и состоит ключевое отличие алгоритмического трейдинга от трейдинга интуитивного или ситуационного — трейдер действует только исходя из заложенных в свой алгоритм еще на этапе создания правил, не беря в расчет ни фундаментальную ситуацию на рынке, ни новостной фон, ни другие внешние факторы, а следуя лишь техническим сигналам от цены (хотя некоторые трейдеры используют в своих алгоритмах не только цену, но и другие показатели: объем или открытый интерес для фьючерсов).


А теперь поговорим о преимуществах и недостатках алгоритмической торговли, все-таки с течением времени туда уходят многие опытные спекулянты, напрочь забрасывая все свои «ручные» сделки, а это уже о многом говорит. Я бы выделил следующие основополагающие преимущества:

 

  1. системный подход; 
  2. автономность; 
  3. определенность в будущих ожиданиях.

Преимущество системного подхода заключается, в первую очередь, в сведении к минимуму психологической нагрузки: если трейдер уверен в своей cистеме и неукоснительно следует ее сигналам, он совершенно точно знает, что рано или поздно система себя покажет, и заработает хорошую прибыль. В то время как в случае интуитивной торговли у трейдера (особенно новичка) часто происходят психологические сбои: «А стоит ли сейчас входить в позицию?», «Что делать, если позиция начнет приносить убыток?», «На каком уровне зафиксировать прибыль?». Результатом этого в лучшем случае может стать недополученная прибыль, а в худшем — знакомое многим состояние «тильта» и громадный внеплановый убыток по счету. Системный подход дает так необходимое трейдеру чувство уверенности, которое здорово помогает в психологическом плане. В конечном итоге опытные «системщики» просто абстрагируются от рынка и открытых позиций, наблюдая лишь за четким исполнением сигналов своего алгоритма. Под автономностью понимается возможность работы созданного человеком алгоритма без необходимости его (человека) присутствия. Делается это как с помощью различных уже существующих «примочек» для автоматического трейдинга, которых в последнее время развелось великое множество, так и с помощью самописных программ.

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

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

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

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

1. Начать стоит с изучения какой-либо программы технического анализа с широким спектром возможностей: Omega TS, WealthLab, TSLab, Metastock, Amibroker или что-то аналогичное. После чего вы будете иметь представление о создании стратегий, сможете самостоятельно (с помощью графического редактора или программного кода) написать свою торговую стратегию, протестировать ее на исторических данных и узнать еще много полезных вещей. Различаются данные программы в основном "вшитым" туда языком программирования: от простейшего аналога "паскаля" Easy language в Omeg’е до языка высокого уровня "С#" в поздних версиях WealthLab.

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

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

2. Итак, после того как вы запрограммировали и протестировали свой алгоритм, а также удовлетворились полученными на истории результатами, самое время перейти к его автоматизации. Тут вам как раз пригодится знание изученных ранее программ технического анализа, поскольку соорудить самое простое автоматическое исполнение сигналов можно будет именно через них. Для автоматизации через Omega TS, Amibroker, Metastock и WealthLab помимо стандартного терминала Quik вам понадобится специальная программа-связка (как правило, платная). Хорошей новостью является то, что стоит такая программа обычно совсем не много и достаточно проста в эксплуатации.

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

Александр Апонасевич, 
www.1-du.ru