Современная экономика немыслима без бирж и фондового рынка. Торговля на этих площадках называется трейдингом.
Трейдеры активно используют возможности компьютерной техники для облегчения ведения своих дел. Трейдинг с использованием математических моделей и вычислительной техники называют алготрейдингом. В этой статье рассказывается об этом виде торговли на финансовых рынках, его разновидностях, применяемых способах, преимуществах и недостатках, применяемом программном обеспечении.
- Что такое Алготрейдинг (алгоритмический трейдинг)
- В чем суть алготрейдинга?
- Какие виды алготрейдинга существуют?
- Когда и как появился алготрейдинг, как явление
- Чем отличается алготрейдинг от алгоритмической торговли?
- Какое ПО подойдет для алготрейдинга?
- Что стоит помнить перед тем, как заняться алготрейдингом?
- TSLab — одна из самых популярных программ для запуска алгороботов
- Установка
- Обучение алготрейдингу на TSLab
- Настройка поставщика
- Создание скрипта
- Stocksharp
- WealthLab
- Какие стратегии применяются для алготрейдинга?
- Как предотвратить убытки при занятиях алготрейдингом, риск-менеджмент
- Алготрейдинг: достоинства и недостатки
Что такое Алготрейдинг (алгоритмический трейдинг)
Термин «алгоритмический трейдинг», или «алготрейдинг», имеет два значения. В первом случае под этим словом понимают способ исполнения крупной заявки на рынке, согласно которому она открывается постепенно по определенным правилам и автоматически делится на несколько подзаявок, которые имеют собственную цену и объем.
Каждая заявка отправляется на рынок для исполнения. Цель технологии состоит в облегчении деятельности трейдеров при совершении крупных сделок, которые нужно совершить, как можно менее заметно. К примеру, нужно приобрести 200000 акций, а каждая позиция включает по 4 акции за раз.
Второе значение этого слова – система, открывающая заявки по заданному алгоритму без участия трейдера. Алгоритмы задаются с целью непосредственного получения прибыли от автоматического анализа рынка. Эти системы также имеют название «торговый робот».
Алготрейдинг и алгоритмическая торговля применяются на биржах, в том числе на криптовалютных, на Форексе.
В чем суть алготрейдинга?
Алготрейдинг подразумевает сбор данных по конкретному активу, исходя из истории его развития, подбор алгоритмов для сделок и подходящих торговых роботов. Для определения цены применяется теория вероятности, определяются недостатки рынка и вероятность их повторения в будущем.
Существует три типа подбора. При ручном подходе специалист применяет математические формулы и физические модели. Генетический подход подразумевает разработку правил компьютерными системами и искусственным интеллектом. Автоматический производится специальной компьютерной программой, которая обрабатывает массивы правил и тестирует их.
Какие виды алготрейдинга существуют?
Алгоритмический трейдинг реализуется по нескольким основным направлениям:
- Технический анализ. Использование неэффективности рынка и выявление актуальных тенденций путем классического математического и физического анализа.
- Market making. В рамках этого метода поддерживается рыночная ликвидность. Маркет-мейкеры получают вознаграждение от биржи, удовлетворяя спрос, в том числе против выгоды. Стратегия основывается на учете и быстром потоке информации с рынков.
- Front running. Анализ объема заявок по инструменту и выделение наиболее крупных из них. Эта стратегия основывается на том, что крупная заявка будет иметь большую цену и привлечет много встречных заявок. Алгоритмы анализируют данные ленты и стакана и стараются зафиксировать движения во время проведения крупных сделок быстрее других участников.
- Парный и баскет-трейдинг. Соотносятся два или несколько инструментов с высокой, но не однозначной корреляцией. Отклонение одного из инструментов от заданного курса означает, что с большей вероятностью он возвратится в свою группу. Определение корреляции помогает совершить прибыльную сделку.
- Арбитраж. Метод основывается на сопоставлении активов со сходной ценовой динамикой. Эта схожесть иногда нарушается по разным факторам. Суть арбитража заключается в продаже более дорогого актива и покупке более дешевого. В итоге активы уравняются в цене, и более дешевый актив вырастет в цене. Системы алготрейдинга выявляют изменение цен на рынке и проводят выгодные арбитражные сделки.
- Торговля волатильностью. Сложный тип трейдинга, заключающийся в покупке различных опционов. Проводящий торговлю рассчитывает на рост волатильности акции при продаже и снижение при покупке. Для этой разновидности торговли нужны значительные мощности оборудования и квалифицированные специалисты.
Работающие стратегии в алготрейдинге, вся правда о торговле роботами:
Когда и как появился алготрейдинг, как явление
Торговля с применением алгоритмов была разработана в начале 1970-х годов, когда была создана биржа NASDAQ – первая биржа, применявшая торговлю с использованием ЭВМ.
В те времена алгоритмическая торговля была доступна лишь крупным инвесторам, обычные люди доступа к такой технологии не имели. ЭВМ тогда не были совершенными, и в 1987 году произошла ошибка в оборудовании, которая привела к краху американского рынка.
В 1998 году SEC – Комиссия по ценным бумагам США официально разрешила использовать электронные торговые площадки. Этот год следует считать датой появления алготрейдинга в современном виде.
В начале 2000-х годов сделки с использованием компьютеров проводились за несколько секунд. Но доля роботов на рынке была менее 90%.
К 2009 году заявки на биржах выполнялись за миллисекунды, а торговые роботы проводили 60% сделок. После 2012 года ситуация изменилась. Непредсказуемость рынка привела к сбоям в существовавшем тогда программном обеспечении. Процент сделок, проводившихся автоматически, был снижен до 50% от общего количества. Во избежание ошибок начата разработка и внедрение искусственного интеллекта.
Чем отличается алготрейдинг от алгоритмической торговли?
Несмотря на кажущееся сходство понятий, следует различать понятия «алгоритмическая торговля» и «алготрейдинг». В первом случае подразумевается метод исполнения крупной заявки путем ее деления на части и последующей подачи по определенным правилам, а во втором говорят об автоматизированной системе, создающая заявки без трейдера по определенному алгоритму.
Алгоритмы в алгоритмической торговле используются для упрощения проведения крупных сделок трейдером. В алготрейдинге с их помощью проводится анализ рынка и открытие позиций для увеличения дохода.
Какое ПО подойдет для алготрейдинга?
Поскольку алгоритмическая торговля подразумевает использование компьютерной техники, нужно правильно выбрать необходимое программное обеспечение. Торговый робот является основным средством для занятий автоматизированным трейдингом. Его можно как разработать самому с помощью языков программирования, так и воспользоваться платформой для его создания.
Что стоит помнить перед тем, как заняться алготрейдингом?
Сначала стоит оговориться, что алготрейдеру необходимо уметь программировать, потому что большинство платформ можно освоить, владея этим навыком. Язык программирования, используемый для алготрейдинга, должен быть совместим со всеми платформами и разрабатываемыми алгоритмами.
Самый походящий язык программирования — C# (си-шарп). Он применяется в таких платформах, как TSLab, StockSharp, WealthLab. Не зная язык программирования, последние 2 программы придется осваивать несколько месяцев.
TSLab — одна из самых популярных программ для запуска алгороботов
Платформа для создания, тестирования и запуска торговых роботов и систем. Включает в себя удобный визуальный редактор в виде кубиков, который позволит заниматься разработать робота без знания языка программирования. Из кубиков можно собрать нужный торговый алгоритм.
История торговых инструментов, собираемая программой, позволит найти и исправить ошибки в скриптах, а инструменты технического анализа помогут создать уникальное решение.
Установка
Чтобы установить платформу, необходимо скачать программу установки с официального сайта.
На странице загрузки указано, что программа работает только на 64-битных версиях Windows.
После загрузки открываем установочный файл. Перед установкой она предложит установить последнюю версию .NET Framework и Visual C++ Redistributable Studio.
Если необходимые версии этих программ отсутствуют, следует их установить. Без них платформа работать не будет.
Если есть последние версии этих программ, откроется стартовое окно установщика. Нажмем «Далее».
Соглашаемся с условиями лицензионного соглашения и выбираем путь, по которому будет установлена программа.
Затем следует дать разрешение на установку и дождаться ее завершения.
По завершении установки откроется соответствующее окно. Можно запустить программу после установки.
Обучение алготрейдингу на TSLab
Настройка поставщика
Для настройки и тестирования торгового робота нужно наличие истории котировок. Для получения истории котировок нужно настроить поставщика данных. В меню «Данные» выбираем пункт «Поставщики».
Откроется пустая вкладка поставщиков. Нам надо нажать кнопку «Добавить». В открывшемся диалоговом окне выбираем «Исторические данные».
На этом этапе нужно выбрать тип данных по котировкам. В данном случае выбран текстовый файл с котировками с шагом цены 0,01. Загружаем нужный файл из хранилища.
Загружаем файл 1.rand.quote.step=0,01_1m.txt.zip. После загрузки найдите файл в папке загрузки и извлеките его из архива.
Возвращаемся в TSLab и выбираем в меню «Данные» пункт «Поставщики».
Откроется соответствующее окно. Нужно нажать на кнопку «Добавить».
Откроется окно добавления поставщика. В нем следует выбрать пункт «Исторические данные», после чего нажать «Далее».
В следующем окне указываем имя и тип данных поставщика. Задаем имя TextData, а тип данных – Текстовые файлы. Нажимаем «Далее».
Выбираем путь к поставщику. По умолчанию задан путь C:\ProgramData\TSLab\TSLab 2.1\Providers\Text. Можно указать другой путь, нажав … в строке пути.
Задаем путь нашего файла, после чего устанавливаем параметры:
1. Количество знаков после запятой – 2.
2. Шаг цены определяется автоматически, если он меньше 1. Файл с шагом 0,01 и указанием в настройках 1 знака будет выбран шаг 0,1
Нажимаем на кнопку «Далее». В окне поставщиков станет виден поставщик данных TextData.
Создание скрипта
Платформа TSLab позволяет разрабатывать торговые алгоритмы, тестировать и создавать торговых роботов – агентов. Но прежде чем создать торговый алгоритм, нужно написать скрипт к нему. Для этого в меню нужно выбрать «Лаб». В ниспадающем списке выберите «Скрипты».
Откроется диалоговое окно, в котором нажимаем «Создать новый». Во втором окне вводим имя скрипта и нажимаем «ОК».
Дважды нажмем левой кнопкой мыши по созданному скрипту для редактирования. Мы увидим визуальный редактор скриптов.
Синий прямоугольный блок – «Торгуемый инструмент». Серый прямоугольник «Объем 1» — количество операций с опционами или фьючерсными контрактами за определенный отрезок времени. Блок «Закрытие» отражает цену закрытия бара. Блок «Панель графика» создает соответствующую панель.
Нажмите правой кнопкой мыши. В ниспадающем меню выберите пункт «Свойства». Выберите вкладку «Скрипт».
Отключите пункт «Исп. Дату от». Выберите вкладку «Источники», а в ней – инструмент. Нажмите на это поле. Откроется окно «Выбор ценных бумаг», в котором нужно будет выбрать поставщика данных TextData и укажите инструмент – котировки текстового файла 1.rand.quote.step=0.01_1m. Нажимаем «ОК» для подтверждения.
После выбора инструмента вверху окна появится вкладка с картинкой графика и надписью «Загрузка». После обработки данных на этой вкладке появится название выбранного инструмента — 1.rand.quote.step=0.01_1m
Нажмите «Сохранить и выполнить» после загрузки данных.
Данный скрипт предназначен для отображения инструмента на график. В конце концов откроется вкладка с графиком.
Аналогичным образом настраиваются торговые алгоритмы и торговые агенты. Как можно убедиться, алготрейдинг с помощью TSLab доступен практически каждому и не требует предварительного обучения.
Главным преимуществом TSLab является то, что составлением торговых роботов может заняться любой пользователь после 2-3 дней изучения платформы. Этому способствует визуальный редактор.
С помощью редактора Вы научитесь нужному мышлению, необходимому в алготрейдинге. TSLab поддерживает язык C#, в дальнейшем программирование на этой платформе можно продолжить на TSLab API.
Однако дальнейшее погружение в алгоритмическую торговлю лучше продолжить с более сложными программами.
Stocksharp
Stocksharp представляет собой библиотеку торговых роботов на C#. Торговые роботы составляются в среде программирования Visual Studio. Поэтому прежде, чем написать робота с помощью этого ресурса, нужно будет потратить не менее полугода на освоение языка программирования. Далеко не каждый способен довести изучение до конца. Однако использование этой платформы полностью себя оправдывает на деле.
WealthLab
WealthLab – еще одна платформа для тестирования и разработки торговых роботов и систем от Fidelity. Существует две версии программы: Pro для граждан США, обладающих счетом Fidelity, и Developer для всех остальных.
WealthLab позволяет использовать в разработке роботов инструменты технического анализа, получать сигналы на вступление и закрытие сделки и передавать из в терминал. Если трейдер не умеет программировать, он может воспользоваться помощником (wizard). Платформа основывается на языках программирования C# и Pascal. Платформа строит графики в виде отрезков, японских свечей, линейных графиков и т.д.
Основная функция программы – оптимизация и тестирование стратегий на основе исторических данных.
WealthLab можно изучить не так быстро, как TSLab, но всего за 2 месяца. Встроенный язык программирования дает большие возможности в создании выгодных торговых стратегий. Трейдер может связать платформу с программным комплексом Quik, что позволит размещать заявки в автономном режиме.
Какие стратегии применяются для алготрейдинга?
Чтобы трейдинг с использованием алгоритмов приносил ощутимый результат, нужно придерживаться стратегии, предназначенной для определенной ситуации.
- Спекулятивная стратегия. Направлена на достижение наиболее выгодной цены входа в сделку для получения последующей прибыли. Используется в основном частными трейдерами.
- Data Mining. Нахождение новых закономерностей для новых алгоритмов. Большая часть данных собирается по этой стратегии до начала тестирования. Информация ищется по ручным настройкам.
- TWAP – взвешенная по времени средняя цена. Открытие заявок через равные временные отрезки по лучшим по спросу и предложению ценам.
- VWAP – взвешенная по объему средняя цена. Открытие позиции по равным частям с одинаковым объемом в течение определенного времени и ценам не выше среднего значения.
- Execution Strategy. Стратегия, применяемая для приобретения актива по средневзвешенной цене в большом объеме. Используется главным образом брокерами и хедж-фондами.
Как предотвратить убытки при занятиях алготрейдингом, риск-менеджмент
Большой ошибкой является убеждение, что алготрейдеру достаточно лишь создать торгового робота. Необходимо предупредить и устранить все риски. Перебои в электричестве, интернет-соединении и ошибки в вычислениях и программировании могут привести к значительным убыткам и вовсе лишить дохода.
Инфраструктурный сервер, на котором ведется алготрейдинг, может внезапно потерять работоспособность или на нем может перезагрузиться операционная система. Чтобы исключить проблем с сервером, можно арендовать сервер или поднять собственный.
Если это недоступно, нужно подобрать сервер у стабильного провайдера с хорошим подключением. Система должна обладать минимальным запасом мощности в 40-50%.
Проблемы с подключением всегда происходят неожиданно. Можно настроить подключение таким образом, чтобы биржа закрыла позиции после потери соединения. Повреждения пакетов данных отслеживаются через следящие алгоритмы WatchDog.
Торговые стратегии, применяемые в трейдинге, несовершенны и их сочетание может привести к абсолютно разнообразным последствиям. В заявках, API могут быть допущены ошибки. Могут быть неверно выставлены цена, объем, значение лотов. Также торги могут быть проведены в выходные или праздничные дни, нарушены лимиты торговой стратегии или счета.
Для исключения данных ошибок нужно осуществлять контроль и анализ заявок и лимитов торговых стратегий с целью исключения ошибочных параметров.
В случае возникновения внештатной ситуации необходимо незамедлительно сообщить об этом всем заинтересованным лицам через SMS, электронной почте, мессенджерами и другим каналам связи.
Необходимо обязательно фиксировать каждую сбой в логах, чтобы не допустить его повторения в последующем.
Как создать пассивный доход с помощью алгоритмического трейдинга:
Алготрейдинг: достоинства и недостатки
Торговые роботы не подвержены «человеческим» факторам, которые могли бы повлиять на их работу: утомлению, эмоциональным срывам и прочим. Это является главным достоинством алготрейдинга.
Алгоритмы следуют по четко заданной программе и никогда не отклоняются от нее.
Алготрейдинг имеет ряд недостатков. К ним относится, в частности, труднодоступность информации по данному виду торговли в свободном доступе.
Алготрейдер должен владеть программированием, что довольно сложно для большинства специалистов в области финансов. Если в рынке произойдут изменения, придется полностью сменить алгоритм.
В написании торгового робота может быть допущена ошибка, которая поведет весь алгоритм по неверному пути, и это приведет к потере денежных средств.
Алготрейдинг – довольно сложный вид биржевой торговли, требующий познаний не только в трейдинге, но и в математике и программировании. Нужно не только уметь создать нужный алгоритм, но и предотвратить неполадки в соединении, ошибки в алгоритмах и программном коде. Нужно хорошо подумать, прежде чем решиться вести торговлю подобным образом. Тем не менее, освоив его и правильно применив на практике, трейдер получит значительный рост дохода и облегчит свой труд.
Если вам понравилась статья, то подписывайтесь на мой телеграм канал.