Найти тему
Машинное обучение

📈 Нахождение японских свечных паттернов с помощью Python и TA-Library

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

Что такое свечные паттерны?

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

Вот пример графика свечного паттерна:

Каждая свеча состоит из значений open, high, low и close.

Необходимые модули :

TA-Lib

Yahoo Finance

Шаг 1 : Установка необходимых модулей

Извлечь различные свечные паттерны очень просто с помощью модуля talib. Итак, сначала нам нужно установить модуль TA-Lib, который можно установить с сайта https://github.com/mrjbq7/ta-lib. В репозитории содержится простое руководство по процессу установки.

yfinance - это модуль, который позволяет нам загружать рыночные данные из Yahoo! Finance API. yfinance можно установить следующим образом :

-2

Затем импортируйте модули TA-Lib и yfinance, также нам нужно импортировать модуль date, чтобы получить текущую дату.

-3

Шаг 2: Загрузка необходимых данных по акциям из API yahoo finance

В этом примере мы будем использовать данные дневного таймфрейма S&P BSE SENSEX за последние 6 месяцев.

-4

Шаг 3: Извлечение свечных паттернов с помощью TA-Lib

Теперь с помощью модуля talib мы извлечем наиболее эффективные свечные паттерны из данных, загруженных из Yahoo Finance.

-5

Шаг 4: Создание столбцов для каждого паттерна

Теперь мы создадим 10 колонок для 10 свечных паттернов, упомянутых выше, а затем присвоим свечные данные, полученные с помощью модуля talib, отдельным колонкам.

-6

Шаг 5: Очистка полученных данных

TA-Lib присваивает целочисленное значение 0, если паттерн не найден, положительное целочисленное значение, если найден бычий паттерн, и отрицательное целочисленное значение, если найден медвежий паттерн.

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

-7

Вуаля! Мы успешно получили набор данных для нужной акции.

-8

Проверка полученных результатов

1] Согласно полученным данным, 16 ноября 2021 года наблюдался медвежий паттерн "вечерняя звезда", поэтому давайте проверим, так ли это на графиках.

-9
-10

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

2] Согласно полученным данным, 18 января 2022 года наблюдалась фигура "медвежье поглощение".

-11

Как видно из графика, рынок пошел вниз после 18 января, и такой же сигнал был дан в csv-файле.

3] 8 марта 2022 года, согласно полученным данным, наблюдался паттерн "бычье поглощение".

-12

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

Заключение

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

Здесь приведен весь код скрипта на python: https://gist.githubusercontent.com/AbhishekBhosale46/485ffd9b594ce24f91185f0ca867bccf/raw/5fd0f97f85c03cb2e6796847d290f50094458d4e/CandlestickRecognition.py

Машинное обучение RU
Python RU