Добро пожаловать в увлекательный мир алгоритмической торговли!
В условиях современного развития финансовых рынков умение использовать возможности алгоритмов становится как никогда актуальным. Алгоритмическая торговля – это передовой подход, позволяющий трейдерам принимать обоснованные решения, точно исполнять сделки и эффективно управлять рисками. Особенно это важно для начинающих трейдеров.
Давайте отправимся в это увлекательное приключение и совместно пройдем путь освоения искусства и науки алготрейдинга!
Благодаря нашим урокам, шаг за шагом, с нуля и с минимальными знаниями Python Вы научитесь создать своего торгового робота по собственной торговой стратегии.
Вступление Итак, после того как я прошел первый курс и создал свой супер конспект по Python, я приступил к изучению Pandas. Мне невероятно понравилась платформа Stepik и мой следующий выбор остановился курсе от Сергея Дубинина. Прекрасно заходят видеоуроки, однако после их просмотра даже с понимание всей их сути, практически нереально запомнить весь объем информации. К […]
Jupyter – это интерактивная среда для работы с кодом, визуализации данных и создания документов, которая позволяет объединять код, текст, изображения, графики и другие элементы в одном документе. Особенно эта среда популярна в области научных вычислений и анализа данных, в области машинного обучения, исследований и образования. С её помощью можно создавать интерактивные отчеты, исследовательские работы, учебные […]
Если Вы хотите изучить Python для алготрейдинга, то бесплатное прохождение этого курса для Вас то, что нужно. Не сливайте на первом этапе свой капитал на платные курсы из серии Python для алготрейдинга - лучше знать его, чем после этого курса, вы точно не станете. Надеюсь, что и после прохождения курса Вы всегда сможете использовать этот конспект в качестве полноценного и удобного справочника по Python для начинающих. Знаю по себе, что после прохождения курса (или отдельных уроков), даже несмотря на все сданные тесты, невозможно запомнить все и хочется иметь возможность при необходимости БЫСТРО вернуться к конспекту курса, чтобы он был одном месте и на одной странице. Поэтому для себя я с самого начала и стал готовить этот материал. Лично мне этот конспект очень помог уже на этапе решения тестов курса. Конспект максимально сокращен от любой воды и содержит только сформулированные определения, синтаксисы и краткие примеры.
В Python существуют три типа методов внутри классов: обычные методы; статические методы, методы класса. Также требует внимания обширный блок магических методов.
ООП для многих начинающих представляет определенные трудности в понимании этого вопроса. У меня также были самые общие понимания ООП. С учетом того, что при изучении python я регулярно сталкиваюсь с понятием класса, появилась необходимость углубиться в эту тему и законспектировать базовые понятия.
Уже на первом этапе изучения языка python я думаю все, как и я, озадачиваются вопросом - как быть с секретными данными - логины, пароли, токены и т.п. Как и где их хранить? Ну не прописывать же их явно в тексте программы, а потом еще и на Гитхабе размещать. Особенно эта тема актуальна в сфере алготрейдинга, здесь думать о доступах и секретности паролей надо в первую очередь.
В программе "Тахометр трейдера" исторические данные OHLCV сохраняются в csv файлах. В рамках первого знакомства с SQL и SQLlite я решил попробовать поместить все данные в базу данных с котировками акций Московской биржи. Возможно БД ускорит работу с историческими данными, а возможно и нет.
Искусственный интеллект программирует, рисует, сочиняет тексты, а теперь еще и поет.
В python есть мощная и удобная встроенная структура данных, которая позволяет группировать данные разных типов в упорядоченные коллекции и имеет большой набор операций. Это списки. Они широко используются для решения практически любых задач. Именно это меня и сподвигло сделать расширенный конспект по всем самым востребованным операциям.
Наконец-то я закончил работу над своей первой настоящей, правда еще консольной, программой, с помощью которой можно скачать все исторические данные (свечки OHLCV) с различными таймфреймами по всем акциям Мосбиржи. На текущий момент программа сохраняет 996 файлов исторических данных с 114,6 миллионами строк(свечек), а общий объем сохраненных данных составляет 9.15 Гб.
Подробное описание всех колонок таблицы со справочной информацией по акциям Московской биржи.
В алготрейдинге может быть ручное выполнение торговых операций на основе алгоритмических моделей или использование полуавтоматических систем, где алгоритмы предоставляют рекомендации трейдеру, который самостоятельно принимает окончательное решение о торговле.
В Python есть несколько основных типов данных: int, float, complex, str, bool, list, tuple, dict, set, None. Каждый тип данных имеет свои особенности и методы. Понимание различных типов данных поможет вам выбрать наиболее подходящий тип данных для вашей задачи и эффективно работать с данными в Python. В этом конспекте мы кратко рассмотрим каждый тип данных в отдельности.
CSV - это распространенный формат файлов для хранения табличных данных. Они представляют собой простые текстовые файлы, где каждая строка представляет собой строку данных, а значения внутри строки разделены запятыми (или другими разделителями). В python есть модуль csv с функциональностью чтения и записи CSV файлов.
JSON широко используется в веб-разработке для передачи данных между клиентской и серверной частями приложений. Он также используется в API для предоставления структурированных данных. Мы рассмотрим библиотеку json и понятия сериализация и десериализация данных.
Знания по работе с файлами при написании программ, особенно связанных с обработкой и анализом данных - 100% необходимость. Python имеет простые и элегантные инструменты для этого. И начнем мы с обычных текстовых файлов, тем более, что основные методы работы будут подходить и для других типов файлов.
Приступаем к изучению библиотеки moexalgo для Algopack Мосбиржи. Наша задача получить исторические данные по российским акциям и регулярно их обновлять. Использовать данные Мосбиржи для компонента DataFeeds в Backtrader, а также для создания и тестирования на исторических данных собственных торговых стратегий. Начинаем с получения справочной информации о доступных в Алгопаке акциях.
Аннотация типов в Python - это способ явно указать типы переменных, аргументов функций и возвращаемых значений. Знак " -> " используется для указания типа возвращаемого значения функции.
Прежде чем приступить к изучению и тестированию библиотеки moexalgo, которая упрощает работу с AlgoPack API, я решил для удобства её изучения создать документацию (help). Это очень важно и удобно, особенно для начинающих изучать язык Python. Получилась полноценная Онлайн справка по библиотеке moexalgo.
Совсем недавно, буквально 2 месяца назад, Мосбиржа запустила Algopack и выложила на Гитхаб долгожданную многими библиотеку на python – , которая должна упростить работу с AlgoPack API. Алгопак предоставляет исторические данные, на которых можно тестировать стратегии и делать бэктестинг. Также предполагаются онлайн данные для запуска торговых стратегий. Исторические данные доступны с 2020 года. Доступ к данным возможен через API и Python клиент на библиотеке moexAlgo.