Начало работы с Python для автоматической торговли

Опубликовано: 17 Июня, 2021

Автоматическая торговля - это терминология, используемая для торговых входов и выходов, которые обрабатываются и выполняются с помощью компьютера. У автоматической торговли есть определенные преимущества:

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

  2. Тестирование на исторических данных: тестирование на истории позволяет трейдеру использовать свои стратегии на исторических данных (данные за предыдущую неделю / месяц / год). Это помогает им понять последствия своей стратегии для данных в реальном времени и помогает им определить вероятность выигрыша или проигрыша сделки.

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

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

Python приобрел популярность в области количественного финансирования благодаря своей способности с легкостью создавать сложные статистические модели. Это связано с такими научными библиотеками, как Pandas, NumPy, Matplotlib, PyAlgoTrade, Pybacktest и другими.

Компоненты, необходимые для автоматической торговли

  1. Anaconda: Первый шаг в настройке Python - это загрузка Anaconda. Anaconda - надежный дистрибутив Python, он состоит из всех инструментов и библиотек, необходимых для выполнения кода Python.

  2. Spyder IDE: IDE означает интегрированная среда разработки. Он предоставляет интерфейс для написания, отладки, компиляции и выполнения кода Python.

  3. Блокнот Jupyter: Блокнот Jupyter - это интерактивная платформа, используемая для понимания фрагментов кода. Jupyter Notebook в основном использует ячейки «уценки» для объяснения кода и ячейки «кода» для выполнения кода. Это очень полезно для учащихся, которые пытаются понять работу фрагментов кода.

Примечание. Spyder IDE используется для запуска и выполнения больших проектов, тогда как Jupyter Notebook используется для выполнения небольших фрагментов кода.

Понимание популярных пакетов / библиотек на Python в отношении количественной торговли

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

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



  1. NumPy: NumPy, сокращенный для NumericalPy, используется для численного анализа данных.

  2. Pandas: Pandas широко используется при работе с данными в табличном формате (то есть строками и столбцами), такими как электронные таблицы. Его можно использовать для импорта файлов Excel и CSV в код Python.

  3. Matplotlib: эта библиотека содержит функции, используемые для построения 2D-графиков.

  4. TA-Lib: TA-Lib широко используется для выполнения технического анализа таких данных, как полосы Боллинджера, RSI (индикатор относительной силы), VWAP (средневзвешенное значение объема), MA (скользящее среднее).

  5. Zipline: управляемая событиями система, поддерживающая тестирование на истории и торговлю в реальном времени.

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

Рекомендации:

  1. https://numpy.org/
  2. https://matplotlib.org/
  3. https://pandas.pydata.org/
  4. https://www.zipline.io/
  5. https://github.com/mrjbq7/ta-lib