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


    Изображение: 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-трейдинге ключевую роль играет скорость реализации сделки.

    Продолжение рассказа — здесь.
    ITI Capital
    Лучший онлайн-брокер для работы на бирже

    Comments 61

      +14
      Жаль, в статье не указано (или же я невнимательно читал), каким депозитом он сделал 500k$ за полгода. Если 10kk$, то, вроде как, тут и заслуги особой нет, а если с 10k$, то он просто герой-стахановец :)
        +5
        Это перевод только 1 части статьи, в продолжении будет пара слов на эту тему :)
          +5
          Интригуете?
            +32
            Жанр сериалов на хабре)
              +4
              В следующей серии: герой отчаяно ищет того, кто же заплатил ему эти самые 500к $ за его работу. Щедрый работодатель скрывается в неизвестном напралении. Герой вновь запускает своего робота.
                0
                Герой понимает, что специфический синий цвет графиков и есть его конкурентное преимущество. Необходимо лишь где-то добывать сырьё для анализа, т.к. накопленного за четыре недели хватит только на 1000 сделок или 20к$. Остаётся заработать ещё 480…
          0
          В оригинале написано, что он — герой-стахановец :)
            +7
            Да, спасибо, нашел в комментариях.

            Он начал с 10k$, довел до 30k$ ручной торговлей, после чего запустил свою шайтан–машину.
              +14
              Эмм… вручную высокочастотным трейдингом занимался? Или парень чемпион мира по Counter Strike, или трейдинг был не выскочастотным)
              Вообще впечатление от статьи примерно как и от книг «как заработать на Forex»… наверно зря воротилы трейдинга оптимизируют всё, вплоть до длинны проводов между своими серверами и торговыми, если можно вот просто так взять клиент с открытм API и заработать полмиллиона в одни руки за год...)
                +4
                По графику видно что это работало в 2009 — 2010 годах
                И думаю это было не просто и достаточно рискованно.
                  +3
                  Полагаю, что полмиллиона в год — это крошки в сравнении с многомиллиардными сделками, для которых оптимизируют длину проводов. Потому это в какой-то мере возможно :)
                    0
                    Мой шапошный знакомый несколько лет назад попал в десятку лучших российских Форекс-трейдеров. Единственный среди роботов. До сих пор на эту тему на работе шутят. Но он так напрягся, что этим больше не занимается :) Дневал и ночевал в обнимку с рыночным софтом.
                0
                На биткоиновой бирже можно получать 10% в месяц без всяких ботов, главное не жадничать
                  0
                  А что случится, если начать жадничать?
                    0
                    Эт как?
                  +1
                  Интересно. Жду продолжения! А подробности про использованные индикаторы будут?
                    +14
                    Да просите уже сурсы на git, че там…
                      0
                      Рыночной ценности от алгоритмов работавших в 9-10 году уже почти никакой, так что вполне возможно что автор ими может поделиться.
                    +10
                    А что автор перевода думает по поводу:
                    I do not advocate anyone trying to do something like this themselves now. You would need a team of really smart people with a range of experiences to have any hope of competing. Even when I was doing this I believe it was very rare for individuals to achieve success (though I had heard of others).

                    ?
                      –1
                      Предупреждает, что не призывает всех и каждого пытаться сделать это, потому что для этого нужна команда умных людей; а так чтобы получилось у одного человека — случается крайне редко.
                        +10
                        Мне серьезно поставили минус, подумав что я перевод выпрашиваю? :)

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

                        По-моему в этом случае вполне логично подвергать сомнению пользу от статьи/перевода в контексте поставленной задачи.
                          0
                          Не знаю, кто что подумал, я не минусовал :)
                          А почему вас удивляет, что автор статьи и автор перевода имеют различное мнение насчет полезности этого текста?
                            0
                            Меня не столько удивляет, сколько интересен ход мыслей автора перевода.

                            Действительно ли он не согласен с автором статьи?
                            На чем базирует своё мнение?
                            Знает ли он какие-то новые техники?
                            Есть ли у него свой положительный опыт?

                            Я в этой теме очень смутно разбираюсь — это не попытка потроллить, а искренний интерес.
                      +69
                      Не понял — что где скачать и куда нажать?
                        +10
                        Скептически отношусь к таким историям. На хабре есть разработчики алготрейдинга? Пусть расскажут что, да как.
                          0
                          Ничего конкретного написано не было, самые главные пункты:
                          1. Размер депозита.
                          2. Удаленность от биржи и технические скорости/мощности.
                          3. Что за индикаторы.
                          4. Какие акции.валюты и их курс на протяжении времени игры (элементарно курс мог только повышаться).
                            +9
                            Давно изучаю трейдинг и торговлю при помощи софта/роботов. Вот это самый пикантный момент во всей истории:

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

                            Это всё равно что написать: «Я нашёл банк, который в месяц со 100 долларов выплачивает 200 долларов в виде процентов, только где этот банк находится я вам не скажу». Упрощённо говоря, индикатор — это некая функция, которая принимает в качестве аргумента курс некого биржевого актива (на бирже их называют инструментами) и, используя некий алгоритм, строит дополнительный график на той же координатной оси где построен график курса и объёмов торгов этого актива. Цель индикатора — визуализировать моменты входа и выхода (открытия и закрытия позиции). Индикаторов существует множество, но суть их всегда схожа.

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

                            Между тем, можно ли реально найти некую функцию, которая, принимая в качестве аргументов биржевые курсы и объём торгов, будет указывать грядущее движение цен? Об этом до сих пор спорят лучшие умы планеты. Например, известный трейдер А. Элдер по этому поводу писал, что некоторыми людьми движет навязчивое желание найти порядок в хаосе.

                            В биржевой торговле существует ряд известных документированных способов гарантированно получать небольшую, но прибыль. Если при этом научиться ещё и минимизировать издержки, можно выйти на некоторый гарантированный плюс. Но этот плюс при всём желании составит 15-20% годовых.

                            Обычно все подобные статьи заканчиваются попыткой продать написанное ПО. Потому как кроме как с его продажи желающим быстро разбогатеть, монетизировать предлагаемые «алгоритмы» обычно не удаётся.
                              +2
                              В биржевой торговле существует ряд известных документированных способов гарантированно получать небольшую, но прибыль. Если при этом научиться ещё и минимизировать издержки, можно выйти на некоторый гарантированный плюс. Но этот плюс при всём желании составит 15-20% годовых.


                              Расскажите об этом подробнее.
                              0
                              Вот специалист. линк
                              +3
                              Присоединяюсь к Tutufa и призываю всех победителей конкурсов ЛЧИ (лучший частный инвестор) дать фидбек о том, как они этого добились и повлияли ли их победы на личное благосостояние и в какую сторону.
                                +1
                                >> смог за год заработать полмиллиона долларов
                                Если он заработал, то кто-то эти полмиллиона потерял. И вероятность, что большинство окажется среди тех кто потерял намного больше.
                                  +4
                                  Это не всегда верно. Все-таки рынок акций растет вместе с экономикой в долгосрочной перспективе. Также следует помнить, что в 2009-2010 году была коррекция после обвала 2008 года. Тогда можно было прилично заработать просто купив акции на дне.
                                    0
                                    вы серьёзно считаете, что эти деньги волшебным образом нарисовались из воздуха и были выплачены автору?
                                  +12
                                  А я успешно потерял за 3 месяца 500$, и на этом завязал с трейдингом :D
                                    –13
                                    Держите нас в курсе.
                                      +19
                                      Обязательно!

                                      Проблема трейдинга и Success Stories в том, что они НИЧЕМ не помогут вам лично.
                                      Как думаете, откуда берутся тут деньги? \
                                      Как думаете, откуда тонна всяких «Форекс! Бесплатно! 100$ для начала трейдинга!»?
                                      +3
                                      При таком размере счета логично предположить, что это был форекс :). Если так, то тогда ничего удивительного.
                                        0
                                        во второй статье, я думаю, расскажут, что за площадка была у автора, но туда явно не впишешься со стартовыми 1k$-5k$.
                                          0
                                          LMAX например позволяет вообще экономить на спрэде, т.к. попадаются аналогичные аск и бид от разных маркетмейкеров. Но туда меньше чем с 10 000 у.е. не влезть.
                                      +7
                                      Даешь историй в духе: «Как я просрал все сбережения на форекс» или «Как я влез в долги и просрал квартиру на рынке» и т.д. Почему-то о негативном опыте знают только в лучшем случае брокеры. Если бы в информационное поле попадали эти истории в том соотношении, в котором есть на самом деле отношение выигрывающих к проигрывающим, было бы правдивее. Уберите из этой статьи упомнинаие про $500k и вся ее «прелесть» исчезнет.

                                      Ну и еще вопросы: не слил ли он это депо годом позже? Если он в 2001 зарабатывал по $250k, то с 2001 по 2009 у него должно было быть уже порядка 2 млн. А сейчас что с его стратой? Зарабатывает или сливает?

                                      В общем, очередное саксесс-стори без фактов и доказательств.
                                        0
                                        Однозначно поддерживаю. Помимо определения «очередное саксесс-стори» добавил бы «очередной пиар форекс-кухонь». :)
                                        +10
                                        "два года проработал трейдером в «обычном» режиме"
                                        вот ключ его успеха, то есть без серьезного опыта торговли лучше не соваться
                                          +7
                                          Гражданам без серьезного опыта всегда рады в сотне-другой Форекс-курятников с кредитным плечом 1:100500.
                                            0
                                            Два года для этой сферы не срок совсем, после этого всё только начинается. К этому моменту как раз начинает проявляться стресс, накопленный за эти пару лет.
                                            +7
                                            Перевод хороший, но вот текст… впечатление, что человек хочет рассказать все, ничего особого не раскрывая, а переводчик, не владея деталями (теми, что автор старается не раскрыть), еще более напускает тумана.

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

                                            Если бы так здесь авторы свои программы описывали, авторов бы на Хабре освистывали — ни единого факта, кроме вторичных цифр — вроде числа 50 во фразе «я распределил предсказанные скачки цен по 50 группам», которое, вроде как, подчеркивает серьезность подхода… правда, к чему, непонятно.

                                            Много раз видел более подробные статьи по разным темам — обычно от них «слюнки текут», но всем же понятно, что даже рассказанного повторить нужно много-много мозгов и опыта, а автор за это время уйдет далеко вперед. Здесь же, извините, как раз рассказ «когда-то удачника». Собственно, он так и пишет в начале: он начинал торговать «в годы становления электронных торгов, когда мелкие спекулянты имели возможность неплохо заработать», к машинному трейдингу перешел, когда это было еще не заезженно, и можно было сорвать свой куш. Сейчас, когда уже скоро школьники начнут торговые алгоритмы писать (сколько из читателей этой статьи подумали «опа, попробую поднять не $500K, ну хоть $5-10К, чем не прибавка к заработку?!»), торги уже изменились — автору оригинальной статьи, если он еще этого не сделал, нужно бы срочно найти для себя что-то новое.

                                            Ну, или изображать «ветерана е-торгов». Жаль только, что слава эта скоротечна, на подходе толпы свежих «ветеранов», уже с другими, более свежими историями «когда-то-успехов».
                                              +1
                                              Сейчас, когда уже скоро школьники начнут торговые алгоритмы писать

                                              Пусть пишут — ликвидность никогда не бывает лишней.
                                                0
                                                Хотя, нет, не получится. Чтобы открыть счёт у брокера, нужно быть старше 18 лет.
                                                  +2
                                                  На биржах электровалют сегодня никаких формальностей не нужно. Хотя там и оборот, конечно, меньше.
                                                0
                                                Я вот это тоже не понял. «Поскольку я больше не использую мою программу, то свободно могу рассказать об этом все.», а по факту как вы описали. Он мог бы сократить свою статью до вашего варианта и не тратить время читателей.
                                                  +1
                                                  Иногда хочется написать «хрестоматию сокращенных статей».

                                                  Как в анекдоте про пронумерованный список анекдотов, право слово )
                                                    0
                                                    offtopic Я как-то полистал пару книжек из серии «Вся… литература в кратком изложении» (вместо троеточия подставить «русская», «средневековая» и т.п.) и удивился внятности и информативности большинства сокращенных изложений. Нет, ясно, что их художественная ценность близка к нулю, но само по себе написание такого «конспекта» мне показалось делом нетривиальным. /offtopic
                                                    0
                                                    Выглядело бы убедительнее, если бы было «Поскольку я больше не использую мою программу, то выложил её исходники на гитхаб *линк*».
                                                • UFO just landed and posted this here
                                                    0
                                                    Под постом между иконкой добавления в избранное и ником автора поста.
                                                    0
                                                    стремно это дело, а статья пахнет пиаром и разводом
                                                      +3
                                                      А зачем переводить статьи 2012 года в которых всего по 3-10 комментариев к каждой? Судя по всем они небыли популярны.
                                                      Я понимаю, если бы это был какой-то очень популярный цикл статей, который ещё не переведён на хабре. А тут мы видим старые посты сомнительной достоверности.
                                                        +1
                                                        Как говорили на одной айтишной конференции, на бирже зарабатывают быстрые, хитрые и умные. Быстрые — на скорости принятия правильных решений, хитрые — за счет инсайдерской информации, умные — за счет комиссии. Автор саксесс стори, видимо, имеет технические возможности реализовать «быстрый» вариант. Что ж, можно за него только порадоваться :)
                                                          0
                                                          Forex — килалово и отжим денег у доверчивых граждан.
                                                            +8
                                                            как то все желто и совсем далеко от темы. походу ни автор статьи ни переводчик не в теме ну никак.

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

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

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

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

                                                            возьмем бтс. Пользователи: 8888 Боты: 1124

                                                            итого, ~10% сидят через терминалы, т.е. хоть что-то понимают в трейдинге, а не тыкают в ордера ориентируясь на дневном графике со страницы пар. из этих 10%, лишь 1% реально может что-то сделать. из этого 1% дай бог 1-2 имеют на счетах достаточно валюты что бы двигать рынком и если они в группе и работают сообща (в чем я почти уверен), то нет практически никаких шансов. остальные всегда будут в проигрыше ибо не понимают ни принципов ни законов, а те, кто в теме, могут чуть-чуть себе откусить. 10-15% в месяц я считаю для себя очень удачными при 1 сделке в 1-2 дня ориентируясь как минимум на недельный график, но никак не на дневной.

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

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

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

                                                            и не забываем, что только биржа всегда в плюсе и спокойствие и только спокойствие, Ватсон!
                                                              –2
                                                              How I made $500k with machine learning and HFT (high frequency trading)

                                                              Возможный оригинал статьи
                                                                0
                                                                Эта ссылка есть под этой статьей-переводом.

                                                              Only users with full accounts can post comments. Log in, please.