Рубрики
Без рубрики

Как начать с алгоритмической торговли в Python

Автор оригинала: Harshit Tyagi.

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

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

Итак, вопрос в том, как вы начинаете с алгоритмической торговли?

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

Я лично предпочитаю Python, поскольку он предлагает правильную степень настройки, легкость и скорость развития, структуры тестирования и скорость выполнения. Из-за этого все эти темы сосредоточены на Python для торговли Отказ

1. Учить программирование Python

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

Вот что вы должны посмотреть на мастера в экосистеме Python для науки о данных:

  • Настройка окружающей среды – Это включает в себя создание виртуальной среды, устанавливая необходимые пакеты, а Работа с ноутбуком Jupyter S или Google Colabs.
  • Структуры данных – Некоторые из самых важных структур данных Pythonic Data являются спискими, словарями, примечательными массивами, кортежами и множествами. Я собрал несколько примеров в связанной статье для вас, чтобы узнать их.
  • Объектно-ориентированное программирование – В качестве кванты, вы должны убедиться, что вы хороши при написании хорошо структурированного кода с определенным правильными классами. Вы должны научиться использовать объекты и их методы при использовании внешних пакетов, таких как Pandas, Numpy, Scipy и так далее.

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

Узнайте, как свернуть финансовые данные

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

Как изучать данные с использованием Pandas

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

Сосредоточиться на создании данных данных, фильтрация ( loc , ILOC , Запрос ), описательная статистика (сводка), присоединяйтесь/сливается, группировка и подброс.

Как разобраться со данными серии Time

Торговые данные все о анализе серии Time. Вы должны научиться повторно отменить или reindex данные для изменения частоты данных, от нескольких минут до часа или с конца дня данных OHLC до конца недели.

Например, вы можете преобразовать 1-минутные временные ряды в 3-минутные данные временной серии, используя функцию Resample:

df_3min = df_1min.resample('3Min', label='left').agg({'OPEN': 'first', 'HIGH': 'max', 'LOW': 'min', 'CLOSE': 'last'})

3. Как написать фундаментальные алгоритмы торговли

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

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

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

Вот две книги, с которых вы можете начать с:

И вот пара пары, которые помогут вам начать с Python для торговли, и это охватывает большую часть темы, которые я схватил здесь:

Вы можете получить 10% скидка на курс Quantra, используя мой код Гаршит10.

4. Узнайте о откровении

Как только вы сделаете кодирование вашей торговой стратегии, вы не можете просто поместить его в тест на живом рынке с фактическим капиталом, верно?

Следующим шагом является выставление этой стратегии в поток исторических торговых данных, которые будут генерировать торговые сигналы. Затем проведенные сделки будут накапливаться ассоциированная прибыль или убыток (P & L), а также накопление всех сделок даст вам общее количество P & L. Это называется откровение.

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

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

5. Метрики производительности – как оценить торговые стратегии

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

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

  • Соотношение Шарпа – Euristically характеризует коэффициент риска/вознаграждения стратегии. Это количественно определяет возврат, вы можете накапливаться на уровне волатильности, подвергаемой кривой справедливости.
  • Волатильность – количественно определяет «риск», связанный с стратегией. Соотношение Шарпа также воплощает эту характеристику. Высшая волатильность базового актива часто приводит к повышению риска на кривой справедливости и что приводит к тому, что в меньших отношениях Шарпа.
  • Максимальная просадка – крупнейший в целом процентное падение пикового корыта на эквитической кривой стратегии. Максимальные просадки часто изучаются в сочетании с импульсными стратегиями, поскольку они страдают от них. Учитесь рассчитать его, используя numpy библиотека.
  • Емкость/ликвидность – определяет масштабируемость стратегии для дальнейшего капитала. Многие фирмы управления средствами и управлению инвестициями страдают от этих вопросов потенциала, когда стратегии увеличивают выделение капитала.
  • Cagr – измеряет среднюю ставку роста стратегии в течение определенного периода времени. Он рассчитывается по формуле: (возвращение кумулятивной стратегии) ^ (252/количество торговых дней) – 1

Дальнейшие ресурсы

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

Теперь вопрос в том, какие ресурсы могут помочь вам встать на скорость с этими темами?

Вот несколько классических книг и полезных курсов с заданиями и упражнениями, которые я нашел полезным:

Наука данных с Гершитом

С этим каналом я планирую развернуть пару Серия, покрывающая все данные науки о данных Отказ Вот почему вы должны быть подписаны на Канал :

Не стесняйтесь связываться со мной на Twitter или LinkedIn Отказ