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

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

Reading time 3 min
Views 61K

Изображение: Chris Liverani — Unsplash

Это продолжение разбора темы (часть 1), захватившей мое внимание и пришедшейся по душе на Хабре. Обсуждаем проект парня, который, применив свой опыт в IT, смог заработать полмиллиона долларов.

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

Такая система, хоть и в тестовом варианте, должна была позволить ему отправлять и исполнять команды, открывать позиции и смотреть, как можно максимизировать прибыль в рамках торговой сессии. Вне пробной «песочницы» экономическая эффективность работы такого ПО зависит от скорости исполнения команды. Поэтому нужно было учитывать временной лаг, приходящийся на анализ команды и проверку актуальности предложения на стороне системы (около 20 миллисекунд, но при настоящий торгах это время может значительным образом меняться), и влияние общего потока сделок (который обеспечивает API) на скорость исполнения команд.

Обеспечить симуляцию реальных условий было невозможно, но Джесси сделал максимально близкий вариант, исходя из имеющихся у него ресурсов. Например, реализовал подобие очереди команд, работавшей по системе first-in first-out, по аналогии с действующей на рынке. На ее основе — воспроизвел в упрощенном виде систему исполнения торговых операций, а потом — усовершенствовал ее с помощью логов, собранных во время реальной торговли с использованием API и сопоставленных с логами симуляции торгов за тот же самый временной отрезок.

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

Что обошли стороной


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


Изображение: Chris Liverani — Unsplash

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

Выводы


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

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

Вам понадобится команда очень умных коллег с большим количеством навыков, чтобы просто попытаться составить кому-либо конкуренцию на рынке. Даже тогда, когда я писал свою программу, одиночки крайне редко достигали успеха (но я слышал о таких). Вот мой FAQ по вопросам, которые я получал от трейдеров, прочитавших пой пост.
Tags:
Hubs:
+21
Comments 6
Comments Comments 6

Articles

Information

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