Можно ли в одиночку разработать успешного торгового робота: Мнения пользователей Quora
В наших блогах на Хабрахабре и Geektimes мы много пишем о разработке торговых роботов. Мы уже рассказывали о том, как алгоритмическими трейдерами становятся сисадмины и менеджеры — у них это получается с переменным успехом. Пользователи ресурса Quora задались вопросом о том, сможет ли по-настоящему успешную торговую систему разработать ученый-одиночка. На основе их ответов можно составить понимание, насколько трудно соревноваться со специалистами из крупных инвестиционных банков и хедж-фондов.
Магистры в области естественных или инженерных наук часто получают работу на Уолл Стрит и разрабатывают впечатляющие стратегии. Учёный-математик способен адаптироваться и научиться создавать автоматические торговые системы в больших компаниях.
В домашних условиях это сложнее, добиться таких же результатов и стать невероятно богатым не получится, но учёный-одиночка вполне способен преодолеть препятствия, возникающие при независимой разработке. Самое главное — разработать по-настоящему прибыльные стратегии, которые будут приносить положительные результаты на рынке.
Необходимые условия и барьеры
Нужно разбираться в финансах и происходящем на рынках
В работе хедж-фондов не существует секретных ингредиентов, о которых никто вам не рассказывает. На самом деле технически грамотные специалисты и выпускники вузов добиваются успешных результатов, используя в работе знания и техники из других сфер. Образованные люди могут применять опыт, например, из физики, биологии или генетики, но заменять наборы данных на цены фьючерсов и прочие финансовые показатели.
Нужно хорошо изучить базовые рыночные механики, без этого не обойтись. Но отсутствие знаний при желании можно восполнить чтением полезных книг. К выбору литературы стоит подойти внимательно.
Алгоритмическая торговая платформа
Сегодня это уже не препятствие. Можно продолжать программировать и применять для разработки два самых распространённых языка в научных кругах: Matlab и Python. Существуют инструменты с открытым доступом и платформы, которые значительно упростят задачу.
Издержки и тестирование выгодной стратегии
Во время разработки торговой стратегии самая распространённая ошибка — приближение с помощью кривых. Такая стратегия заточена под работу с историческими данными (бэктестинг), поэтому её труднее адаптировать к происходящим изменениям на рынке — в кризисных ситуациях чрезмерная оптимизация навредит.
Разработчики обычно применяют бэктестинг для моделирования различных рыночных моделей с изменением условий, фильтрации недостаточно невыгодных стратегий, оптимизации стратегии для повышения её производительности в реальных условиях и проверки на ошибки в коде системы.
Бэктестинг может быть полезным, но такой метод проверки работает не всегда правильно — симуляция рыночных условий и параметров конкретной площадки не передаст всех возможных событий процесса, происходящего в реальном времени. Производительность стратегии необходимо измерить при большом количестве разных значений входных параметров.
Трейдер работает из дома / Lars Plougmann/Flickr
На основе событий на рынке алгоритм должен генерировать команды на покупку или продажу, с чем связаны общий доход и убыток. Успешность алгоритма — это общая величина дохода и убытка (P/L) в заданном временном промежутке работы системы.
Во время тестирования разработчик может пренебрегать промежуточными потерями денег, если видит, что конечный результат на длинном отрезке принёс прибыль. Но на практике убыток в треть или четверть капитала могут спровоцировать поведение, которое в итоге приведёт к неудаче.
Начальный капитал и затраты
Для большинства торговых стратегий нужны миллионы долларов начального капитала, чтобы получить достаточно прибыли для жизни. Например, если вы точно можете зарабатывать 10% в год, тогда вам нужно найти около миллиона долларов, чтобы работа над системой и стратегиями стала вашим основным источником дохода. На зарубежных рынках фьючерсов большинство контрактов стоят выше $20 тысяч, поэтому для торговли на таком рынке вам нужны сотни тысяч для стартового капитала. Но, например, на срочном рынке Московской биржи, где контракты стоят дешевле, можно обойтись и меньшими суммами.
Неопытные трейдеры всё внимание уделяют эффективности своего алгоритма, но забывают про расходы, которые могут нивелировать весь полученный доход, ведь биржа и брокер взимают комиссии за проведённые транзакции.
Пример теста с теоретически выгодной торговой стратегией:
Denis Bykov
Вот что происходит, если мы повышаем издержки на 10%:
Denis Bykov
Вместо впечатляющих доходов мы получаем серьёзные потери. Желательно, чтобы ваша торговая платформа поддерживала тестирование с торговыми комиссиями, в противном случае вам придётся дописать часть кода для учёта примерных ежедневных расходов самостоятельно.
Проскальзывание и задержки
Проскальзывание — это разница между ценой, по которой алгоритм должен совершить сделки, и ценой реально осуществлённой сделки. Проскальзывание возникает из-за того, что между отправкой команды на сделку и осуществлением операции происходит задержка. Этот момент нужно учитывать, особенно, когда цены изменяются каждую долю секунды, чтобы не получить в итоге из казавшейся выгодной сделки невыгодный результат.
Ликвидность
Неосторожная работа с неликвидными финансовыми инструментами может оказать сильное влияние на рынок. Если вы покупаете большое количество акций, которые обычно торгуются меньшими объёмами, то приведёте к неприятному изменению цены. Поэтому нужно обучить систему разбивать такие сделки на много небольших команд, так влияние не будет сильно заметно.
Предстоит конкурировать с профессионалами. Советы
Не стоит идти в прямое столкновение с большими банками и фондами. Делайте то, чего они делать не могут. Они оперируют миллиардами долларов, это большие и медленные организации. В вашем распоряжении гораздо более скромные суммы, поэтому вы можете действовать быстрее.
Оценивайте ваши силы реалистично. Поработав над проблемой некоторое время, вы будете разбираться в рынках так же хорошо, как и профессионалы в больших банках. Но гиганты получают больше потому, что больше вкладывают. Не стоит ждать, что вы будете зарабатывать миллионы. Однако вы превратите это в свою основную работу.
Вы можете проводить операции, которые недоступны большому банку на законодательном уровне. По закону трейдеру банка или хедж-фонда запрещено использовать информацию, недоступную для вас, так обеспечивается более честная конкуренция на рынке.
Очень важная вещь, отличающая трейдера от азартного игрока — контроль прибыли и убытков. Чтобы не потерять все свои деньги, следует рассуждать и действовать максимально честно и объективно по отношению к себе. Довольно легко погрузиться в процесс и упустить из виду потерю денег в погоне за большим заработком.
Если вы видите яркое предложение или рекламу, призывающую что-то продавать — не поддавайтесь. Если бы они зарабатывали на этом, то никому бы не предлагали попробовать. Эти рекламодатели надеются, что вы принесёте им деньги, специально для вас выгодные пути никто искать не будет.
С технической точки зрения разработать и настроить свою алгоритмическую торговую систему в домашних условиях не так сложно, особенно для учёного. Но желание применить «самые передовые» техники из математики или физики и перенести их на разработку торговой стратегии может стать препятствием. По аналогии с физикой — самые успешные физики обладают интуитивным пониманием фундаментальных процессов, до применения математических расчётов и построения моделей.
Другие материалы по теме биржевой торговли от ITinvest: