Python Quantitative Trading Advanced Lecture-Analysis of TA-Lib Library Volume and Price Indicators

Python

«Python Combat — построение системы количественной торговли на основе акций»Буклет в основном фокусируется на практическом объяснении Python, но содержит предварительные главы по дизайну контента, чтобы помочь читателям быстро освоить использование основных инструментов.

В то же время мы продолжим обновлять некоторые расширенные статьи о Python и количественной оценке, чтобы помочь вам закрепить фундамент и дополнительные эффекты обучения. В буклете «Визуализация биржевых данных: настройка версии Matplotlib интерфейса биржевых котировок» библиотека TA-Lib используется для реализации индикатора MACD. Фактически, 10 функциональных групп TA-Lib следующие:

  • Перекрывающиеся исследования
  • Индикаторы импульса
  • Индикаторы объема
  • Индикаторы цикла
  • Преобразование цены
  • Индикаторы волатильности
  • Распознавание образов
  • Статистические функции
  • Математическое преобразование
  • Математические операторы

В этой колонке представим Volume Indicators — индикаторы объема.

Объем торгов относится к общему количеству акций, торгуемых за день (1 лот = 100 акций), что действительно может отражать присущую рынку кинетическую энергию.Сочетание анализа изменений объема и цены помогает понять существенную силу цены. тренды, такие как так называемое расхождение объем-цена, является надежным ключом к подтверждению разворота тренда. Поэтому индикатор объема является важной основой для принятия торговых решений, а также незаменимым справочником для анализа различных технических индикаторов. Индикаторы объема TA-Lib в основном включают «AD», «ADOSC», «OBV», а именно:

print(talib.get_function_groups()['Volume Indicators']) # ['AD', 'ADOSC', 'OBV']

Далее мы расскажем, как использовать TA-Lib для реализации этих трех индикаторов.

AD - Chaikin A/D Line

Линия накопления/распределения Чайкина была предложена Марком Чайкиным Формула расчета: AD = значение AD предыдущего дня + (CLV * объем)

CLV = ((Закрытие-Минимум)-(Максимум-Максимум закрытия))/(Максимум-Минимум)

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

Интерфейс вызова индикатора AD, предоставляемый TA-Lib, следующий: реальный = AD (максимум, минимум, закрытие, объем). Мы используем подпрограммы для понимания конкретной реализации следующим образом:


# 计算AD线
AD = talib.AD(df_stock.High, df_stock.Low, df_stock.Close, df_stock.Volume)
df_AD = pd.DataFrame(AD, index=df_stock.index, columns=['AD'])
df_AD.loc['2018-01-01':'2019-01-01'].plot(figsize=(16, 6))
plt.show()

Основа суждения в практическом применении такова: когда линия A/D растет, это означает, что быки имеют преимущество, и трейдер собирает акции; когда линия A/D падает, это означает, что у медведей есть преимущество. преимущество, и трейдер распределяет акции. Если линия A/D растет и цена также растет, это означает, что восходящий тренд подтверждается и формируется сигнал на покупку, если линия A/D падает, и цена также падает, это означает, что нисходящий тренд тренд подтверждается и генерируется сигнал на продажу Сигнал; если цена растет, а линия A/D падает, между ними имеется расхождение, указывающее на то, что восходящий тренд цены ослаб, и можно развернуться и падение; если линия A/D одновременно растет, цена падает, и у них есть расхождение, что указывает на то, что нисходящий тренд цены ослаб, и она может развернуться и восстановиться. На практике его можно использовать вместе с некоторыми индикаторами разворота.

ADOSC - Chaikin A/D Oscillator

Chaikin A/D Oscillator вычисляет разницу AD длинного и короткого периодов на основе индикаторов AD, которая используется для дальнейшего наблюдения за движением капитала на рынке.Формула расчета: AD с быстрым периодом - AD с медленным периодом.

Из формулы видно, что этот индикатор аналогичен оценке пересечения двойной скользящей средней. Следовательно, операция может следовать принципу продажи при изменении значения с положительного на отрицательное и покупки при изменении значения с отрицательного на положительное.

Интерфейс вызова индикатора ADOSC, предоставляемый TA-Lib, выглядит следующим образом: реальный = ADOSC (максимум, минимум, закрытие, объем, быстрый период = 3, медленный период = 10). Мы используем подпрограммы для понимания конкретной реализации следующим образом:

# 计算ADOSC线
ADOSC = talib.ADOSC(df_stock.High, df_stock.Low, df_stock.Close, df_stock.Volume, fastperiod=3, slowperiod=10)
df_ADOSC = pd.DataFrame(ADOSC, index=df_stock.index, columns=['ADOSC'])
df_ADOSC.loc['2018-01-01':'2019-01-01'].plot(figsize=(16, 6))
plt.show()

OBV - On Balance VolumeOn Balance Volume был предложен Джо Грэнвилем.Он в основном рассчитывает накопленный объем торгов.Принимая определенный день за базовый период, общий дневной объем торгов акциями накапливается день за днем. Если индекс или акции растут на следующий день, OBV базового периода плюс объем торгов за текущий день составляют OBV текущего дня. Если индекс или акция падают на следующий день, OBV базового периода минус торговый объем текущего дня является OBV текущего дня.

Интерфейс вызова индикатора ADOSC, предоставляемый TA-Lib: реальный = OBV(закрытие, объем). Мы используем подпрограммы для понимания конкретной реализации следующим образом:

# 计算OBC线
OBV = talib.OBV(df_stock.Close, df_stock.Volume)
df_OBV = pd.DataFrame(OBV, index=df_stock.index, columns=['ADOSC'])
df_OBV.loc['2018-01-01':'2019-01-01'].plot(figsize=(16, 6))
plt.show()

Основа суждения в практическом применении: когда индикатор OBV увеличивается, это означает, что совокупный объем торгов увеличивается, можно сделать вывод, что текущее изменение цены является положительным, а текущая цена акции растет; увеличение совокупного объем торгов также отражает рынок Когда индикатор OBV уменьшается, совокупный объем торгов уменьшается, и можно сделать вывод, что текущее изменение цены отрицательно, и текущая цена акции падает; При меньшей активности на рынке цены акций могут падение в краткосрочной перспективе, посылая сигнал на продажу.

Далее мы комбинируем К-линию и объем, чтобы наблюдать за изменениями трех индикаторов «AD», «ADOSC», «OBV». Мы можем назвать код буклета «Визуализация биржевых данных: настроить версию интерфейса фондового рынка для Matplotlib», чтобы нарисовать новые графики технического анализа объема и цены Шанхайского композитного индекса и Чжэцзянского университета, как показано ниже:

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