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

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

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

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

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

здесь Yf.pdr_override () активирует условия обходного пути, а остальные задают ваш фрейм данных.

Теперь мы закончили со всеми предпосылками для основной программы, и мы можем сразу перейти к ней. Итак, давайте начнем с математических расчетов, лежащих в основе принятия решения: как вы определяете значение опорных точек?

Ответ довольно прост и понятен. мы собираемся использовать переменную (счетчик) для подсчета до 5, и это потому, что, когда мы смотрим на биржевую диаграмму, мы хотим определить локальный максимум, и что касается меня, я бы рекомендовал использовать период в 10 дней, поэтому мы хотим a, чтобы найти запас, который является локальным максимумом в течение этих 10 дней. Таким образом, для этого нужно 5 дней до левого и 5 дней после вправо, так мы охарактеризуем опорную точку.

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

мы начнем с запуска цикла, нахождения текущего максимума массива и добавления этих значений в массив диапазона. Теперь, если текущий максимум является максимальным значением в массиве, счетчик добавит +1, а если нет, счетчик будет установлен на ноль и будет искать новый максимум. нам нужен еще один оператор if, чтобы проверить, была ли найдена точка поворота, поэтому, если счетчик == 5, последняя точка поворота станет новой точкой поворота, поскольку все 5 точек до и после нее ниже ее

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

Теперь все, что осталось, это отметить эти точки на нашей цене акций Tesla, которая в настоящее время выглядит примерно так: (мы работаем над графиками цен на акции Tesla, следовательно, цифра представляет собой то же самое)

мы можем построить его с помощью следующего кода

Обратите внимание, что вы можете выбрать маркер и стиль по своему желанию. Теперь, когда наши линии построены, мы можем посмотреть на все точки поворота.

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

В следующей статье мы рассмотрим тенденции сопротивления и способы его прогнозирования. репозиторий для этого проекта - https://github.com/hahaharsh7/support-and-resistance-plotting/blob/master/Untitled4.ipynb