После 100 часов программирования, которые растянулись на три месяца, Майк Суле (Mike Soule) был готов к запуску своего проекта. При этом, он не знал, чего ему ожидать — если бы все пошло, как надо, то в будущем его мог ждать финансовый успех. А если нет, то он мог потерять все свои накопления.
Он работал не над мобильным приложением или очередным интернет-магазином. Он создал программу, которая должна покупать и продавать акции 24 часа в день 5 дней в неделю.
Алгоритмическая торговля на бирже — это новое измерение явления DIY. Подталкиваемые собственным любопытством, черпая информацию из онлайн-курсов и материалов таких же любителей, как они сами, тысячи дейтрейдеров пишут свой торговый софт и выходят с ним на рынок.
«Это определенно одна из тех вещей, когда ты не знаешь, сработает ли все», — говорит Суле, студент университета Невады в городе Рино и сетевой адмнистратор госпиталя Tahoe Forest. «Когда робот начал торговать, это было просто вау. Не знаю, этого ли я ожидал, но я это сделал».
Брокерские компании активно привлекают клиентов, разрабатывающих торговые роботы — статьи о трейдинге собирают десятки и сотни тысяч просмотров, обучающие YouTub-видео смотрят сотни тысяч людей. Один из таких курсов создал профессор Технологического университета Джорджии Такер Балч (Tucker Balch) — видео его курса посмотрели более 170 000 человек. И несмотря на то, что до его конца добираются лишь около 5% зрителей, на прошедшем в апреле в Нью-Йорке мероприятии, посвященном алгоритмической торговле, три человека попросили его автограф. «Профессоров университета очень редко просят об автографе», — говорит Балч.
Видеолекции Балча смотрел австрийский менеджер проектов Александр Соммер (Alexander Sommer) — он хотел освоить основы алгоритмической торговли. Теперь каждое утро перед тем, как отправиться на работу, Соммерс просыпается от звука пришедшего email-сообщения, в котором собраны все предстоящие сделки дня. Сообщение генерируется созданной им торговой платформой, которая выставляет приказы в автоматическом режиме с помощью алгоритмов, написанные им и его тремя торговыми партнерами. В это «совместное предприятие» партнеры вложили $200 тыс. собственных средств — они используются для торговли акциями списка S&P 500 и Nasdaq Composite.
Днем Соммерс — менеджер проектов европейской нефтяной компании OMV Group. С 9 вечера и до полуночи — он член, команды, которая работает над улучшением торговых алгоритмов. Соммер должен все перепроверить к тому моменту, как американские биржи откроются — у него в Вене к этому времени уже будет 15:00. После закрытия рынков он проверяет, были ли осуществлены все нужные сделки. Соммер и его партнеры делят смены, когда нужно следить за работой роботов, по очереди.
Мультимиллиардные хедж-фонды, вкладывающиеся в технологии, уже давно привлекли внимание регулирующих органов и властей разных стран. Частные трейдеры попали на радары после того, как весной 2015 года был арестован и экстрадирован в США трейдер, работавший из своего дома в Западном Лондоне. Его действия привели к обвалу индекса Dow Jones на 1000 пунктов в мае 2010 года.
Случаются и сбои — когда Майк Суле в 2013 году решил отправиться в Исландию и после нескольких дней почти без интернета вернулся домой и подключился к сети, то понял, что что-то не так. Его счет был значительно меньше, чем до поездки.
«Я понял, что тут не все в порядке. Я почти все потерял».
Суле обновил свой торговый алгоритм незадолго до того, как сесть на самолет. И в то время, как он и пятеро его друзей ездили по стране, его софт из-за ошибки терял деньги. Всего робот проиграл больше $6000 — около 60% от депозита в то время. Выяснилось, что проблема была в опечатке, которая привела к тому, что программа покупала в два раза больше акций, чем продавала.
«Когда я вернулся и увидел, насколько простой была ошибка, я был очень расстроен. Но винить было некого».
С помощью алгоритмов трейдеры могут отслеживать поведение сотен акций одновременно, что совершенно невозможно сделать вручную. Стратегии могут быть сложными, учитывать появляющиеся новости или даже обсуждения в социальных сетях, а могут делать ставку на быстрое реагирование в ходе движений цен.
Простой алгоритм может работать, к примеру, по такой схеме: если объём торгов определенной акций уходит ниже минимального порога, а 50-дневная скользящая средняя этой акции пересекает 200-дневную вверх, то следует купить акций на $100. Если объём торгов достигнет минимального порога, и 50-дневная скользящая средняя пересекает 200-дневную по направлению вниз, то продать акций на $100.
Число инструментов для создания торговых роботов частными трейдерами постоянно увеличивается. Например, платформа Quantopian позволяет трейдерам бесплатно создавать свои алгоритмы, а создатели самых результативных получают премию. Другая компания, Rizm, предлагает инструмент для создания роботов в простом графическом редакторе — таким образом сделать это могут даже люди, не знакомые с программированием. В нашем блоге на Хабре мы описывали 11 инструментов для создания торговых роботов.
В поисках торговых идей трейдеры читают книги, блоги, просматривают дискуссии в Twitter и изучают академические финансовые журналы.
Некоторые торговые системы могут быть построены с помощью даже Microsoft Excel, какие-то стратегии довольно просто запрограммировать. Однако всегда требуется тратить много времени на тестированией идей — и здесь все уже сложнее.
«Некоторые стратегии можно запрограммировать двумя строчками кода, — говорит Соммер. — А вся остальная работа может легко занять и 5000 строк».
После неудачи Суле остановил свой алгоритм на полгода — это время он потратил на разработку новых инструментов, которые проверяют код на наличие ошибок, прежде чем алгоритм начнет работу с реальными деньгами. Не так давно, по его словам, созданные им торговые системы вышли на «комфортную прибыльность», а число прибыльных месяцев перевесило число завершившихся убытком.
«Это для меня все еще хобби. Было бы здорово однажды получить пассивный доход, который превысит “активный”», — говорит Майк. «Но я особенно не тороплюсь в этом плане. Мне все еще нравится иметь полноценную работу на каждый день».
Читайте также: Редакция блога ITinvest на Хабре пообщалась с разработчиком Андреем Горьковенко, который рассказал, как знание C# и C++ помогает заработать на фондовом рынке.
Ссылки на материалы по теме:
- Фондовый рынок: Как устроены биржи и зачем они нужны?
- Инструментарий фондового рынка: что такое фьючерсы и как они работают
- Инструментарий фондового рынка: что такое опционы, и как они работают
- Что такое фондовые индексы и зачем они нужны
- Книги и образовательные ресурсы по алгоритмической торговле
- Алгоритмическая и автоматизированная торговля: 13 книг по теме
- Образовательные ресурсы ITinvest
Комментарии (13)
fivehouse
09.12.2015 18:00Безусловно заманушная статья. А прежде чем вкладывать во что-то деньги и свой труд, надо просто ЧЕСТНО и СТРОГО протестировать свою стратегию. Благо, что история цен всегда доступна. Имено так: ЧЕСТНО и СТРОГО и без каких либо оправданий и ссылок на лучшее будущее. Будте предельно честными по отношению к самому себе. Это первый тест самого человека, который собрался что-то делать в области биржевых спекуляций. Если вы этого не сможете, то вы просто подарите свои деньги под воздействием собственных естественных страхов.
Fen1kz
09.12.2015 18:09+1200000$ собственных средств
…
$6000 — около 60% от депозита в то время
Ничего себе хобби простого сисадмина.
Siper
09.12.2015 18:15+1Милое фото. Держа за руку младенца можно разве что колбасить пару фьючей сбера.
Написание алгоритма робота — сложнейшая задача требующая 100% сосредоточения. А писать придется все время.
Dywar
09.12.2015 18:57Такими темпами скоро это превратится в борьбу университетов (математические направления, 99% населения уже не в состоянии будет написать что то лучшее), если уже не так.
Подумают что ерунда получается, и примут законы что бы как это контролировать, пока мега-корпорации тянут миллиарды пассивного дохода :)
Xu4
09.12.2015 22:15Кроме модуля, который работает с биржей нужно иметь экспертный модуль, который оценивает имющиеся средства и динамику, с которой изменяется их объём. Ещё лучше, когда есть несколько модулей для работы с биржей, которые торгуют по разным алгоритмам. Разные алгоритмы подразумевают разные уровни риска, и можно лимитировать количество денег, доступное для торгового модуля, в зависимоти от уровня риска и в зависимости от дохода, который тот может генерировать. Тот же самый новый алгоритм (в статье пишется, что была опечатка в коде) просто выделялся бы в отдельный модуль, и по итогам его работы экспертная система уже решала бы, нужно ли уменьшить его финансирование или увеличить.
Это обычная диверсификация. Можно её понимать не только как набор бумаг в портфеле, каждая из которых имеет свой риск, но и как набор алгоритмов, каждый из которых работает с определённым уровнем риска, и соответственно этому можно распределять бюджеты по алгоритмам.
В любом случае, доверяться одному алгоритму и останавливать его на полгода из-за фейла в разработке — не круто. Можно было просто сделать форк для каких-то нововведений, а старый алгоритм работал бы параллельно — с той эффективностью, с которой он и работал до этого.
BelBES
«Однорукий бандит» для хипстеров?)
itinvest
Ну с казино сравнения, конечно, некорректные. Скорее возможность для айтишников применить свои навыки в рамках хобби, которое может приносить какой-то доход
format1981
Сравнение с покером мне кажется корректно:
— и там и там новички думают что только везение тебе поможет, что можно действовать по интуиции
— начав изучать, понимаешь что все просчитывается (опыт и теория вероятности в помощь) и это не игра одной раздачи/сделки, а бесконечный процесс
— и там и там пишут ботов
BelBES
Вероятность стабильного заработка тут сопоставима с игрой в рулетку. По большому счету мы можем только сделать удачную ставку и выиграть на ней… но объяснить, что повлияло на её выигрыш мы не можем. В целом восстановление функции от неизвестного числа параметров методом научного тыка — довольно не благодарное занятие.
lol_wat
Мне кажется, тут смотря на каком временном интервале рассматривать стабильность заработка — как я понимаю, могут быть в целом удачные и неудачные месяцы, а конечная оценка делается по какому-то более общему периоду. Типа, если по итогам года плюс, то значит все неплохо. Так я это понимаю
BelBES
Ну да… играя в рулетку тоже можно по итогам года в плюсе остаться (=
Artystarty
Игра в рулетку и игра на бирже — две большие разницы. В игре в рулетку вероятность выигрыша статистически вычисляется и она явно не в пользу игрока при любом раскладе. В игре на бирже есть понятие тренда, т. е. «психологическая» составляющая (которая отсутствует в рулетке). И неопределённость, выходящая за рамки статистической вероятности. То есть, если мы знаем, что стоимость акций какой-нибудь компании повышается в течении последнего времени, то можем предположить, что этот повышательный тренд продолжится в будущем на какое-то время. Мы пытаемся предугадать поведение группы людей, которые участвуют в этой же игре: будут ли они и дальше покупать акции, поддерживая их рост или нет? При этом у трейдера есть инструменты: аналитика и управление рисками. Трейдер способен ограничить свои потери на случай, если его предположение неверно. Например, использовать «принцип штанги» (его автор Нассим Талеб), вкладывая не все средства в рисковую операцию, а только ту часть, потерю которой он может себе позволить. Вероятность выигрыша в трейдинге (в отличие от «рулеточного») выше по причине совершенно другой природы наступления вероятного события. Например, вероятность выпадения 7 раз «зеро» подряд в рулетке настолько мала, что нет никакого смысла проделывать фокус с подобной стратегией. В «биржевой» торговле котировки могут расти день ото дня, год от года (конечно же, с циклами относительного падения), подтверждая наш «правильный выбор», и это не считается нонсенсом.