В этой статье мы подробно рассмотрим все шаги по созданию предсказателя свечных паттернов с помощью 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 можно установить следующим образом :
Затем импортируйте модули TA-Lib и yfinance, также нам нужно импортировать модуль date, чтобы получить текущую дату.
Шаг 2: Загрузка необходимых данных по акциям из API yahoo finance
В этом примере мы будем использовать данные дневного таймфрейма S&P BSE SENSEX за последние 6 месяцев.
Шаг 3: Извлечение свечных паттернов с помощью TA-Lib
Теперь с помощью модуля talib мы извлечем наиболее эффективные свечные паттерны из данных, загруженных из Yahoo Finance.
Шаг 4: Создание столбцов для каждого паттерна
Теперь мы создадим 10 колонок для 10 свечных паттернов, упомянутых выше, а затем присвоим свечные данные, полученные с помощью модуля talib, отдельным колонкам.
Шаг 5: Очистка полученных данных
TA-Lib присваивает целочисленное значение 0, если паттерн не найден, положительное целочисленное значение, если найден бычий паттерн, и отрицательное целочисленное значение, если найден медвежий паттерн.
Итак, теперь нам предстоит очистить полученные данные и привести их в табличную форму, а затем загрузить полученные данные в файл csv.
Вуаля! Мы успешно получили набор данных для нужной акции.
Проверка полученных результатов
1] Согласно полученным данным, 16 ноября 2021 года наблюдался медвежий паттерн "вечерняя звезда", поэтому давайте проверим, так ли это на графиках.
Как уже упоминалось, на графиках наблюдалось формирование паттерна "вечерняя звезда", и рынок упал примерно на 5-6%, медвежий сигнал был виден в нашем csv-файле в тот же день. Похоже, это была бы отличная возможность для короткой позиции.
2] Согласно полученным данным, 18 января 2022 года наблюдалась фигура "медвежье поглощение".
Как видно из графика, рынок пошел вниз после 18 января, и такой же сигнал был дан в csv-файле.
3] 8 марта 2022 года, согласно полученным данным, наблюдался паттерн "бычье поглощение".
Как видно из приведенного выше графика, наблюдалось бычье поглощение, а затем на рынке наметился хороший восходящий тренд
Заключение
Когда паттерны, найденные в нашем наборе данных, сравниваются с реальными паттернами, результаты выглядят соответствующими. Мы можем сказать, что этот скрипт Python поможет нам определить ранние точки входа в нашу торговлю. Реализация скрипта Python для такого распознавания паттернов может быть очень полезна любому, кто хочет начать заниматься алгоритмической торговлей.
Здесь приведен весь код скрипта на python: https://gist.githubusercontent.com/AbhishekBhosale46/485ffd9b594ce24f91185f0ca867bccf/raw/5fd0f97f85c03cb2e6796847d290f50094458d4e/CandlestickRecognition.py