Алготрейдинг на Python: API, фьючерсы и библиотека CCXT

Практический курс по Python, криптобиржам и главной библиотеке в мире трейдинга CCXT. Полный комплект знаний от рыночных данных и API до безопасного учебного торгового бота.
Средний уровень
4-5 часов в неделю

Чему вы научитесь

  • Получать цены, свечи и стаканы криптобирж через HTTP, CCXT и WebSocket.
  • Проверять рыночные данные: замечать пропуски, устаревшие цены и неожиданные ответы биржи.
  • Разбираться в ордерах, позициях, комиссиях, плече и ликвидации.
  • Подготавливать заявки с учётом точности рынка, минимального количества и ограничений биржи.
  • Обрабатывать частичные исполнения, потерянные ответы и повторные события без повторной покупки.
  • Превращать торговую идею в проверяемое правило и испытывать её на исторических данных.
  • Собирать бота из связанных компонентов: сборщика данных, скринера, торгового счёта и управляющего цикла.
  • Сохранять состояние в SQLite, восстанавливаться после перезапуска и запускать бота на сервере через Docker.

О курсе

Написать скрипт, который по сигналу покупает монету - дело нехитрое: взяли библиотеку, вызвали метод, улетел buy. На бумаге или в Jupyter Notebook на исторических данных всё выглядит идеально: стрелочка на графике, виртуальный ордер открыт, кривая доходности красиво ползёт вверх.

А теперь представьте реальный бой.

Вы отправляете на биржу ордер на покупку. Запрос дошёл, биржа радостно исполнила сделку и списала маржу. Но на обратном пути сетевой пакет застрял где-то на магистральном узле, и в Python прилетает обычный TimeoutError. Что в этот момент делает простенький код в блоке except? «Ответа нет - значит, ничего не купили, надо повторить!» Через секунду улетает второй ордер. Потом третий. А если сигнал залип ночью на минутном таймфрейме? К утру вместо одной аккуратной сделки вы рискуете обнаружить набитую под завязку позицию с плечом, висящую в паре центов от ликвидации. Если баланс вообще уцелеет.

Или другой сценарий. Бот держит открытые сделки просто в питоновском словарике positions = {} прямо в оперативной памяти. В три часа ночи провайдер перезагружает ваш VPS ради обновления ядра (или Linux тихо прибивает скрипт через OOM Killer за утечку памяти). Сервис перезапускается через systemd, создаёт чистый пустой словарь и искренне считает, что никаких сделок нет. А на бирже тем временем болтается реальная позиция с 20-м плечом. Стоп-лосс на биржу не выставлялся — вы же планировали закрыть её программно из кода! В итоге рынок разворачивается, присматривать за сделкой некому, а бот по новому сигналу радостно открывает следующую.

На бумаге стратегия всегда выглядит гладко. Ровно до тех пор, пока мы не упираемся в суровую реальность сетевых задержек, перезагрузок и рассинхрона состояния.

В этом курсе мы постепенно соберём своего бота и разберём, как он должен вести себя в таких ситуациях. Сначала освежим Python и механику рынка: откуда берутся цены, как исполняются ордера, что делают комиссии и почему плечо может закончиться ликвидацией. Затем начнём проект my_bot с запроса публичной цены BTC.

Дальше этот же проект будет расти от урока к уроку. Научим его получать свечи, проверять свежесть данных, находить сигнал и выполнять бумажную сделку. Подключим потоки WebSocket, разберём потерянные ответы и повторные события, сохраним состояние в SQLite. В конце запустим бота через Docker, чтобы он продолжал работать после закрытия терминала.

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

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

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

Для кого этот курс

Для тех, кто знает основы Python и хочет собрать проект, который получает реальные данные и реагирует на происходящее на рынке. Для трейдеров, которые хотят понять, как превратить свои правила входа и выхода в код и что придётся учитывать при автоматизации. Для разработчиков, которым интересны API криптобирж, асинхронность, WebSocket и приложение, которое должно переживать сетевые сбои и перезапуски. Специальный опыт в алготрейдинге на старте не требуется. Механику рынка разберём по ходу курса.

Начальные требования

Вы умеете пользоваться переменными, условиями, циклами и функциями Python, а также запускать скрипт. Остальные необходимые темы повторим и разберём на примерах курса.

Понадобятся компьютер с Windows, macOS или Linux, доступ в интернет и возможность установить Python и редактор кода. Команды для запуска проекта и установки зависимостей будут в уроках.

Для основного учебного маршрута достаточно публичных данных биржи. Пополнять торговый счёт не требуется: сделки бот выполняет на бумажном балансе.

Запуск на VPS рассматривается в заключительной части. Аренда сервера оплачивается отдельно; до этого проект можно собирать и проверять на своём компьютере.

Как проходит обучение

Курс текстовый: 54 урока, 279 тестовых вопросов с объяснениями и 7 задач с автоматической проверкой кода. Вы читаете в своём темпе, запускаете примеры и сравниваете результат с тем, что ожидали получить.

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

Сначала разбираем ситуацию и механизм на небольшом примере, затем переносим нужную часть в проект. Для проверки сбоев используем учебные сценарии: потерянный ответ, устаревшие данные, частичное исполнение, разрыв потока. Так можно увидеть поведение бота, не дожидаясь настоящей аварии на бирже.

Основной запуск получает живые публичные данные. Для повторяемых проверок есть режим с учебными значениями: результат можно сравнить с уроком даже тогда, когда рынок уже изменился.

Планируйте 4-5 часов в неделю на чтение и работу с кодом. Календарный срок зависит от вашего опыта и времени на самостоятельные эксперименты; проходить курс можно в удобном темпе.

Программа курса

В курс входят

  • 54 урока
  • 279 тестов
  • 7 интерактивных задач
загружаем...

Наши преподаватели

Отзывы прошедших курс

5
из 5
из 1 отзыва
1 отзыв
загружаем...

Что вы получаете

  • Свой проект my_bot, который получает живые рыночные данные, проверяет сигнал и выполняет бумажные сделки с учётом комиссий и баланса.
  • Полные архивы 36 последовательных этапов и итоговой сборки, чтобы сверять код и возвращаться к работающей версии.
  • Проверочные сценарии для сетевых сбоев, повторных событий, потерянных ответов и восстановления после перезапуска.
  • Исторический режим для проверки торгового правила на свечах с учётом момента входа и расходов.
  • Серверную сборку с Docker, сохранением состояния и журналом работы.
  • Возможность подключить Telegram и отправлять себе уведомления о работе бота.

Сколько стоит обучение

2 900 ₽
3 900 ₽
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

2 900 ₽
3 900 ₽