Блог профессионального трейдера Good_trade . Секреты трейдинга. Обучение. Инвестиции. Криптовалюта. Обучение · Брокеры · NASDAQ · NYSE
Торговый робот на python с нуля. Алготрейдинг
С чего начать алготрейдинг. Написание роботов с нуля для торговли. Обучение Торговому роботу на python с нуля. Алготрейдинг :
Моя первая мысль о трейдинге появилась на 4 курсе экономического факультета, когда понял, что необходимо иметь пассивный доход. Начинал со вкладов в банке и паевых инвестиционных фондов (ПИФов), затем судьба забросила меня в IT. Я очень увлекся этим, поступил в технический ВУЗ и поставил цель совместить информационные технологии и биржевую торговлю, так как это интересно, перспективно и высокооплачиваемо.
Я расскажу о том, с чего начать освоение алгоритмического трейдинга не имея опыта в торговле и программировании. Точнее это будет серия статей разбитых по этапам с подробным описанием процесса обучения и рекомендациями. Программа обучения подойдет не только новичкам, но и опытным программистам, т.к. она предполагает еще и освоение биржевой торговли. Также, она может быть интересна трейдерам, которые получат необходимые знания в программировании. Каждый этап составлен так, что он не отнимет много времени, возможно совмещение с работой или учебой.
Фондовый рынок — это высокотехнологичная отрасль, которая активно развивается, что делает работу в этой сфере очень привлекательной для IT — специалистов. Мировой валютный рынок, где ежедневный объём торгов оценивается в $5,1 трлн, становится всё менее зависимым от человека. Так, 94 руководителя крупнейших компаний США и Канады по торговым и валютным операциям заявили о намерении перейти на автоматизацию большей части своих операций с иностранной валютой в течение 2018—2020 годов. Развитие автоматизированной торговли на сегодняшний день уже стало необратимым процессом на мировом валютном, фондовом рынке и рынке деривативов.
Пока сложно сказать, что для успешной торговли необходимо обязательно создавать торгового робота, можно торговать и вручную, используя автоматизацию для поиска активов и точек входа, или контроля открытых позиций. Но доля роботов в объеме торгов США в 2005 году перевалившая за 50% говорит об их востребованности среди трейдеров.
В качестве языка программирования для реализации стратегий будет использован Python. Данный язык кроссплатформенный (что для сторонников Linux и macOS является обязательным атрибутом), прост в освоении (по своему опыту изучения Java, могу сказать что Python легче), широко распространен (применяется в Big Data, веб-разработке, автоматизации тестирования, науке, системном администрировании, для прототипирования квантовых моделей в хедж-фондах и «квантовых» трейдерских подразделений в банках и др.)
Этап 1.1. Изучение основ Python для торгового робота
1. Обучение по приложению от SoloLearn.
Первым делом будет полезным установить приложение SoloLearn на смартфон. Оно будет особенно полезно тем, кто ранее не программировал. Приложение обучит самым основам языка. Неоспоримое преимущество, что им можно пользоваться в любое время и в любом месте.
2. Прохождение курса на Stepik.org «Программирование на Python»
Отлично подойдет для новичков, интерактивен, изложение ведется плавно от простого к сложному, достаточно интересные задачи, можно смотреть комментарии от пользователей, что очень полезно если не знаешь решения. Курс бесплатный.
Совет: Некоторые условия задач описаны очень непонятно, в связи с этим сразу смотрите в комментарии, там найдете разъяснение задачи.
Для закрепления знаний полезным будет ресурс Pythontutor. Это интерактивный учебник по Python, с большим количеством примеров и хорошими задачами. Интересная особенность в том, что после решения задачи можно посмотреть варианты решений от разработчиков и других участников.
Ежедневно рекомендую решать хотя бы по одной задаче.
4. Книги: Swaroop — «A Byte of Python»(Укус питона)
«Укус питона» это бесплатная книга по Python, отличается минимальным количеством «воды» и большим количеством примеров. Содержит всего 150 страниц, при этом отлично показывает возможности языка.
Совет: При чтении книг по программированию необходимо запускать пример кода у себя в IDE для лучшего усвоения материала.
В день достаточно читать по 5-10 страниц.
В качестве IDE рекомендую бесплатный PyCharm Community.
Для знающих английский очень хорошо будет просмотеть курс Learn Python — Full Course for Beginners. В общей сложности материал состоит из четырех с половиной часов обучающего видео.
Совет: Если вы еще не знаете английского, то обязательно начинайте его изучать, т.к. подавляющее большинство необходимых материалов по алготрейдингу будут доступны именно на нем. Впрочем, думаю я не открыл здесь Америку, большинство итак это знают, скорее просто хотел напомнить.
В интернете множество методик и материалов для изучения английского, каждый сможет подобрать подходящее для себя, но не откажусь порекомендовать книгу по грамматике Раймонда Мерфи — Essential Grammar in Use. Написана полностью на английском, но предельно простым языком и со множеством иллюстраций.
Этап 1.2. Основы биржевого дела
Также необходимо изучать основы биржевого дела и ниже я дам пару советов.
1. Изучение функционала Trader Workstation от Interactive Brokers:
Терминал TWS имеет отличный демо-режим, на котором доступен 1 000 000 виртуальных долларов и неограничен по времени. Его можно изучить вдоль и поперек. Но для начала необходимо научиться просто ориентироваться в интерфейсе, уметь искать, выбирать, покупать, продавать активы.
Еще стоит потратить время на самостоятельное изучение. Проделайте лично то, что вы посмотрели в видео.
2. Чтение литературы: Элдер — «Трейдинг с доктором Элдером»
Рекомендую начать с этой книги. В ней автор традиционно много рассказывает о психологии торговли. Помимо этого описывает весь процесс трейдинга. Элдер хорош еще и потому, что он рассказывает о трейдинге во всех деталях, т.е. готовит к сложностям, с которыми необходимо будет столкнуться.
Совет: Если вы никогда не торговали и не знаете как работает биржа, настоятельно рекомендую прочитать первые 180 страниц книги Твардовского и Паршикова — «Секреты биржевой торговли». Чтобы понять, как в целом устроена биржа, виды приказов, кто такие брокеры, маркетмейкеры и т.д.
Заключение
Срок первого этапа составляет приблизительно 1-2 месяца, но при хорошем усвоении и высокой мотивации, вы можете закончить раньше. Тогда переходите ко второму этапу.
Новички, уделяя 2 — 2.5 часа в день, смогут пройти этап за месяц. Те, кто имеет опыт в программировании или трейдинге, смогут уделять 1 — 1.5 часа в день.
Через некоторое время опубликую статью со вторым этапом обучения, нацеленным на анализ данных.