Python для алготрейдинга - страница 16

 

Тестирование на исторических данных и торговля в реальном времени с Interactive Brokers с использованием Python.


Тестирование на исторических данных и торговля в реальном времени с Interactive Brokers с использованием Python.

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

Затем внимание смещается на Interactive Brokers (IB), которая представлена как крупнейшая электронная торговая платформа в Соединенных Штатах. Доктор Хулио объясняет, что IB предлагает передовую технологию API, которая позволяет трейдерам использовать программы для торговли, обеспечивая конкурентоспособные цены и доступ к глобальным рынкам. Он подчеркивает, что программы Python можно использовать для алгоритмической торговли с IB.

Затем доктор Хулио представляет программное обеспечение Python под названием Hybrid Fat Pack, которое позволяет трейдерам настраивать алгоритмическую торговую платформу на своих локальных или облачных компьютерах. Он подчеркивает главное преимущество этой платформы, заключающееся в возможности защищать интеллектуальную собственность, не требуя раскрытия или загрузки какой-либо информации в Интернете. Трейдеры также могут проводить тестирование и торговать в реальном времени в одном месте, управлять несколькими учетными записями и торговать с разными брокерами, используя различные пакеты Python, такие как TensorFlow и Scikit-learn. Он предоставляет инструкции по загрузке и настройке платформы Hybrid Fat Pack с веб-сайта AI Bridge PI.

Двигаясь дальше, д-р Хулио объясняет шаги, необходимые для настройки инструментов для тестирования на исторических данных и реальной торговли с Interactive Brokers с использованием Python. Он советует пользователям загрузить и сохранить необходимые инструменты, в том числе Interactive Brokers, официальные IP-терминалы и Python. Он также предоставляет ссылки на руководства, документацию и форум сообщества для получения дополнительной поддержки. Доктор Хулио демонстрирует, как настроить WS (рабочую станцию) и шлюз IB, а также показывает, как открыть среду Python с помощью Anaconda. Он запускает код Python, чтобы продемонстрировать процесс установки, и дает советы по организации окон для повышения производительности.

Докладчик переходит к объяснению начальных шагов использования Interactive Brokers с Python. Он инструктирует пользователей открыть файл с именем «Ромина Ева» и найти код своей учетной записи, который необходимо соответствующим образом обновить в файле. Докладчик демонстрирует, как выбрать и запустить код Python, инициализируя трейдера и отображая баланс счета, денежную стоимость, стоимость портфеля и отложенные ордера. Пользователи могут торговать различными ценными бумагами, такими как акции, опционы, фьючерсы и Forex, используя Hybrid Fat Pack. Спикер упоминает, что размещенными заказами нельзя манипулировать, и они перечислены с идентификатором разрешения.

Демонстрируется процесс получения данных о ценах в реальном времени и исторических данных от Interactive Brokers. Комментируя/раскомментируя определенные строки кода, спикер показывает, как получить данные в реальном времени или исторические данные и распечатать их в удобном для пользователя формате. Объясняется структура кода и три основные функции в коде Python, включая функцию «инициализации», которая запускается в начале, и функцию «обработки данных», в которой торговые решения принимаются и выполняются каждые 2 секунды по умолчанию.

Доктор Хулио объясняет, как принимать торговые решения с помощью Python и Interactive Brokers. Пользователи могут настроить код для принятия решений по фиксированному расписанию, будь то каждую секунду, час, день или в определенное время. Он представляет три важные функции для принятия торговых решений: инициализация, обработка данных и размещение ордера. Чтобы продемонстрировать процесс, предоставляются примеры кодов для извлечения исторических данных и печати цены продажи I Spears ETF. Докладчик использует фрейм данных Panda для извлечения и печати исторических данных, демонстрируя, как Python можно использовать для принятия торговых решений.

Спикер рассказывает о размещении ордеров с использованием глобальных переменных и цен в реальном времени, приводя примеры покупки акций. Interactive Brokers используется для поиска ценных бумаг, применения фильтров, таких как основной рынок США и цена выше 100 долларов США, а также использования функции результатов сканирования кошек для получения соответствующей информации. Объясняются шаги по построению алгоритмической стратегии, включая идентификацию контракта, частоту торговых решений с использованием данных обработки или запланированных функций, запрос исторических данных и выбор типа ордера. Представлен пример стратегии дневного возврата к закрытию, когда торговые решения принимаются на основе цены закрытия предыдущего дня. Функция расписания запускается ежедневно в определенное время для запуска процесса принятия решений и последующих действий.

Видео охватывает два примера торговых стратегий на Python. Первый пример демонстрирует базовую стратегию, основанную на ценах закрытия двух последовательных дней. Если сегодняшнее закрытие выше вчерашнего, все позиции продаются; в противном случае покупается SPY. Код объяснен и относительно прост. Затем в видео представлена концепция тестирования на исторических данных и представлен более продвинутый пример стратегии пересечения скользящих средних. Обсуждается процесс применения стратегии к историческим данным и оценка ее эффективности. Код для этой стратегии объясняется и остается простым. Видео также охватывает получение и обработку данных, а также анализ результатов тестирования и просмотр значений портфеля.

Д-р Хулио обсуждает процесс тестирования на исторических данных и реальной торговли с Interactive Brokers с использованием Python. Он объясняет режим запуска по умолчанию функции обработки данных каждую минуту в целях тестирования и важность наличия плана внедрения исторических данных. Он подробно описывает, как предоставлять коду ежеминутные и ежедневные данные, а также как указать временные рамки и частоту тестирования на исторических данных с помощью Interactive Brokers. Демонстрируется пример кода, демонстрирующий, как запускать бэктестер, извлекать информацию об учетной записи и управлять ею, а также проверять выходную папку на наличие баланса учетной записи и денежной суммы.

Докладчик подчеркивает преимущества предоставления исторических данных, предоставленных пользователем, для повышения производительности кода. Хотя точные данные моделирования от Interactive Brokers необходимы для целей отладки, запрос ненужной информации может занять много времени. Доктор Хулио предлагает предоставлять только часть исторических данных или использовать случайные данные, что может значительно повысить производительность кода. Он демонстрирует, как предоставлять исторические данные из локального CSV-файла, указывать желаемый диапазон времени и тип данных, а также быстрее и эффективнее запускать тесты с помощью пользовательского списка времени и поставщика данных «рендеринга».

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

В заключение доктор Хулио подчеркивает гибкость и удобство программного обеспечения Hybrid Fat Pack, что делает его мощным инструментом для алгоритмической торговли.

  • 00:00:00 Доктор Хулио представляет введение в алгоритмическую торговлю и Interactive Brokers, после чего объясняет простую торговую стратегию под названием «Daily Close Reverse». Он объясняет реализацию этой стратегии с помощью iBridgePy и ретроспективного тестирования с использованием исторических данных, предоставленных Interactive Brokers или другими поставщиками данных. После того, как тестирование завершено, оно анализируется на предмет возможных результатов, и, если стратегия работает хорошо, стратегия реальной торговли реализуется с использованием iBridgePy, а заказы размещаются на счетах martillo. Доктор Хулио подчеркивает, что это важная функция для управляющих хедж-фондами.

  • 00:05:00 Спикер рассказывает о преимуществах алгоритмической торговли, к которым относятся меньшее давление от постоянного наблюдения за рынком, меньше человеческих ошибок и больше свободного времени. Четыре основных компонента алгоритмической торговли — это брокеры, Интернет, программы и компьютеры. Затем спикер переходит к обсуждению Interactive Brokers (IB), которая является ООО и крупнейшей электронной торговой платформой в Соединенных Штатах. IB предлагает передовую технологию API, которая позволяет трейдерам использовать программы для торговли, обеспечивая конкурентоспособные цены и доступ к глобальным рынкам. Для алгоритмической торговли с IB трейдеры могут использовать программы Python и подключать их к IB, чтобы начать торговлю.

  • 00:10:00 Докладчик представляет программное обеспечение Python под названием Hybrid Fat Pack, которое позволяет трейдерам настроить платформу алгоритмической торговли на своих локальных или облачных компьютерах. Основное преимущество использования этой платформы заключается в том, что трейдеры могут защитить свою интеллектуальную собственность, поскольку им не нужно раскрывать или загружать какую-либо информацию в Интернете, как это делают другие конкуренты. Более того, трейдеры могут тестировать и торговать вместе в одном месте, управлять несколькими счетами и торговать с разными брокерами, используя любые пакеты Python, включая TensorFlow и Scikit-learn. Спикер также предоставляет инструкции по настройке платформы, которые можно загрузить с веб-сайта AI Bridge PI.

  • 00:15:00 Докладчик объясняет шаги, необходимые для настройки инструментов, необходимых для тестирования на исторических данных и реальной торговли с Interactive Brokers с использованием Python. Первый шаг — загрузить и сохранить необходимые инструменты, включая Interactive Brokers, официальные IP-терминалы и Python. Спикер также предоставляет ссылки на учебные пособия, документацию и форум сообщества, которые предоставляют пользователям полезную информацию. Затем спикер продемонстрирует, как настроить шлюз WS и IB, а затем продемонстрирует, как открыть среду Python с помощью Anaconda и запустить код Python. Раздел завершается советами по организации окон для повышения производительности.

  • 00:20:00 Докладчик объясняет начальные шаги, необходимые для использования Interactive Brokers с Python, открыв файл под названием «Ромина Ева». Пользователю необходимо найти свой код учетной записи, а затем изменить код учетной записи в файле, чтобы он отражал его собственную учетную запись. Докладчик демонстрирует, как выбрать код Python и запустить его, а затем покажет, как инициализировать трейдера и отобразить баланс счета, денежную стоимость, стоимость портфеля и отложенные ордера. Пользователь может торговать акциями, опционами, фьючерсами, форекс и другими контрактами, используя гибридный путь. Если пользователь размещает заказы, которыми нельзя манипулировать, он будет указан с идентификатором разрешения.

  • 00:25:00 Докладчик демонстрирует, как запустить мост между Python и Interactive Brokers для получения данных о ценах в реальном времени и за прошлые периоды. Комментируя определенные строки кода, докладчик показывает, как получить данные в реальном времени или исторические данные и распечатать их простым способом. Затем ведущий объясняет структуру кода и три основные функции, используемые в коде Python, в том числе функцию «инициализации», которая запускается в начале выполнения кода, и функцию «обработки данных», с помощью которой принимаются торговые решения и которая запускается каждый раз. 2 секунды по умолчанию.

  • 00:30:00 Спикер объясняет, как использовать Python для принятия торговых решений с Interactive Brokers. Настроив код, пользователи могут установить фиксированное расписание для принятия решений каждую секунду, час, день или в определенное время. Кроме того, докладчик представляет три основные функции, необходимые для принятия торговых решений, включая инициализацию функции, обработку данных и размещение ордера. Чтобы продемонстрировать процесс, спикер предлагает примеры кодов, которые извлекают исторические данные и печатают цену продажи I Spears ETF. Используя фрейм данных Panda, спикер может извлекать исторические данные и распечатывать их, еще раз демонстрируя, как Python можно использовать для принятия торговых решений.

  • 00:35:00 Ведущий рассказывает о размещении ордеров с использованием глобальных переменных, цен в реальном времени и примерах покупки акций. Докладчик также рассказывает об использовании Interactive Brokers для поиска ценных бумаг, добавляет фильтры, такие как основной рынок США и цена выше 100 долларов, и использует результат сканирования кошки для получения соответствующей информации. Затем он объясняет шаги по построению алгоритмической стратегии, которая включает в себя идентификацию контракта, частоту торговых решений с использованием данных обработки или запланированной функции, запрос исторических данных и выбор типа ордера. Докладчик приводит пример ежедневной стратегии возврата к закрытию, которая включает в себя принятие торговых решений на основе цены закрытия предыдущего дня. Он также определяет функцию расписания, которая будет запускаться каждый день в определенное время, чтобы запускать ежедневную функцию, в которой принимаются решения и действия.

  • 00:40:00 В видео рассматриваются два примера торговых стратегий на Python. В первом примере используется базовая стратегия, основанная на ценах закрытия двух дней, где, если сегодняшнее закрытие больше, чем вчера, распродать все позиции, в противном случае купить SPY. Затем код объясняется и довольно прост. Затем видео переходит к концепции тестирования на исторических данных и подробно описывает более продвинутый пример стратегии пересечения скользящих средних. Обсуждается процесс применения стратегии к историческим данным, чтобы увидеть, насколько хорошо она оценивает результаты торговли. Код этой стратегии объяснен и по-прежнему довольно прост. В видео также объясняется, как получать и обрабатывать эти данные, а также как анализировать результаты тестирования и просматривать их в значениях портфеля.

  • 00:45:00 Спикер обсуждает процесс тестирования на истории и реальной торговли с Interactive Brokers с использованием Python. Они начинают с объяснения режима по умолчанию запуска данных дескриптора каждую минуту для тестирования и необходимости плана внедрения исторических данных. Затем спикер объясняет, как предоставлять ежеминутные и ежедневные данные для вашего кода. Они также рассказывают, как сообщать Interactive Brokers временные рамки и периодичность тестирования на исторических данных. Докладчик демонстрирует пример кода для запуска бэктестера, извлечения информации об учетной записи и управления ею, а также как проверить выходную папку на наличие баланса учетной записи и денежной суммы.

  • 00:50:00 Докладчик обсуждает преимущества предоставления пользователем исторических данных для повышения производительности кода. Спикер объясняет, что для отладки нужны точные данные моделирования от Interactive Brokers (IB) для каждого теста, но запрашивать много информации не нужно и это занимает много времени. Иногда требуется только часть исторических данных, и может быть достаточно предоставления случайных данных. Это может значительно повысить производительность кода. Докладчик демонстрирует, как предоставить исторические данные из локального CSV-файла и как указать желаемый диапазон времени и тип необходимых данных. Кроме того, спикер показывает, как запускать тесты намного быстрее и эффективнее, указав собственный список времени и используя поставщик данных «рендеринг».

  • 00:55:00 Спикер обсуждает анализ производительности и то, как его использовать для анализа эффективности вашей алгоритмической торговой стратегии. Для начала необходимы исторические данные для тестирования и уточнения вашего кода, а выступающий объясняет, как использовать диаграмму анализа производительности для расчета таких переменных, как коэффициент Шарпа, чтобы помочь в этом процессе. Как только вы освоитесь с результатами тестирования на исторических данных, вы можете переключиться на бумажный счет, чтобы запустить свою стратегию в реальных рыночных условиях. Наконец, спикер демонстрирует, как использовать I Bridge PY для управления несколькими учетными записями, что является важной функцией для управляющих фондами. В целом, средние значения и программное обеспечение гибки и просты в использовании, что делает их мощным инструментом для алгоритмической торговли.
Backtesting and live trading with Interactive Brokers using Python.
Backtesting and live trading with Interactive Brokers using Python.
  • 2019.11.15
  • www.youtube.com
This is your go-to guide to backtesting with Interactive Brokers and going live with your trading strategy. In this session, we have Dr Hui Liu (Faculty, EPA...
 

Последние функции IBridgePy для тестирования на исторических данных. Д-р Хуэй Лю, 9 августа 2019 г.


Последние функции IBridgePy для тестирования на исторических данных. Д-р Хуэй Лю, 9 августа 2019 г.

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

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

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

Чтобы связаться с брокерами и получить данные в реальном времени, доктор Лю демонстрирует, как переключаться между различными файлами в iBridgePy, такими как «Пример показа позиций», «Пример цен в реальном времени» и «Получить исторические данные». Пользователи могут настраивать коды счетов, имена файлов и получать доступ к остаткам на счетах и отложенным ордерам. Функция инициализации в iBridgePy объявляет глобальные переменные, и пользователи могут использовать блоки кодов и обращаться за помощью к команде iBridgePy, сообщая о версиях гибридных пакетов. Д-р Лю также дает рекомендации по закрытию IBGateway и открытию TWS Trade Workstation.

Докладчик охватывает ключевые функции iBridgePy, начиная с функции инициализации, которая запускается в начале кода. Функция обработки данных, которая принимает торговые решения, может запускаться каждую минуту или с настраиваемым интервалом. Пользователи могут использовать функцию расписания для планирования событий вместо обработки данных. Доступ к ценам определенных ценных бумаг в реальном времени можно получить с помощью функции show_real_time_price, а исторические данные можно получить с помощью функции request_historical_data. Для покупки или продажи ценных бумаг используется функция place_order. Доктор Лю включает демо-версию функции проверки запасов, демонстрирующую ее функциональность.

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

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

Доктор Лю углубляется в функции тестирования iBridgePy на исторических данных, подчеркивая возможность извлечения исторических данных и использования фрейма данных pandas для анализа цен закрытия ценных бумаг. Он демонстрирует пример кода трендовой стратегии, использующей пересечение скользящих средних, и объясняет основы тестирования на исторических данных. Тестирование на исторических данных включает в себя реализацию практической стратегии, основанной на исторических данных, для обоснования торговых решений и проверки ее эффективности на исторических данных. Он также выделяет альтернативное использование функции обработки данных для управления временем выполнения функции, предоставляя возможность запланированной функции на основе времени открытия и закрытия рынка США.

Д-р Лю рассказывает о системе тестирования iBridgePy на истории и связанном с ней процессе. Он объясняет, что в режиме тестирования на исторических данных с использованием iBridgePy используемые временные капсулы или свечи очень похожи на реальную торговлю. Каждая свеча содержит такую информацию, как время начала, цена открытия, максимальная цена, минимальная цена, цена закрытия и объем. Однако капсула времени не включает цену предложения или предложения, поскольку спред не может быть точно смоделирован при тестировании на исторических данных.

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

Двигаясь дальше, доктор Лю объясняет основной процесс настройки периода тестирования на исторических данных в iBridgePy. Пользователи могут установить временные рамки для получения исторических данных по конкретным акциям и указать периодичность временных спотов: одну минуту, один час или один день. Исторические данные из старых контрактов можно получить с помощью тикеров, таких как SPY или AAPL. Код должен запускаться в самый последний момент времени, гарантируя, что данные в течение желаемого периода времени будут доступны. По умолчанию наличные начинаются с 10 000 долларов. Доктор Лю продолжает демонстрировать, как отображать баланс счета и позицию, используя демонстрацию.

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

Д-р Лю продолжает обсуждение важности улучшения процесса тестирования на истории с помощью iBridgePy. Он предлагает избегать многократного запуска одного и того же кода для получения одних и тех же данных, поскольку это приводит к трате ресурсов и нарушению правил интервала IB. Вместо этого он рекомендует извлекать исторические данные, используя определенный план с тем же именем файла, что уменьшает объем кода, который необходимо выполнить. Еще одно предложение — использовать исторические данные, предоставленные пользователем, вместо получения данных от Interactive Brokers, что может сделать процесс тестирования более эффективным.

Кроме того, доктор Лю представляет функцию предоставления локальных данных для тестирования на истории в iBridgePy. Пользователи могут предоставить файл CSV со всеми необходимыми столбцами, такими как цена открытия, максимальная цена, цена закрытия, объем и т. д. iBridgePy будет получать данные из локального файла и соответствующим образом имитировать тестирование на исторических данных. Если том недоступен, пользователи могут ввести «-1» в качестве значения. Эта функция обеспечивает точные результаты для личных стратегий пользователей и повышает эффективность моделирования.

Д-р Лю также выделяет дополнительные функции бэктестинга в iBridgePy, такие как настраиваемые генераторы времени и возможность использовать случайные числа для тестирования кода. Он демонстрирует, как создавать временные ряды с помощью пакета Python и пользовательского списка, а также как тестировать код, используя случайные числа вместо цен в реальном времени. Далее он обсуждает важность анализа производительности и рассказывает об использовании файла журнала для отслеживания и анализа производительности бэктестинга. Эти новые функции обеспечивают более быстрые и эффективные способы тестирования и анализа кода в iBridgePy.

Кроме того, д-р Лю обсуждает другие функции тестирования iBridgePy на исторических данных, в том числе журнал баланса, который предоставляет более подробную информацию о стоимости портфеля и денежных средствах, а также журнал транзакций. Он демонстрирует, как визуализировать и анализировать результаты ретроспективного тестирования, используя такие показатели, как коэффициент Шарпа, и пакет matplotlib для создания диаграмм. Д-р Лю отмечает, что как только пользователи будут удовлетворены своими результатами на бумажном счете, они могут переключиться на реальный счет для реальной торговли.

Во время сеанса вопросов и ответов на веб-семинаре д-р Лю отвечает на различные вопросы участников, касающиеся новейших функций iBridgePy. Один вопрос касается управления инвестиционными счетами других людей с помощью iBridgePy. Д-р Лю объясняет, что отдельные лица могут стать портфельными консультантами и создать управленческий счет в Interactive Brokers для управления инвестиционными счетами других людей с помощью iBridgePy.

Еще один поднятый вопрос касается загрузки примера кода для конкретной стратегии. Доктор Лю предлагает участникам получить необходимый образец кода на веб-сайте iBridgePy или на форуме сообщества iBridgePy. Кроме того, он консультирует участников о том, как получить исторические цены опционов и греческие данные для тестирования на исторических данных. Д-р Лю упоминает, что частные лица могут получить исторические цены опционов от Interactive Brokers и написать код Python для использования греческих данных, если у них есть к ним доступ.

Один из участников спрашивает, поддерживает ли iBridgePy API для получения списка наблюдения. Доктор Лю поясняет, что в настоящее время iBridgePy не предоставляет специального API для получения списка наблюдения. Однако он предполагает, что пользователи могут вручную создать список наблюдения на платформе Interactive Brokers.

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

  • 00:00:00 Д-р Хуэй Лю обсуждает последние функции тестирования iBridgePy на истории и дает краткий обзор iBridgePy. Он рассматривает основные функции iBridgePy и объясняет основные шаги по построению алгоритма торговых стратегий. Затем он сосредоточится на системе обратного тестирования iBridgePy и предоставит два примера кода для обратного тестирования. В первом примере используются исторические данные от Interactive Brokers, а во втором обсуждается, как улучшить опыт тестирования с помощью исторических данных, предоставленных пользователями. Наконец, д-р Лю говорит о важности анализа производительности тестирования на исторических данных для будущих улучшений.

  • 00:05:00 Д-р Хуэй Лю обсуждает последние функции IBridgePy для тестирования на исторических данных, в том числе возможность торговать любыми ценными бумагами или товарами, предлагаемыми брокерами-консультантами, и одновременно управлять несколькими счетами с помощью функции Hybrid Pie. Инвестиционные консультанты также могут воспользоваться возможностью IBridgePy выполнять несколько торговых стратегий и запускать консультационные алгоритмы во время тестирования на исторических данных. Инструкции по подготовке функции Hybrid Pie просты, включая загрузку IBridgePy, создание бумажной или реальной учетной записи у брокера, такого как Interactive Brokers, и установку программного обеспечения IB, облегченного шлюза IB или рабочей станции трейдера на основе графического интерфейса, а также настройку с помощью iBridgePy.

  • 00:10:00 Д-р Хуэй Лю демонстрирует, как использовать IBridgePy для подключения к брокерам и получения данных в реальном времени, переключаясь между различными файлами, такими как «Пример показа позиций», «Пример цен в реальном времени» и «Получить исторические данные». ». Пользователи могут изменять коды счетов и имена файлов, а также проверять остатки на счетах и отложенные заказы. Функция инициализации объявляет глобальные переменные в IBridgePy, и пользователи могут использовать блоки кода и обращаться за помощью к команде IBridgePy, сообщая о версиях гибридного пакета. Наконец, доктор Хуэй Лю показывает, как закрыть IBGateway и открыть TWS Trade Workstation.

  • 00:15:00 Спикер быстро рассказывает, как подключиться к TWS, а затем объясняет ключевые функции в iBridgePy. Функция инициализации объявлена для запуска в начале кода, а функция обработки данных — это место, где принимаются торговые решения, и она запускается каждую минуту или с настраиваемым интервалом. Для планирования событий пользователь может использовать функцию расписания вместо обработки данных. Доступ к цене конкретной ценной бумаги в режиме реального времени можно получить с помощью функции show_real_time_price, а исторические данные можно получить с помощью функции request_historical_data. Функция place_order используется для покупки или продажи ценных бумаг, а спикер также демонстрирует живую демонстрацию функции проверки акций.

  • 00:20:00 Доктор Хуэй Лю, создатель iBridgePy, демонстрирует, как использовать функцию проверки акций для поиска акций на основе настроений и цен в социальных сетях. Он объясняет, что пользователи могут определить свои параметры поиска для сканера, указав тип инструмента, код местоположения и код сканирования, приведя пример использования сети социальных настроений в качестве кода сканирования для поиска основных акций США с ценами выше 100 долларов. Затем доктор Лю демонстрирует скринер акций на реальном рынке, показывая список наиболее активных акций и то, как настроения в социальных сетях могут дать представление о популярности определенных акций. Наконец, он излагает некоторые ключевые соображения по построению стратегий алгоритмической торговли, включая выбор контрактов для торговли и то, как установить рекомендации по управлению рисками.

  • 00:25:00 Д-р Хуэй Лю обсуждает основные этапы построения алгоритмических торговых стратегий с использованием iBridgePy, а затем приводит простой пример стратегии возврата. Шаги построения стратегии включают в себя выбор акции, определение временного интервала для принятия торговых решений, расчет технических индикаторов на основе исторических данных, выбор типов ордеров и обработку исключений. Простая стратегия возврата включает в себя ввод контракта SPY вручную и принятие торговых решений на основе дневных цен закрытия. Пример кода для стратегии включает запланированные функции и ежедневную функцию для принятия торговых решений.

  • 00:30:00 Д-р Хуэй Лю обсуждает последние функции тестирования iBridgePy на исторических данных, в том числе возможность извлекать исторические данные и использовать фрейм данных pandas для анализа цен закрытия ценных бумаг. Он демонстрирует пример кода для трендовой стратегии, использующей пересечение скользящих средних, и объясняет основы тестирования на исторических данных, которые включают в себя реализацию практической стратегии путем рассмотрения прошлых данных для обоснования торговых решений, а затем проверки их на исторических данных, чтобы увидеть, дает ли она успешные результаты. Лю также отмечает, что традиционная функция обработки данных может использоваться для управления запуском функции, предоставляя альтернативу запланированной функции, которая зависит от времени открытия и закрытия рынка США.

  • 00:35:00 Доктор Хуэй Лю объясняет, что в режиме тестирования на истории с использованием Ibridgepy капсула времени или свечи, которые используются, очень похожи на реальную торговлю. Каждая свеча содержит такую информацию, как время начала, цена открытия, максимальная цена, минимальная цена, цена закрытия и объем. Тем не менее, временная капсула не включает цену спроса или предложения, поскольку спред не может быть хорошо смоделирован при тестировании на исторических данных. Данные могут быть предоставлены IB, или пользователь может предоставить свои собственные источники данных в любом формате, если Python может их прочитать и преобразовать во фрейм данных pandas. В настоящее время режим тестирования на истории поддерживает рыночный ордер, лимитный ордер и стоп-ордер, но не трейлинг-ордер, поскольку он не точен и не дает значимых результатов. Наконец, сведения о транзакциях сохраняются в выходной папке с именем файла, содержащим время начала тестирования на исторических данных.

  • 00:40:00 Доктор Хуэй Лю объясняет основы системы тестирования iBridgePy. Когда начинается смоделированный торговый день, система вычисляет стоимость портфеля и записывает ее в журнал баланса. Затем он демонстрирует использование исторических данных от Interactive Brokers и тестирование стратегии под названием «возврат цены закрытия». Для этого он выбирает имя файла и изменяет некоторые параметры, такие как имя поставщика данных и режим запуска. Он также объясняет концепцию плана приема исторических данных, когда пользователи сообщают iBridgePy, какие данные они хотят получать от Interactive Brokers для использования в своей стратегии. Для проведения ретроспективных тестов пользователям требуются данные за дневную историю баров и данные за одну минуту, чтобы получить информацию о цене закрытия рынка за одну минуту до закрытия рынка.

  • 00:45:00 Д-р Хуэй Лю объясняет процесс настройки периода обратного тестирования в iBridgePy. Временные рамки могут быть установлены для получения исторических данных по конкретным акциям, а частота временных точек может быть установлена на одну минуту, один час или один день. Исторические данные из старых контрактов можно получить с помощью тикера SPY или AAPL. Код должен выполняться в самое последнее время, а данные должны быть доступны в течение надлежащего периода времени. Денежные средства по умолчанию начинаются с 10 000 долларов, и Хуэй продолжает показывать, как отображать баланс и позицию счета, используя демонстрацию.

  • 00:50:00 Д-р Хуэй Лю демонстрирует, как использовать функции обратного тестирования IBridgePy для имитации демо-кода для возврата цены закрытия. Он показывает, как использовать цены в реальном времени на основе исторических данных и как запустить цель, чтобы увидеть, как она работает. Он также показывает, как изменить интервал запуска кода каждый час, а не каждую минуту. В целом, видео представляет собой полезную демонстрацию того, как использовать функции тестирования IBridgePy на исторических данных для инвестиционных стратегий.

  • 00:55:00 Д-р Хуэй Лю обсуждает усовершенствование процесса обратного тестирования с помощью iBridgePy. Первое предложение — избегать многократного запуска одного и того же кода для извлечения одних и тех же данных, что приводит к пустой трате ресурсов и нарушению правил интервала IB. Вместо этого исторические данные извлекаются с использованием определенного плана с тем же именем файла, что уменьшает объем кода, который необходимо выполнить. Второе предложение — использовать исторические данные, предоставленные пользователем, вместо извлечения данных из IB, что сделает процесс тестирования более эффективным.

  • 01:00:00 Д-р Хуэй Лю обсуждает функцию предоставления локальных данных для обратного тестирования в IBridgePy. Вместо получения данных с ID-сервера пользователи могут предоставить CSV-файл со всеми необходимыми столбцами, такими как цена открытия, максимальная цена, цена закрытия, объем и т. д. IBridgePy будет получать данные из локального файла и соответствующим образом имитировать ретроспективное тестирование. . Однако, если том недоступен, пользователи могут ввести «-1» в качестве значения. Кроме того, эта функция обеспечивает точные результаты для личных стратегий пользователя и может привести к эффективному моделированию.

  • 01:05:00 Д-р Хуэй Лю обсуждает последние функции IBridgePy для тестирования на исторических данных, такие как настраиваемые генераторы времени и возможность использовать случайные числа для тестирования кода. Он демонстрирует, как создавать временные ряды с помощью пакета Python и пользовательского списка, а также как тестировать код, используя случайные числа, а не цены в реальном времени. Он также обсуждает анализ производительности с использованием файла журнала для отслеживания и анализа производительности бэктестинга. В целом, эти новые функции обеспечивают более быстрые и эффективные способы тестирования и анализа кода в IBridgePy.

  • 01:10:00 Д-р Хуэй Лю обсуждает дополнительные функции тестирования iBridgePy на исторических данных, в том числе журнал баланса, который показывает более подробную информацию о стоимости портфеля и денежных средствах, а также журнал транзакций. Он также демонстрирует, как визуализировать и анализировать результаты ретроспективного тестирования с использованием коэффициента Шарпа и пакета matplotlab для создания диаграмм. Доктор Лю отмечает, что как только пользователи будут удовлетворены своими результатами в бумажной учетной записи, они могут переключиться на реальную.

  • 01:15:00 Д-р Хуэй Лю отвечает на различные вопросы участников вебинара о последних функциях iBridgePy. Он упоминает, что люди могут управлять инвестиционными счетами других людей с помощью iBridgePy после того, как станут консультантом по портфелям и настроят управленческий счет в IB. Участники также спрашивают о загрузке примера кода для стратегии и получении исторических цен опционов и данных по Греции для тестирования на исторических данных. Лю предполагает, что частные лица могут получить исторические цены опционов от IB и написать код Python для использования греческих данных, если они у них есть. Наконец, он упоминает, что iBridgePy не поддерживает API для получения списка наблюдения, но люди могут вручную создать его в IB.

  • 01:20:00 Доктор Хуэй Лю завершает вебинар, призывая участников размещать любые дополнительные вопросы, которые у них есть, на форуме сообщества iBridgePy или отправлять ему электронное письмо. Он также упоминает, что запись презентации будет доступна по запросу, и что вскоре он опубликует учебное пособие по iBridgePy, где участники смогут получить необходимый код. Доктор Лю также напоминает пользователям, что они могут посетить веб-сайт iBridgePy, чтобы загрузить программное обеспечение и просмотреть документацию по API. В заключение он благодарит участников за их присутствие и внимание.
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
  • 2019.09.11
  • www.youtube.com
Session outline:- IBridgePy's cornerstone functions.- Basic steps to build a trading strategy.- Backtest strategies using IB's historical data.- Backtest str...
 

Программная торговля на индийских рынках с помощью Python | API-интерфейс подключения кайта | Алго Трейдинг Зеродха


Программная торговля на индийских рынках с помощью Python | API-интерфейс подключения кайта | Алго Трейдинг Зеродха

Докладчик представляет Kite Connect, платформу, которая позволяет пользователям программно получать доступ к своим торговым счетам с помощью Python. Они объясняют, что мотивация Kite Connect заключалась в том, чтобы решить проблему расширения участия на рынке Индии. Они представили концепцию брокерских услуг как услуги, позволяющую стартапам использовать API-интерфейсы Kite Connect для создания индивидуальных торговых операций для своих клиентов. Это, в свою очередь, направлено на привлечение следующих 10-20 миллионов индийцев для инвестирования в рынки. Спикер также выделяет Zerodha как ведущую брокерскую фирму в Индии, имеющую более 175 000 клиентов и вносящую значительный вклад в оборот индийского фондового рынка.

Докладчик рассказывает о происхождении Kite Connect, который был разработан, чтобы предоставить простую и доступную платформу для онлайн-торговли тысячам клиентов в Индии. Признавая большое количество инженеров-программистов в Индии, которым часто не хватает возможностей использовать свои навыки, Kite Connect предоставила свои API-интерфейсы инженерам-программистам для тестирования стратегий и управления позициями. Хотя платформа взимает плату за использование API, они также предлагают код скидки для новых разработчиков, которые регистрируются. Затем спикер представляет коллегу, который продолжает демонстрировать, насколько просто создать собственную торговую платформу с помощью Kite Connect. Демонстрация фокусируется на размещении ордеров, извлечении удерживаемых позиций и, в конечном итоге, разработке торговой стратегии.

Спикер предлагает пошаговое руководство по получению API-ключа для Kite Connect API, что имеет решающее значение для программной торговли на индийском рынке с использованием Python. Они также объясняют концепцию URL-адреса обратной передачи, который используется для уведомления пользователей о статусе их заказов и подтверждений сделок. Кроме того, спикер подчеркивает важность установки библиотеки Kite Connect Python, которая упрощает использование API всего несколькими строками кода. Они обсуждают основные функции торгового приложения, важность ответов на запросы и обработки исключений в процессе разработки приложения, а также значение безопасной аутентификации для любого торгового приложения.

Затем спикер объясняет, как Python можно использовать для программной торговли на индийских рынках с использованием API Kite Connect от Zerodha. Процесс начинается с использования ключа API для перенаправления на платформу Kite и входа в учетную запись пользователя. После входа в систему возвращается токен запроса, который затем используется для аутентификации пользователя и получения токена доступа. Докладчик демонстрирует практическую демонстрацию использования Kite Connect API, включая такие этапы, как импорт библиотеки, сохранение ключа API и получение токена запроса. Наконец, токен запроса хэшируется с секретом API для получения токена доступа.

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

Спикер рассказывает о важности инструментов при использовании Kite Connect API для программной торговли на индийских рынках. Инструменты используются для обработки различных символов акций и контрактов, и им требуется уникальный идентификатор инструмента для подписки или отказа от подписки на потоковые данные. Докладчик объясняет, что идентификатор прибора можно получить из всеобъемлющего CSV-файла, а также использовать его для доступа к историческим данным. Обсуждается потоковая передача WebSocket, включая различные режимы приема данных, такие как режим LTP, кодовый режим и полнотекстовый режим. Докладчик приводит пример того, как работает потоковая передача данных через WebSocket и как можно использовать обратные вызовы для получения данных. Кроме того, спикер объясняет использование постбэка и требование общедоступного URL-адреса для его реализации.

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

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

Генеральный директор Quant Institute (QuantInsti) представляет свою компанию, которая активно занимается алгоритмической и количественной торговлей с 2010 года. Они проводят обучающие программы и мероприятия для тысяч студентов по всему миру. Генеральный директор выражает согласие с программным использованием Python в торговых стратегиях, обсуждаемых на вебинаре, и приносит свои извинения за то, что не смог ответить на все вопросы, но заверяет аудиторию, что их команда усердно изучает и отвечает на все запросы.

Спикер обсуждает влияние программы EPAT от QuantInsti, всеобъемлющего шестимесячного онлайн-курса, посвященного количественному и алгоритмическому трейдингу. Программа охватывает широкий круг тем, включая статистику, эконометрику, финансовые вычисления, Python, MATLAB, инструменты тестирования на истории и различные парадигмы торговых стратегий. Они подчеркивают, что курс преподается разнообразной группой опытных практиков со всего мира. Выпускники программы хорошо подготовлены к работе, а QuantInsti предлагает карьерные услуги и консультации для тех, кто заинтересован в создании собственного торгового отдела. Подчеркивается глобальный охват программы: ее выпускники находятся в более чем 30 странах на шести континентах.

Спикер приглашает зрителей присоединиться к предстоящей информативной сессии по алгоритмической торговле, запланированной на 3 ноября 2016 года в 18:30 по восточному стандартному времени. Они призывают аудиторию следить за компанией в социальных сетях, таких как Facebook, Twitter, LinkedIn и YouTube, где они могут найти образовательные ресурсы и участвовать в обсуждениях. Они предлагают присылать ссылки заинтересованным участникам и приглашают их оставлять любые вопросы через предоставленную форму на Borninstorms. Наконец, в заключение спикер заявляет, что теперь они начнут отвечать на вопросы аудитории.

  • 00:00:00 Докладчик представляет Kite Connect и объясняет, как он позволяет пользователям программно получать доступ к своим торговым счетам с помощью Python. Мотивация Kite Connect заключалась в том, чтобы решить проблему расширения участия на индийском рынке, и была представлена концепция брокерских услуг как услуги. Стартапы могут использовать API-интерфейсы Kite Connect для создания нишевых пользовательских интерфейсов для своих клиентов, что поможет привлечь следующие 10-20 миллионов индийцев для инвестиций в рынки. Спикер также упоминает, что Zerodha предлагает лучшие платформы в стране и имеет более 175 000 клиентов, что составляет значительную часть оборота индийского фондового рынка.
    |
  • 00:05:00 Спикер объясняет происхождение Kite Connect, который был разработан, чтобы предоставить тысячам клиентов в Индии простую и доступную платформу для онлайн-торговли. Признавая наличие большого числа инженеров-программистов в Индии, у которых часто нет возможности использовать свои навыки, Kite Connect предоставила свои API-интерфейсы инженерам-программистам для тестирования стратегий и управления позициями. Платформа взимает плату за использование своих API, но также предлагает код скидки новым разработчикам, которые регистрируются. Затем спикер передает слово другому коллеге, чтобы продемонстрировать, насколько просто использовать Kite Connect для создания пользовательской торговой платформы с целью размещения ордеров, удержания позиций и, в конечном итоге, разработки стратегии.

  • 00:10:00 Спикер дает пошаговое руководство о том, как получить API-ключ для Kite Connect API, который необходим для программной торговли на индийском рынке с использованием Python. Спикер также объясняет URL-адрес постбэка, который используется для уведомления пользователей о статусе их заказов и подтверждений сделок. Кроме того, спикер подчеркивает важность установки библиотеки Kite Connect Python, которая представляет собой оболочку API Kite Connect, созданную для упрощения использования API с помощью нескольких строк кода. Докладчик также проливает свет на основные функции торгового приложения и значение ответов на запросы и исключений в процессе разработки торгового приложения. Здесь также объясняется процесс входа в систему, что подчеркивает важность безопасной аутентификации для любого торгового приложения.

  • 00:15:00 Докладчик объясняет, как использовать Python для программной торговли на индийских рынках с использованием API Kite Connect от Zerodha. Первый шаг — использовать ключ API для перенаправления на платформу Kite и входа в учетную запись пользователя. После входа в систему возвращается токен запроса, который затем используется для аутентификации пользователя и получения токена доступа. Далее спикер демонстрирует практическую демонстрацию использования Kite Connect API, включая импорт библиотеки, сохранение ключа API и получение токена запроса. Наконец, токен запроса используется для получения токена доступа путем его хеширования с помощью секрета API.

  • 00:20:00 В видео рассказывается, как использовать Python и Kite Connect API для программной торговли на индийских рынках. В видео показан процесс настройки токена доступа и общедоступного токена, а затем использование этих токенов для настройки соединения с Kite Connect API для потоковой передачи информации. В видео также объясняется, как разместить заказ, включая необходимые компоненты, такие как торговый символ, количество, тип транзакции, тип заказа и продукт. Наконец, в видео рассказывается, как получить информацию об ордерах, холдингах и позициях. В видео подчеркивается, что существует множество дополнительных вызовов API, помимо тех, что показаны в видео, но все они хорошо задокументированы на веб-сайте Kite Connect.

  • 00:25:00 Спикер рассуждает о важности инструментов при использовании Kite Connect API для программной торговли на индийских рынках с помощью Python. Инструменты используются для работы с различными символами акций и контрактами, и им требуется уникальный идентификатор инструмента для подписки или отказа от подписки на потоковые данные. Спикер объясняет, что идентификатор инструмента можно получить из огромного CSV-файла, а также использовать его для доступа к историческим данным. Докладчик также обсуждает потоковую передачу WebSocket и различные режимы получения данных, такие как режим LTP, кодовый режим и полнотекстовый режим. Докладчик приводит пример того, как работает потоковая передача данных через WebSocket и как использовать обратные вызовы для получения данных. Наконец, спикер обсуждает использование обратной передачи и необходимость общедоступного URL-адреса для ее реализации.

  • 00:30:00 Спикер рассказывает о реализации стратегии с использованием исторических данных и простоте оформления заказа с помощью Kite Connect API. Он объясняет, как стартап может иметь конечную точку для получения обратных передач с сервера Kite, которую можно использовать, среди прочего, для запуска уведомлений об успешных или неудачных заказах. Он также демонстрирует, как получить исторические данные с помощью API, и подчеркивает необходимость подписаться на функцию исторических данных Kite, прежде чем запрашивать исторические данные. Наконец, он представляет базовую стратегию скользящих средних, чтобы проиллюстрировать, насколько просто размещать ордера с помощью Kite API.

  • 00:35:00 Спикер объясняет свою стратегию программной торговли на индийских рынках с использованием Python и Kite Connect API. Стратегия включает в себя расчет скользящей средней и размещение сделки всякий раз, когда происходит пересечение. Показана функция размещения ордеров с одной строкой кода для фактической торговли. Спикер подчеркивает, что хотя их стратегия и не самая лучшая, ее легко внедрить и модифицировать под разные торговые символы и типы транзакций. Kite Connect API имеет открытый исходный код, что позволяет модифицировать его и использовать при создании торговой платформы. Спикер также упоминает обширную документацию и активный форум, доступный на веб-сайте Kite Connect, чтобы помочь с любыми вопросами или проблемами.

  • 00:40:00 Генеральный директор Quantity представляет свою компанию, которая занимается алгоритмической и количественной торговлей с 2010 года и предоставляет обучающие программы и мероприятия для тысяч студентов по всему миру. Они упоминают о своем согласии с программным использованием Python в торговых стратегиях, обсуждаемых на вебинаре, и извиняются за то, что не смогли ответить на все вопросы, но заверяют аудиторию, что их команда работает над опросом и ответами на все запросы.

  • 00:45:00 Спикер обсуждает влияние программы EPAT от QuantInsti, которая представляет собой шестимесячный онлайн-курс, посвященный количественному и алгоритмическому трейдингу. Программа охватывает широкий круг тем, включая статистику, эконометрику, финансовые вычисления, Python, MATLAB, инструменты тестирования на истории и различные парадигмы торговых стратегий. Курс преподается международным объединением из более чем дюжины практиков с богатым опытом работы в отрасли. Выпускники программы хорошо подготовлены к работе, и QuantInsti предлагает различные карьерные услуги, а также бесплатное руководство для тех, кто хочет создать свой собственный торговый стол. Программа достигла глобального охвата, ее выпускники проживают более чем в 30 странах на шести континентах.

  • 00:50:00 Спикер приглашает зрителей присоединиться к предстоящей информативной сессии по алгоритмической торговле, которая состоится 3 ноября 2016 года в 18:30 по восточному поясному времени. Он также призывает их следить за компанией в социальных сетях, таких как Facebook, Twitter, LinkedIn и YouTube, где они могут найти множество образовательных ресурсов и участвовать в обсуждениях. Также спикер предлагает присылать ссылки заинтересованным участникам и предлагает им заполнить любую форму запроса на борнстормс. Наконец, в заключение он говорит, что теперь они начнут отвечать на вопросы аудитории.
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
  • 2016.10.18
  • www.youtube.com
In this comprehensive tutorial on Algo Trading Zerodha in Indian markets, we explore the power of Zerodha's KiteConnect API and Python programming language t...
 

Торговля с Interactive Brokers с использованием Python | Доктор Хуэй Лю



Торговля с Interactive Brokers с использованием Python | Доктор Хуэй Лю

Добрый вечер всем! Добро пожаловать на вебинар по внедрению алгоритмических торговых стратегий на онлайн-рынке, организованный Kuantan Ste. Меня зовут Slow Me, и я здесь старший программный менеджер. Мы рады, что сегодня к нам присоединились участники со всего мира, в том числе с Гавайев, которым удалось присоединиться к нам ярким и ранним утром. Ваш энтузиазм действительно вдохновляет!

Наш уважаемый докладчик на сегодняшнем вебинаре — доктор Хойл Ю, известный писатель и эксперт в области трейдинга. Доктор Ю имеет впечатляющий опыт работы с акциями США и рынком форекс. Он также разработал популярную торговую платформу Python, которая позволяет трейдерам легко реализовывать свои стратегии. Имея докторскую степень Университета Вирджинии и выпускника Шанхайского университета, д-р Ю привносит в этот вебинар множество знаний. Для нас большая честь иметь его здесь с нами.

Прежде чем мы начнем, позвольте мне сделать краткий обзор того, что мы рассмотрим на сегодняшнем вебинаре. Сначала д-р Ю расскажет о преимуществах использования Interactive Brokers в качестве торговой платформы. Затем он расскажет о преимуществах использования Python для торговли и представит свой собственный инструмент IBPY, упрощающий торговлю с Interactive Brokers. Вебинар будет посвящен ключевым аспектам торговли в реальном времени, включая доступ к данным о ценах в реальном времени, получение исторических данных и размещение ордеров. Доктор Ю также представит торговую стратегию пересечения скользящих средних.

Мы рады, что на этом вебинаре будет такой уважаемый спикер и разнообразная аудитория. Без дальнейших промедлений я приглашаю доктора Хойла Ю взять слово и поделиться своим опытом торговли с Interactive Brokers с использованием Python и IBPY.

Сегодня я буду обсуждать торговлю с Interactive Brokers с использованием Python, в частности с использованием IBPY, инструмента, который я разработал. Прежде чем мы углубимся в детали, давайте начнем с изучения преимуществ Interactive Brokers как торговой платформы.

Interactive Brokers — хорошо зарекомендовавшая себя брокерская фирма, базирующаяся в США. Он предлагает несколько ключевых преимуществ, которые делают его популярным выбором среди трейдеров. Во-первых, Interactive Brokers предоставляет надежный API для автоматической торговли, на котором мы сегодня сосредоточимся. Этот API позволяет трейдерам эффективно и результативно выполнять свои стратегии. Во-вторых, Interactive Brokers предлагает конкурентоспособные торговые издержки, что делает его рентабельным вариантом для трейдеров. Вы можете легко сравнить их торговые издержки на их веб-сайте. Исходя из моего личного опыта, они предоставляют недорогие варианты торговли. В-третьих, Interactive Brokers имеет широкое глобальное присутствие, предлагая доступ к более чем сотне торговых центров в 24 странах. Этот глобальный охват позволяет трейдерам выходить на различные международные рынки, обеспечивая диверсификацию и расширение торговых возможностей. Наконец, Interactive Brokers поддерживает широкий спектр продуктов, включая акции, опционы, фьючерсы и форекс, удовлетворяя разнообразные потребности трейдеров. Эти преимущества делают Interactive Brokers предпочтительным выбором для многих трейдеров.

Теперь давайте рассмотрим преимущества использования Python для торговли. Python предлагает множество преимуществ, особенно для начинающих. По сравнению с другими языками программирования, такими как Java или C++, Python относительно прост в изучении. Имея некоторые начальные знания, можно быстро понять основы Python и приступить к реализации торговых стратегий. Кроме того, Python — это язык с открытым исходным кодом, обеспечивающий доступ к обширной коллекции модулей и библиотек. Эти ресурсы можно легко загрузить и интегрировать в ваши торговые системы, предлагая мощные инструменты для анализа данных, визуализации и алгоритмической торговли. Обширная экосистема Python делает его гибким и универсальным языком для трейдеров.

Теперь, когда мы понимаем преимущества Interactive Brokers и Python, давайте рассмотрим возможности IBPY. IBPY упрощает торговлю с Interactive Brokers, предоставляя удобный интерфейс для разработчиков Python. Он упрощает такие задачи, как доступ к данным о ценах в реальном времени, получение исторических данных и размещение заказов. IBPY устраняет разрыв между Interactive Brokers API и Python, упрощая трейдерам реализацию своих стратегий без работы со сложным кодом.

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

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

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

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

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

В заключение, сегодняшний вебинар предоставит ценную информацию о торговле с Interactive Brokers с использованием Python и IBPY. Доктор Хойл Ю, обладающий обширными знаниями и опытом, расскажет нам о преимуществах Interactive Brokers, преимуществах использования Python для торговли, возможностях IBPY и торговой стратегии пересечения скользящих средних. Мы надеемся, что вы найдете этот вебинар информативным и интересным. Без дальнейших церемоний я передаю его доктору Ю, чтобы он начал свою презентацию. Спасибо всем за то, что присоединились к нам сегодня, и приятного просмотра вебинара!

Trading with Interactive Brokers using Python | By Dr. Hui Liu
Trading with Interactive Brokers using Python | By Dr. Hui Liu
  • 2016.09.29
  • www.youtube.com
Dr. Hui Liu speaks about implementing algorithmic trading strategies in live markets with Interactive Brokers using Python. This webinar is perfect for begin...
 

Автоматическая торговля с помощью Python | Вебинар доктора Ива Дж. Хилпиша



Автоматическая торговля с помощью Python | Вебинар доктора Ива Дж. Хилпиша

Доктор Ив Дж. Хилпиш представлен в качестве основателя и управляющего партнера Python Course Group, компании, специализирующейся на Python и технологиях с открытым исходным кодом в финансовой отрасли, особенно в области вычислительных финансов и финансовых данных. Он является автором нескольких книг по Python и финансам, а также разработал платформу DataPark, которая позволяет специалистам по данным работать со структурированными данными прямо в браузере. Д-р Хилпиш упоминает, что в конце этого года он выпустит новую книгу, а также представляет TPQ, глобальную сеть специалистов по Python и компаний.

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

Доктор Хилпиш продолжает демонстрировать, как извлекать исторические данные с помощью Python, сосредоточив внимание на немецком индексе DAX в качестве примера. Он объясняет, что пользователи могут выбирать из более чем 100 различных инструментов, включая валютные пары и такие товары, как золото или серебро. Извлекая данные порциями и добавляя их к объекту DataFrame, пользователи могут хранить данные на диске для эффективного извлечения без необходимости повторных загрузок. Он подчеркивает роль данных в тестировании на исторических данных и их значение для оценки торговых стратегий.

Далее доктор Хилпиш показывает пример простой торговой стратегии, основанной на двух скользящих средних: более короткой (5 минут) и более длинной (15 минут). Он объясняет, что когда более короткий тренд пересекает более длинный тренд, это генерирует сигнал на покупку, а когда более короткий тренд пересекает более длинный тренд, это генерирует сигнал на продажу. Он поясняет, что это не совет по инвестированию, а демонстрирует, как реализовать стратегию на Python с использованием векторизованного подхода, что делает код эффективным и лаконичным.

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

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

Доктор Хилпиш демонстрирует использование поддельного API, который генерирует данные в формате реального времени. Хотя текущая демонстрация на самом деле не является потоковой, он упоминает, что ее можно сделать потоковой с некоторыми дополнительными усилиями, создав экземпляры дополнительных объектов и внедрив их в Jupyter Notebook. Он приводит пример цикла for, который собирает данные из API и показывает их в интерактивной области визуализации в режиме реального времени, точка за точкой.

Затем обсуждается автоматическая торговля с использованием данных в режиме реального времени или потоковых данных. Доктор Хилпиш представляет функции «покупки» и «продажи», которые размещают рыночные ордера и требуют количества единиц для продажи. Он представляет класс «TrendTrader», который основан на стратегиях следования за трендом и наследуется от класса Streamer в Wonder API. Он объясняет пользовательские атрибуты класса, такие как пустой фрейм данных и количество тиков, изначально установленное на 0. Класс позволяет определить первый и второй тренды как параметры.

Доктор Хилпиш объясняет, что метод onsuccess вызывается при получении новых данных от потокового API, даже если они поступают спорадически. Данные добавляются к ранее созданному фрейму данных и преобразуются в европейский часовой пояс. Краткосрочные и долгосрочные тренды рассчитываются на основе наблюдений, и в соответствии с ними предпринимаются соответствующие торговые действия. Он поясняет, что, хотя представленная стратегия может быть неразумной, его внимание сосредоточено на иллюстрации процесса. Он также обсуждает метод onerror, который обрабатывает любые ошибки, которые могут возникнуть в процессе потоковой передачи, и отключается от API.

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

  • 00:00:00 Д-р Ив Дж. Хилпиш представляет себя и дает некоторую справочную информацию о своей работе. Он является основателем и управляющим партнером Python Course Group, которая специализируется на Python и других технологиях с открытым исходным кодом, используемых в финансовой индустрии, особенно в областях вычислительных финансов и финансовых данных. Доктор Хилпиш является автором нескольких книг о Python и финансах, а также разработал платформу под названием DataPark, которая позволяет специалистам по данным работать со структурированными данными в браузере. Он кратко упомянул, что его новая книга выйдет в конце этого года, а также упомянул о начале глобальной сети специалистов по Python и компаний под названием TPQ.

  • 00:05:00 Д-р Ив Дж. Хилпиш начинает вебинар с обсуждения того, как он получил увеличившееся количество запросов с вопросами о том, как лучше всего использовать Python в финансах, и подчеркивает, что многие стартапы представляют собой определенную аудиторию, стремящуюся привлечь людей для создания Python для финансов. Затем Hilpisch представляет новую возможность загрузки исторических данных с Comm Trading Platform и делится тремя основными темами, которые будут затронуты на вебинаре, такими как 1) как загрузить исторические данные, 2) как кодировать и протестировать торговую стратегию и 3) как работать с потоковыми данными — критическое требование для алготрейдинга. Хилпиш придерживается простой темы и пытается передать основные идеи и объяснения шагов, необходимых для реализации этих отдельных шагов, и рассказывает, как без данных и последующего тестирования на истории у вас не может быть никаких разумных торговых стратегий.

  • 00:10:00 Д-р Ив Хилпиш обсуждает поиск данных, демонстрируя, как получить исторические данные для инструмента, в частности для немецкого индекса DAX. Пользователи могут выбрать инструмент из более чем 100 различных вариантов, включая валютные пары и товары, такие как золото или серебро. Результатом команды является объект JSON, содержащий два наблюдения: открытие, закрытие и ставка. Хилпиш отмечает, что, поскольку двух ежедневных наблюдений недостаточно для ретроспективного тестирования, он покажет, как извлекать данные за более длительный период. Создав набор данных, превышающий два ежедневных наблюдения, и сохранив его на диске, пользователи могут быстро получить эту информацию, не тратя время на ее повторный поиск.

  • 00:15:00 Д-р Ив Дж. Хилпиш демонстрирует, как извлекать и хранить данные финансового рынка с помощью Python. Данные извлекаются порциями и добавляются к объекту DataFrame, который затем сохраняется в двоичном формате. Он подчеркивает важность данных при тестировании на исторических данных и то, как они позволяют оценивать торговые стратегии. Кроме того, он показывает пример простой торговой стратегии, основанной на двух разных трендах, и то, как рассчитать доходность журнала в качестве основы для последующей оценки эффективности. Торговая стратегия — это всего лишь один пример, и его презентация направлена на демонстрацию инструментов и методов Python, доступных для автоматической торговли.

  • 00:20:00 Докладчик объясняет простую торговую стратегию с использованием двух скользящих средних, одной более короткой (5 минут) и одной более длинной (15 минут), для генерации сигналов о том, когда покупать или продавать актив. Если более короткий тренд пересекает более длинный тренд снизу, это сигнал к покупке, а если более короткий тренд пересекает более длинный тренд сверху, это сигнал к продаже. Спикер предупреждает, что это не инвестиционный совет, и подчеркивает необходимость использования ретроспективного тестирования, чтобы увидеть, как стратегия работала в прошлом. Спикер также показывает, как реализовать стратегию на Python с использованием векторизованного подхода, что делает ее эффективной и лаконичной.

  • 00:25:00 Д-р Ив Дж. Хилпиш обсуждает, как рассчитать эффективность торговой стратегии, используя ранее рассчитанные доходы. Взяв ранее открытую позицию и умножив ее на реализованный доход, трейдеры могут определить эффективность своей торговой стратегии. Используя пример инвестирования в длинную позицию на рынке и ожидания одного дня, трейдеры могут умножить свою позицию на дневную доходность рынка. Комбинируя предыдущую позицию и текущую доходность, трейдеры могут оценить эффективность своей торговой стратегии за определенный период времени, предупреждая, что положительный результат не является гарантией для каждого периода. Он также предостерегает от тестирования торговой стратегии, чтобы избежать предвзятости в выборке и возможности того, что торговая стратегия может быть не лучшим выбором для реализации.

  • 00:30:00 Д-р Ив Дж. Хилпиш обсуждает стандартное отклонение доходности для стратегии рыночных инвестиций по сравнению со стратегией сигналов инвестиций, основанной на тренде, обе основаны на минутных блоках. Стратегия, основанная на тренде, продемонстрировала более низкие стандартные отклонения доходности, и доктор Хилпиш подчеркивает важность работы с потоковыми данными при реализации стратегии автоматической торговли. Он демонстрирует использование Plotly API для создания графиков в реальном времени и обсуждает потребность в системе, которая может обрабатывать и принимать торговые решения на основе данных в реальном времени.

  • 00:35:00 Д-р Ив Дж. Хилпиш демонстрирует использование поддельного API, который генерирует данные в том же формате, что и настоящий API, в режиме реального времени. Данные собираются и отображаются в объекте фрейма данных, который можно визуализировать с помощью интерактивной области визуализации. Хотя текущая демонстрация на самом деле не является потоковой, д-р Хилпиш отмечает, что ее можно сделать потоковой, приложив немного больше усилий, создав экземпляры дополнительных объектов и внедрив их в Jupiter Notebook. Он приводит пример цикла for, который собирает данные из API и показывает их в интерактивной области визуализации в режиме реального времени, точка за точкой.

  • 00:40:00 Д-р Ив Хилпиш обсуждает автоматическую торговлю с использованием данных в режиме реального времени или потоковых данных. Он вводит две функции, «купить» и «продать», которые используются для размещения рыночных ордеров и требуют количества торгуемых единиц. Для торговли используется класс TrendTrader, основанный на стратегиях следования за трендом. Этот класс наследуется от класса Streamer API Wonder и включает в себя настраиваемые атрибуты, такие как пустой объект фрейма данных и количество тактов, установленное на 0 в начале. Первый и второй тренды также могут быть определены как параметры.

  • 00:45:00 Д-р Ив Дж. Хилпиш обсуждает, как вызывается метод onsuccess при получении новых данных от потокового API, которые могут поступать спорадически, а не через регулярные промежутки времени. Затем данные добавляются к фрейму данных, созданному ранее, и преобразуются в европейский часовой пояс. Два тренда, t1 и t2, рассчитываются на основе краткосрочных и долгосрочных наблюдений. Если краткосрочный тренд выше долгосрочного тренда, а трейдер не инвестирует, он покупает указанное количество единиц и устанавливает флаг не инвестировать в false. И наоборот, если краткосрочный тренд ниже или равен долгосрочному тренду и трейдер инвестирует, он будет продавать. Доктор Хилпиш упоминает, что, хотя эта стратегия может быть неразумной, его внимание сосредоточено на иллюстрации того, как работает этот процесс. Также обсуждается метод при ошибке, который перехватывает любые ошибки, которые могут возникнуть, и отключается от потоковой передачи API.

  • 00:50:00 Ив Хилпиш демонстрирует, как реализовать стратегию автоматической торговли с помощью Python. Он демонстрирует, как программа на Python может автоматически генерировать ордера на покупку и продажу на основе сравнения средних значений данных за 5 и 15 тиков. Он подчеркивает, что алгоритмическая торговля требует объединения навыков в области финансов и технологий, понимания рынков, статистики больших данных и автоматизации. Видео представляет собой образовательный ресурс для людей, интересующихся широким спектром операций и навыков, необходимых для успешной карьеры в области алгоритмического трейдинга.
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
  • 2016.02.15
  • www.youtube.com
The video is a recording of the webinar "Automated Trading with Python" which was conducted on 10th February 2016. The webinar aimed at introducing the audie...
 

Алгоритмическая торговля с использованием Python — Введение



Алгоритмическая торговля с использованием Python — Введение

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

Эта серия предназначена для того, чтобы помочь вам изучить и использовать программирование Python в контексте алгоритмической торговли. Мы рассмотрим различные темы, такие как генерация торговых сигналов, реализация стратегий, тестирование на исторических данных и развертывание алгоритмов в реальной торговой среде. Чтобы облегчить это, мы познакомим вас с мощной алгоритмической торговой платформой под названием Contact Platform.

Contact Platform — это интегрированная среда разработки, которая позволяет вам создавать, тестировать и развертывать свои торговые алгоритмы. Он предлагает удобный интерфейс и поддерживает различные языки программирования, включая Python, который мы будем широко использовать в этой серии статей. Вы можете получить доступ к платформе онлайн через веб-сайт Contact или загрузить программное обеспечение для Windows или Mac.

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

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

На протяжении всей серии мы будем использовать мощные библиотеки и инструменты для машинного обучения, анализа настроений и тестирования на исторических данных. Эти библиотеки, такие как Pandas и NumPy, широко используются в торговом сообществе и будут необходимы для нашего анализа. Используя эти библиотеки и платформу Contact, вы сможете создавать и тестировать различные торговые стратегии.

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

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

Algorithmic Trading Using Python - Introduction
Algorithmic Trading Using Python - Introduction
  • 2021.03.12
  • www.youtube.com
This is the first video of my algorithmic trading tutorial series in which you will learn everything you need to know to start writing your own trading bots ...
 

Алгоритмическая торговля с использованием Python #2



Алгоритмическая торговля с использованием Python #2

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

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

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

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

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

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

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

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

Теперь давайте окунемся в увлекательный мир алгоритмической торговли и подробно рассмотрим процесс разработки алгоритма.

Algorithmic Trading Using Python #2
Algorithmic Trading Using Python #2
  • 2021.03.19
  • www.youtube.com
In this 2nd video of this algorithmic trading course, you will learn all about the algorithm development process on a conceptual level. We will cover everyth...
 

Как использовать уровни поддержки, сопротивления и RSI для прибыльной торговли валютой




Как использовать уровни поддержки, сопротивления и RSI для прибыльной торговли валютой

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

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

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

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

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

Для автоматизации индикаторов в Python и оценки стратегии можно использовать файл Jupyter Notebook. Свечные данные евро/доллара США за часовой период с 2003 по 2023 год загружаются с использованием библиотеки pandas. Данные фильтруются для удаления свечей с нулевым объемом и выходных, а RSI рассчитывается с использованием библиотеки технического анализа pandas. Уровни поддержки и сопротивления определяются с помощью функций, сравнивающих текущую свечу с соседними свечами, а близость к уровням проверяется с помощью дополнительных функций. Эти функции рассматривают тело и фитиль свечи по отношению к уровням, а также предшествующие свечи.

После того, как все необходимые функции определены, создается функция «check_candle_signal» для вычисления сигналов. Эта функция принимает в качестве входных данных индекс текущей свечи, количество свечей слева и справа для рассмотрения, количество обратных свечей для проверки и фрейм данных. Он использует ранее определенные функции для вычисления уровней поддержки и сопротивления, при необходимости объединяет их и генерирует сигналы на основе определенных условий и пороговых значений RSI.

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

После загрузки данных свечей и выполнения необходимых шагов по очистке данных, таких как удаление свечей с нулевым объемом и выходных, следующим шагом будет расчет индекса относительной силы (RSI).

RSI — популярный осциллятор импульса, используемый для определения условий перекупленности и перепроданности на рынке. Он измеряет величину недавних изменений цен, чтобы определить, является ли актив перекупленным или перепроданным. Значения RSI варьируются от 0 до 100, где значения выше 70 обычно считаются перекупленностью, а значения ниже 30 — перепроданностью.

Чтобы рассчитать RSI, вам необходимо определить размер окна, который представляет собой количество предыдущих свечей, которые следует учитывать при расчете индикатора. Наиболее распространенный размер окна — 14, но вы можете настроить его в зависимости от ваших требований и характеристик анализируемого актива.

Расчет RSI включает в себя следующие шаги:

  1. Рассчитайте изменение цены для каждой свечи. Это разница между ценой закрытия текущей и предыдущей свечи.

  2. Разделите изменения цен на две отдельные серии: прибыли и убытки. Прибыль представляет собой положительное изменение цены, а убытки представляют собой отрицательное изменение цены. Если изменение цены положительное, это считается прибылью. Если он отрицательный, это считается убытком.

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

  4. Рассчитайте средний выигрыш и средний проигрыш по заданному размеру окна. Обычно это делается с помощью метода простой скользящей средней (SMA).

  5. Рассчитайте относительную силу (RS), разделив средний выигрыш на средний проигрыш.

  6. Рассчитайте RSI по формуле: RSI = 100 - (100 / (1 + RS))

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

Важно отметить, что RSI является лишь одним из многих технических индикаторов, используемых в финансовом анализе. Его эффективность зависит от различных факторов, таких как рыночные условия, анализируемый актив и рассматриваемый период времени.

How to Use Support Resistance Levels and RSI for Profitable Currency Trading
How to Use Support Resistance Levels and RSI for Profitable Currency Trading
  • 2023.05.11
  • www.youtube.com
In this Python FOREX and currency trading tutorial, we will show you how to use the Relative Strength Index (RSI) and Support/Resistance Levels for profitabl...
 

Тестирование стратегии скользящей средней и тренда VWAP в Python


Тестирование стратегии скользящей средней и тренда VWAP в Python

Здравствуйте, сегодня мы сравним индикаторы V-WAP (Volume-Weighted Average Price) и Moving Average для трейдинга и алгоритмической торговли. Мы будем использовать оба индикатора для создания торгового бота и его тестирования на истории с использованием данных биткойнов.

Доходность стратегий, которые мы будем использовать в этом видео, может варьироваться от примерно 200 процентов до выдающихся 473 процентов за три года данных. Если вас интересует часть кодирования, тестирование на истории выполняется с использованием языка Python, и вы можете скачать файл Jupyter Notebook по ссылке, указанной в описании.

Помимо того, что это мой любимый индикатор в торговле, V-WAP важен, потому что он помогает трейдерам определить, торгуется ли ценная бумага по справедливой стоимости или нет. Эта информация имеет решающее значение, потому что, если цена торгуется выше кривой V-WAP или намного выше кривой V-WAP, это может указывать на то, что она переоценена. И наоборот, если текущая цена торгуется ниже кривой V-WAP, это может указывать на то, что ценная бумага недооценена. Короче говоря, мы всегда ожидаем, что в какой-то момент цена вернется к уровню V-WAP. Это можно наблюдать в примере, где разница между ценовыми свечами и желтой кривой V-WAP увеличилась до того, как цена снова сошлась к уровню V-WAP и снова отскочила от желтой кривой. Существует четкое различие между кривой скользящего среднего и желтой кривой V-WAP.

Для расчета V-WAP мы можем использовать следующее выражение: V-WAP = совокупная средняя цена * объем / совокупный объем. Средняя цена – это средняя цена между максимумом, минимумом и ценой закрытия. Под накопительной частью подразумевается общая сумма с момента открытия торговой сессии. Торговая сессия может сбрасываться ежедневно, еженедельно или ежемесячно, в зависимости от желаемого периода времени. Расчет V-WAP отличается от простого скользящего среднего, поскольку он включает больше информации об объеме торгов.

Мы также можем использовать V-WAP для определения оптимальных точек входа и выхода для сделок, поскольку он действует как динамический уровень поддержки и сопротивления, который движется вместе с ценой. Именно для этого мы будем использовать V-WAP в стратегии, показанной в этом видео.

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

В файл Jupiter Notebook мы загружаем данные свечей биткойн-доллар США с 15-минутным периодом между 2019 и 2022 годами. Мы очищаем форматы данных и используем модуль технического анализа pandas для расчета V-WAP и EMA (экспоненциальная скользящая средняя). ). Затем мы вычисляем сигнал как для EMA, так и для V-WAP, используя определенное количество обратных свечей. Значения сигналов сохраняются в новых столбцах фрейма данных. Визуализируем сигнальные точки для лучшего понимания.

Для тестирования на истории мы можем использовать различные подходы к управлению торговлей. В этом случае мы используем ATR (средний истинный диапазон) для установки уровней стоп-лосса и тейк-профита. Уровень тейк-профита устанавливается на основе расстояния до стоп-лосса, при этом отношение тейк-профита к стоп-лоссу равно 2,5. Стоп-лосс рассчитывается как 0,8 умножить на ATR.

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

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

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

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

Moving Average And VWAP Trend Strategies Backtest In Python
Moving Average And VWAP Trend Strategies Backtest In Python
  • 2023.04.20
  • www.youtube.com
In this video, we compare VWAP and Moving Average indicators for trading and Algorithmic trading. We use both indicators to build a trading bot, backtesting ...
 

Освойте торговлю ценовым действием с помощью автоматических моделей доджи и поглощений с использованием Python


Освойте торговлю ценовым действием с помощью автоматических моделей доджи и поглощений с использованием Python

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

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

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

Теперь давайте углубимся в то, как мы используем эти шаблоны в нашей стратегии. Во-первых, мы ждем закрытия ценовой свечи выше или ниже линий полос Боллинджера. Если бычий паттерн формируется ниже нижней линии полосы Боллинджера, мы подаем сигнал на покупку. С другой стороны, если установка медвежьей свечи происходит выше верхней линии полосы Боллинджера, мы устанавливаем сигнал на продажу или продажу. Проще говоря, если мы наблюдаем бычий паттерн ниже полос Боллинджера, мы ожидаем, что цена вырастет. И наоборот, если мы заметим медвежий паттерн выше полос Боллинджера, мы ожидаем, что цена снизится. Это аспект, который мы будем изучать с помощью Python.

Предоставленный блокнот Jupyter демонстрирует тестирование этого индикатора на истории. Код использует модуль Y Finance и pandas для поиска и анализа данных соответственно. Данные об обменном курсе евро к доллару США с 1 апреля 2021 г. по 19 марта 2023 г. загружаются на почасовом графике.

Для расчета полос Боллинджера мы используем модуль технического анализа pandas, установив длину 30 и стандартное отклонение 1,5. Эти параметры можно настроить для дальнейших экспериментов.

Затем мы определяем функцию «Сигнал Боллинджера Доджи», которая берет фрейм данных с ценами открытия, закрытия, максимума и минимума, а также данные полос Боллинджера. Проверяем первое условие, которое влечет за собой бычий сигнал. В этом случае мы ищем цену закрытия текущей свечи ниже нижней линии полосы Боллинджера. В то же время текущая цена закрытия должна быть выше цены открытия, что указывает на зеленую свечу или свечу восходящего тренда, которой предшествует свеча Доджи. Кроме того, предыдущая свеча должна быть медвежьей, с ценой закрытия ниже цены открытия. Эта комбинация представляет собой модель разворота. Если эти условия выполняются и паттерн возникает ниже нижней линии полосы Боллинджера, мы устанавливаем сигнал на покупку. И наоборот, для медвежьего сигнала цена закрытия должна быть выше верхней линии полосы Боллинджера, а текущая свеча должна быть медвежьей, а цена закрытия ниже цены открытия. Перед этим должен быть восходящий тренд или зеленая свеча с ценой закрытия выше цены открытия.

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

Функция «Сигнал Боллинджера Доджи» вычисляет сигналы на основе условий, упомянутых выше, и возвращает фрейм данных с исходными данными вместе со столбцом сигналов, указывающим, покупать ли (1), продавать (-1) или держать (0) на каждом свеча.

Затем мы применяем эту функцию к нашим историческим данным и сохраняем результаты в новом фрейме данных с именем «signals_df».

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

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

Анализируя результаты бэктеста, мы можем оценить эффективность свечных паттернов Доджи и Поглощения в сочетании с индикатором «Полосы Боллинджера» при генерации торговых сигналов. Важно отметить, что это упрощенный пример, и его не следует рассматривать как финансовый совет. Кроме того, стратегия и ее параметры могут быть дополнительно оптимизированы и настроены в зависимости от индивидуальных предпочтений и допустимого риска.

Чтобы полностью понять и воспроизвести код, рекомендуется загрузить и запустить предоставленную записную книжку Jupyter, содержащую полный код и пояснения.

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

Мы надеемся, что это объяснение поможет вам лучше понять реализацию моделей свечей Доджи и Поглощения в сочетании с индикатором «Полосы Боллинджера» в торговой стратегии.
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
  • 2023.03.25
  • www.youtube.com
In this informative video, we will explore the power of price action patterns in combination with Bollinger Bands for trading strategy backtesting. Specifica...