Pull to refresh
0
ITI Capital
Лучший онлайн-брокер для работы на бирже

Как заработать $500K на машинном обучении и высокочастотном трейдинге — Часть 1

Reading time 5 min
Views 179K

Изображение: Kevin Ku — Unsplash

На Хабре часто появляются материалы о том, как IT-специалисту сохранить и приумножить свои деньги. Неудивительно, что тема вызывает интерес и все больше дискуссий. На днях мне попалась статья парня, который, применив свои технологические навыки, смог за год заработать полмиллиона долларов. Мне кажется, его опыт может быть интересен многим (даже если отбросить тот факт, что он не первый день на бирже), поэтому я предлагаю обсудить его мысли. Но сделать это в два подхода — оригинальный пост достаточно объемный для одного хабратопика.

Итак, автор материала, Джесси Сполдинг (Jesse Spaulding), рассказывает о том, как ему, обыкновенному IT-специалисту, удалось применить свой опыт в близкой сфере — HFT-трейдинге. Проект он реализовал за год — в период с 2009 по 2010-й, а после его завершения решил поделиться впечатлениями от процесса торгов с помощью специализированного ПО — в его случае работа шла с фьючерсами на индексы DAX (среднее взвешенное по капитализации крупнейших компаний Германии) и Russell 2000 (относится к small-cap-индексам и контрастирует с S&P 500, к которому главным образом относятся акции компаний с высокой капитализацией).

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


Изображение: Jason Briscoe — Unsplash

Он делится своими финансовыми показателями. Так, с помощью ПО для торгов, Джесси проводил от одной до четырех тысяч «длинных» и «коротких» сделок в день, но растягивал их на весь временной отрезок в рамках суток, чтобы усреднить потенциальные риски. Такой подход позволил ему избежать значительных потерь — Джесси не проигрывал более $2000 в день, а по ходу года — от месяца к месяцу — всегда оставался в плюсе. В качестве иллюстрации достижений он приводит график доходности торгов за вычетом комиссий (первая диаграмма в его статье), на котором пик приходится на сентябрь и октябрь 2009 года (заработал более 180 тыс. долларов), далее идет плавный спад. В период с августа по октябрь следующего года его доходы минимальны (не поднимаются выше пяти тысяч долларов в месяц), тогда Джесси и решает закрыть проект.

К сожалению, второй график с вариациями его заработка в течение дня не будет таким информативным — он практически соответствует первому и отражает всего один всплеск свыше $25000 за день. Автор перестал его обновлять на половине пути, когда его доходы перестали расти, и он потерял мотивацию их отслеживать с такой детализацией. Поэтому перейдем к тому, что Джесси говорит о своем опыте работы на бирже и о том, как изучение API для трейдинга подтолкнуло его к проектированию собственного торгового алгоритма.

Опыт торговли на бирже


Как вы уже успели заметить в самом начале материала, к моменту реализации данного проекта Джесси уже имел некоторый опыт работы на бирже. По его словам, он два года был трейдером в «обычном» режиме, начиная с 2001-го. Зарабатывать тогда можно было с помощью развития способностей к интуитивному распознаванию паттернов поведения того или иного сегмента рынка и, базовой дисциплины. Его доход составил около 250 тыс. долларов — эти деньги пошли на оплату учебы и накопления, часть из которых Джесси вложил в ряд стартапов.

Над ними он работал пять лет, совершенствуя свои навыки программирования, а когда продал компании, вернулся к трейдингу. Это был уже 2008-й год. На этот раз Джесси использовал ПО под названием T4 и подумал, что можно было бы реализовать для себя ряд «горячих клавиш». В этот момент он обнаружил открытый API на C#, а потом, освоив его базовые методы, решил научить компьютер торговать за себя. Прикладной интерфейс позволял получать и отправлять данные и команды на биржу, и Джесси оставалось разработать только логику поведения торгового алгоритма.

Рабочее окно T4: Джесси Сполдинг
Герой истории говорит, что проектировал программу так, чтобы можно было отслеживать ход торгов в наглядном интерфейсе и следить за тем, как происходит исполнение команд в рабочем окне. С учетом того, что все операции были за его счет зрелище было «пугающим, и захватывающим одновременно». Поэтому здесь было не обойтись без проверки системы еще до начала реальной игры на бирже.

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

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

Предсказание поведения рынка


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

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

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

Почему и этого было недостаточно


По описанию проекта может сложиться ощущение того, что стоит только запустить такой торговый алгоритм, и герой рассказа сразу озолотится. Конечно, это не тот случай. И вот почему:

  • торговые операции подразумевают комиссию;
  • на рынке торговые алгоритмы конкурируют друг с другом;
  • предсказание выгодных условий сделки != исполнение команды;
  • в HFT-трейдинге ключевую роль играет скорость реализации сделки.

Продолжение рассказа — здесь.
Tags:
Hubs:
+73
Comments 61
Comments Comments 61

Articles

Information

Website
iticapital.ru
Registered
Employees
51–100 employees
Location
Россия