Можно ли в одиночку разработать успешного торгового робота: Мнения пользователей Quora

в 11:27, , рубрики: Блог компании ITinvest, разработка, торговые роботы, Финансы в IT-индустрии, фондовый рынок

Можно ли в одиночку разработать успешного торгового робота: Мнения пользователей Quora - 1

В наших блогах на Хабрахабре и Geektimes мы много пишем о разработке торговых роботов. Мы уже рассказывали о том, как алгоритмическими трейдерами становятся сисадмины и менеджеры — у них это получается с переменным успехом. Пользователи ресурса Quora задались вопросом о том, сможет ли по-настоящему успешную торговую систему разработать ученый-одиночка. На основе их ответов можно составить понимание, насколько трудно соревноваться со специалистами из крупных инвестиционных банков и хедж-фондов.

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

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

Необходимые условия и барьеры

Нужно разбираться в финансах и происходящем на рынках

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

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

Алгоритмическая торговая платформа

Сегодня это уже не препятствие. Можно продолжать программировать и применять для разработки два самых распространённых языка в научных кругах: Matlab и Python. Существуют инструменты с открытым доступом и платформы, которые значительно упростят задачу.

Издержки и тестирование выгодной стратегии

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

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

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

Можно ли в одиночку разработать успешного торгового робота: Мнения пользователей Quora - 2

Трейдер работает из дома / Lars Plougmann/Flickr

На основе событий на рынке алгоритм должен генерировать команды на покупку или продажу, с чем связаны общий доход и убыток. Успешность алгоритма — это общая величина дохода и убытка (P/L) в заданном временном промежутке работы системы.
Во время тестирования разработчик может пренебрегать промежуточными потерями денег, если видит, что конечный результат на длинном отрезке принёс прибыль. Но на практике убыток в треть или четверть капитала могут спровоцировать поведение, которое в итоге приведёт к неудаче.

Начальный капитал и затраты

Для большинства торговых стратегий нужны миллионы долларов начального капитала, чтобы получить достаточно прибыли для жизни. Например, если вы точно можете зарабатывать 10% в год, тогда вам нужно найти около миллиона долларов, чтобы работа над системой и стратегиями стала вашим основным источником дохода. На зарубежных рынках фьючерсов большинство контрактов стоят выше $20 тысяч, поэтому для торговли на таком рынке вам нужны сотни тысяч для стартового капитала. Но, например, на срочном рынке Московской биржи, где контракты стоят дешевле, можно обойтись и меньшими суммами.

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

Пример теста с теоретически выгодной торговой стратегией:

Можно ли в одиночку разработать успешного торгового робота: Мнения пользователей Quora - 3

Denis Bykov

Вот что происходит, если мы повышаем издержки на 10%:

Можно ли в одиночку разработать успешного торгового робота: Мнения пользователей Quora - 4

Denis Bykov

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

Проскальзывание и задержки

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

Ликвидность

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

Предстоит конкурировать с профессионалами. Советы

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

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

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

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

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

С технической точки зрения разработать и настроить свою алгоритмическую торговую систему в домашних условиях не так сложно, особенно для учёного. Но желание применить «самые передовые» техники из математики или физики и перенести их на разработку торговой стратегии может стать препятствием. По аналогии с физикой — самые успешные физики обладают интуитивным пониманием фундаментальных процессов, до применения математических расчётов и построения моделей.

Другие материалы по теме биржевой торговли от ITinvest:

Автор: ITinvest

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js