Давайте посмотрим, как рассчитать точки разворота для дневной торговли в Python.
Дневная торговля сильно отличается от торговли на колебаниях. Это сложнее, и для того, чтобы приносить прибыль, нужны определенные инструменты. Точки разворота - это некоторые из инструментов, которые могут использовать дневные трейдеры.
В этой статье я объясню, как они работают.
Что такое точки разворота?
Точки разворота - это уровни цен, которые часто используются во внутридневной торговле (но их можно использовать даже при торговле на колебаниях). Они считаются «естественными» уровнями поддержки и сопротивления для цены во время дневной рыночной сессии, поэтому они могут быть весьма полезны для внутридневных трейдеров, поскольку рынок часто ведет себя нетривиальным образом, когда приближается к ним.
Существует несколько типов точек поворота, но классические точки поворота обычно определяются, начиная с максимума, минимума и цены закрытия последнего дня. Применяя некоторые математические вычисления к этим ценам в предыдущий рыночный день, трейдер может рассчитать уровни разворота для текущего рыночного дня и использовать их. В этой статье я остановлюсь на классических поворотных точках.
Как они используются?
Классические точки разворота обычно определяют основной уровень разворота. Основная идея заключается в том, что если цена выше опорного уровня, рынок будет бычьим. Если цена ниже основного уровня разворота, рынок медвежий.
За основным уровнем разворота часто следуют некоторые уровни поддержки и сопротивления, которые используются в качестве естественных ключевых уровней для внутридневной рыночной сессии.
На следующем рисунке показана цена акций Facebook на 15-минутном таймфрейме. Горизонтальные уровни - это опоры разворота (S1, S2, S3) и сопротивления (R1, R2, R3), а зеленые горизонтальные линии - уровни разворота (P).
Как видите, рынок часто отвергает эти уровни так же, как они действовали как реальные поддержки и сопротивления. Так действует даже сам уровень Pivot. Итак, легко понять важность таких уровней в дневной торговле.
Дневной трейдер может искать торговые возможности, когда цена приближается к опорному уровню, ожидая отката или прорыва и, например, используя ближайший опорный уровень в качестве цели.
Как их рассчитать
Классические уровни разворота рассчитываются по следующим формулам, взятым из базы знаний Tradingview (https://www.tradingview.com/support/solutions/43000521824-pivot-points-standard/), примененным к максимуму последнего дня. , Минимальные и закрытые цены:
- PP = (High + Low + Close) / 3
- R1 = 2 * PP - Низкий
- S1 = 2 * PP - высокий
- R2 = PP + (высокий - низкий)
- S2 = PP - (высокий - низкий)
- R3 = PP + 2 * (высокий - низкий)
- S3 = PP - 2 * (высокий - низкий)
PP - это основной уровень разворота. S1, S2 и S3 - уровни поддержки. R1, R2 и R3 - уровни сопротивления.
Расчет на Python
Давайте посмотрим, как вычислить эти уровни в Python. В этом примере я сосредоточусь на данных об акциях Facebook. Полную записную книжку можно найти здесь: https://github.com/gianlucamalato/machinelearning/blob/master/Calculation_of_daily_pivot_levels.ipynb
Прежде всего, мы должны получить данные об акциях с помощью библиотеки yfinance.
!pip install yfinance
Затем мы можем импортировать нужные нам библиотеки.
import numpy as np import pandas as pd import yfinance
Теперь мы можем импортировать данные Facebook в фреймворк Pandas.
ticker = yfinance.Ticker("FB") df = ticker.history(interval="1d")
Последняя запись этого фрейма данных - последний рыночный день. Мы собираемся использовать его ценовые уровни, чтобы рассчитать уровни разворота, которые мы можем использовать сегодня.
last_day = df.tail(1).copy()
Теперь по формулам разворота можно рассчитывать уровни.
last_day['Pivot'] = (last_day['High'] + last_day['Low'] + last_day['Close'])/3 last_day['R1'] = 2*last_day['Pivot'] - last_day['Low'] last_day['S1'] = 2*last_day['Pivot'] - last_day['High'] last_day['R2'] = last_day['Pivot'] + (last_day['High'] - last_day['Low']) last_day['S2'] = last_day['Pivot'] - (last_day['High'] - last_day['Low']) last_day['R3'] = last_day['Pivot'] + 2*(last_day['High'] - last_day['Low']) last_day['S3'] = last_day['Pivot'] - 2*(last_day['High'] - last_day['Low'])
Результат:
Выводы
Точки разворота очень часто используются в дейтрейдинге, и их очень легко вычислить в Python. Единственному нужны данные за один рыночный день, поэтому им не нужно слишком много исторических записей. Дневной трейдер должен попытаться создать торговую стратегию в соответствии с этими уровнями (или другими видами уровней разворота, такими как Фибоначчи, Вуди, Камарилья) и в соответствии с типом стратегии (например, прорыв или откат).