Python으로 BBP (Bull Bear Power) 지표 구현

BBP (Bull Bear Power) 지표는 시장의 강세와 약세를 분명히 보여주는 유용한 도구입니다. 이는 고가와 저가가 이동 평균(EMA)과 얼마나 차이나는지 측정하여 시장의 힘을 평가합니다. BBP는 ‘Bull Power’와 ‘Bear Power’를 합산해 구성되며, 이는 각각 상승과 하락 압력을 나타냅니다. 이를 통해 트레이더는 추세의 반전을 알아차리거나 추세의 강도를 분석할 수 있습니다.

BBP 값과, Bar color를 구분하겠습니다.

import pandas as pd
import ccxt
import pinetopy as pp
import numpy as np

# Binance Futures, BTCUSDT, 1h
bnb = ccxt.binance({'options': { 'defaultType': 'future' }}) 
ohlcv = bnb.fetch_ohlcv(symbol="BTC/USDT", timeframe="1h", limit=500)
df = pd.DataFrame(ohlcv, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
df['time'] = pp.kst(df['time'])

# TradingView Default Settings
def main(df, length=13):
    ema_close = pp.ema(df=df['close'], length=length)
    bull_power = df['high'] - ema_close
    bear_power = df['low'] - ema_close

    df['BBP'] = bull_power + bear_power
    df['BBP_Color'] = np.where(df['BBP'] >= 0, 'green', 'red')

    return df[['time', 'BBP', 'BBP_Color']]

print(main(df))

트레이딩뷰 차트와 비교