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

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

Моя первая сделка

Мой первый набег на трейдинг состоялся еще в 2009 году. В то время я работал в компании по управлению нефтепромысловым оборудованием над SCADA-системами. У меня было несколько коллег, которые активно торговали, и один, которого я назову «D», научил меня некоторым основам стоимостного инвестирования. Он научил меня изучать «профильные» разделы акций Yahoo Finance и анализировать соотношение долга к собственному капиталу. Я думал, что разобрался, открыл счет в Fidelity и тут же потерял 3500 долларов, инвестировав в мошеннический шедевр китайской Комиссии по ценным бумагам и биржам под названием Duoyuan Global Water (DGW), который выглядел фантастически. на бумаге. На какое-то время я отказался от иностранных акций, стоимостных инвестиций и трейдинга.

Самый правильный я когда-либо был

Пару лет спустя, в 2012 году, я наткнулся на технический документ о Биткойне, когда он был еще совсем новым. Я быстро проповедовал концепцию криптовалюты своим коллегам, настроил свою машину как установку для майнинга и присоединился к майнинговому пулу. Я думаю, что в общей сложности я добыл более 42 BTC. В 2013 году я ушел из нефтесервисной компании, чтобы основать собственную компанию по разработке программного обеспечения, и, как и большинство индивидуальных участников, ставших владельцами бизнеса, я понятия не имел, что делаю, когда дело касается продаж и маркетинга. Мой бизнес просуществовал дольше, чем у большинства новых компаний, но в течение пяти лет у меня закончились деньги, и я постепенно продал свою криптовалюту, чтобы поддерживать свет.

К 2018 году у меня, наконец, закончился капитал и идеи о том, как сохранить свой бизнес. Я начал искать работу, и несбыточная мечта о заработке на жизнь снова закралась в мою голову. Мне не потребовалось много времени, чтобы найти контент на YouTube и Twitch, связанный с торговлей, и я наткнулся на тогдашнее название CryptoTradersTV. В течение следующих нескольких месяцев я начал совершать небольшие сделки по копированию криптовалюты на Kraken, изо всех сил стараясь следовать изложенным ими правилам безэмоциональной торговли, но это было сложно. Я все еще был эмоционален, торговал местью и, как правило, не имел четкого представления о стратегиях, которые они использовали.

Гекко

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

Мне не потребовалось много времени, чтобы обнаружить, что у Gekko есть некоторые фундаментальные недостатки в его дизайне. Ребята из CryptoTradersTV все время говорили об изучении трендов в разных временных масштабах. Посмотрите на месячный, посмотрите на недельный, куда движется цена? Где он может отскочить? Gekko работал с фиксированной продолжительностью свечи X минут. У Gekko также было сопутствующее программное обеспечение под названием GekkoGA, которое использовало генетические алгоритмы для изменения параметров и попыток оптимизировать стратегии для бэктестов. Я создал множество таких стратегий на основе различных индикаторов технического анализа и провел потрясающие тесты на исторических данных. "Успех!" Я думал. «Я разбогатею!»

Совет для всех… не влюбляйтесь в свои бэктесты.

Какое-то время я торговал на бумаге, а затем торговал в реальном времени на счете Bitstamp (я полагаю, что в то время их комиссионные были ниже), а затем на Kraken, и смог собрать едва прибыльную стратегию, вероятно, из-за чистой удачи. Но фундаментальные ошибки Gekko продолжали ловить меня в причудливых пограничных случаях. И что хуже всего, выравнивание свечей было не по календарю, а по времени запуска. Это означает, что если я торговал 15-минутными свечами, это было с шагом 15 минут с момента запуска приложения. Это ужасный дизайн, потому что это означало, что я был единственным человеком в мире, который смотрел на данные таким особым образом, и в конце концов я понял, что это именно то, что вам не нужно делать в трейдинге.

Начать сначала

После того, как у меня было достаточно ошибок Gekko и, в частности, сломанной функциональности Bitstamp, я решил, что, вероятно, пришло время начать все сначала. Я не собирался создавать все это, я просто собирался создать инструмент торгового журнала. Это все, что мне было нужно.

К тому времени я был ярым поклонником Clojure, а Gekko заставил меня совершенно осточертеть от nodejs. Итак, я создал парсер свечей на основе Clojure для Kraken и небольшой набор таблиц базы данных для хранения данных. Я создал бумажного трейдера и несколько основных функций для определения размера позиций с учетом входа, стоп-лосса и цели по прибыли. Это было лучше, чем Google Таблицы, и в этот момент я зарабатывал на этом немного денег, поэтому я тратил на это больше времени. Я создал веб-интерфейс для отображения графиков цен и решил пойти дальше и подписаться на платный контент на Twitch, чтобы изучать их видео по запросу. Я узнал о горизонтальной поддержке/сопротивлении из некоторых старых видео по запросу, и вдруг что-то щелкнуло. Эта штука с несколькими временными масштабами, вероятно, была решением, которое я искал.

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

Альпака

Некоторое время спустя я разговаривал с членом семьи о том, чем я занимаюсь, и упомянул об успехах, которых я добился в торговле. Он хотел помочь мне, и поэтому мы предоставили мне небольшой краткосрочный заем, чтобы я мог экспериментировать и строить больше, уделяя особое внимание акциям. Исследование показало, что более новая платформа Альпака была специально создана для алго-трейдеров (как я теперь называл себя), и поэтому за несколько дней я создал интеграцию с Альпакой, отражающую ту, что у меня была для Кракен. Кое-что было проще, но сложнее было получить доступ к качественным данным. Насколько я помню, в то время у Alpaca были некоторые пробелы и ограничения, поэтому я создал вторичный парсер данных для IEX и извлек из него свои исторические данные.

Настоящей стратегии у меня по-прежнему не было, так как я пытался выработать правила движения цены в пределах полос горизонтальной поддержки/сопротивления и иногда сильно ошибался. Но сейчас на меня было немного больше давления, поэтому я собрал что-то вместе и торговал на бумаге, а затем на реальные деньги, параллельно с торговлей криптовалютой в Kraken. Все вместе я получил чистую прибыль около 6% и выплатил кредит. Система не побеждала рынок, но мы и не теряли капитал.

Серьёзно

2019 год принес в мою жизнь большие перемены. Я перевез всю свою семью обратно в Сан-Франциско и устроился на новую работу. На этой работе у меня было несколько коллег, которые были экспертами по машинному обучению, и при каждой возможности я выслушивал их мысли о дизайне моей системы и о том, как я могу применить к ней машинное обучение. Один коллега, в частности C, очень помог мне, и в конце концов я смог включить библиотеку ThinkTopic Cortex в свой проект, в частности, используя нейронные сети Multi-Layer Perceptron. Я узнал о гиперпараметрах, функциях потерь и переоснащении (то, чем я много занимался с GekkoGA). И в течение года я расширил свою систему, чтобы она больше не выполнялась по полусырым правилам, которые я собрал воедино, а вместо этого непрерывно адаптировала модели нейронных сетей, обучаемых каждую ночь.

В 2020 году произошло несколько событий, которые сместили мое внимание. Разразился COVID, и внезапно у меня появилось намного больше свободного времени благодаря тому, что я не ездил на работу. Альпака подверглась большому выпуску версии 3.0, которая полностью прервала поток данных в реальном времени и временно стерла все доступные исторические данные. Внезапно я не смог торговать, поэтому начал искать других брокеров. TD Ameritrade был следующим лучшим API, поэтому я перенес все на него и не оглядывался назад. Я рад, что сделал это, потому что проскальзывание на Alpaca было абсолютно ужасным по сравнению с тем, что у меня было с Ameritrade.

Весной 2021 года всю мою компанию уволили, и мне пришлось убить пару месяцев, пока я искал работу. Я начал стримить на Twitch как CodingAndCoffee и создал гораздо больше инфраструктуры Impresario. Я добавил всевозможные запланированные задания, сигналы тревоги, аналитику отчетов и уведомления Discord для сделок.

В июне 2021 года правила маржинальной торговли криптовалютами в США изменились, и Kraken официально прекратил маржинальную торговлю для таких плебеев, как я. Я отключил всю свою криптографическую логику и продал свои активы. Я закончил и был готов начать изучать опционы и форекс.

Получение информации

За последние два года прирост капитала был хорошим, и теперь я планирую расширяться. Я начал разрешать копирование Impresario для некоторых близких друзей и членов семьи и увеличил свои виртуально управляемые активы до более чем полумиллиона долларов США. Я разработал работающую опционную стратегию и начал публиковать торговые сигналы на дискорде Moment’s Trading. Я запустил Patreon, чтобы друзья могли поддержать дальнейшее развитие. И совсем недавно я запустил стратегию на Collective2, которая позволяет любому свободно имитировать торговлю по моей системе или копировать торговлю за ежемесячную плату.

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

Кроме того, правовая база для финансов также полностью настроена против аутсайдеров отрасли. Положение D, Положение о краудфандинге и Закон о советниках были якобы «внедрены для защиты инвесторов и обеспечения того, чтобы они имели доступ к прозрачной и точной информации до принятия инвестиционных решений», но на самом деле просто препятствовали выходу конкуренции на поле. Лицензирование обычно требует, чтобы организация-член FINRA спонсировала вас, подразумевая, что «правильный путь» состоит в том, чтобы просто стать кем-то из страховых агентов WFG, а затем вы сможете только продавать страховки. На самом деле, чтобы иметь возможность продавать акции и управлять фондом, требуется что-то вроде сертификатов Series 7 и Series 99 AFAICT.

Для таких парней, как я, существуют услуги и решения, но у каждого из них есть оговорки и стоимость. Collective2, который я уже использую для публикации статистики, стоит мне 99 долларов в месяц. Darwinex стоит 10 тысяч долларов авансом за то же самое, но дает вам возможность получить финансирование от инвесторов. Если бы эта услуга позволяла клиентам из США, они, скорее всего, были бы моим следующим шагом.

Repool, «хедж-фонд в коробке», поможет вам запуститься за 50 000 долларов авансом и частью вашей компании. T3 Trading и другие подобные магазины позволят вам сохранить свою компанию, но торговля с ними требует, чтобы вы прошли относительно строгие (с точки зрения временного промежутка и выбора активов) требования к тестированию, и они взимают с вас любую плату, которую они могут сойти с рук.

Приятно иметь возможность перечислить, какие есть варианты, и ПРЕКРАСНО быть на этом этапе моего путешествия, но в то же время это невероятно расстраивает. Навыки и знания, которые привели меня так далеко, больше не пригодятся на пути, который лежит впереди.

Я с нетерпением жду возможности поделиться в будущем другими статьями о моем переходе от разработки программного обеспечения к менеджеру по стратегии алготрейдинга.

Если вы хотите продолжить, присоединяйтесь ко мне в my discord или Moment’s (ссылка выше) и найдите другие мои статьи здесь, на Medium или в сабреддите CodingAndCoffee.