[Python] 볼린저밴드(BB)를 추출하기 위한 파이썬 코드

2024. 1. 8. 20:12PYTHON

반응형

 

1. 라이브러리 설치

볼린저밴드 지표를 계산하기 위해 pandas_ta 라이브러리를 설치해야 합니다.

pip install pandas_ta

2. 데이터프레임 추출

우선, OHLCV 데이터를 가져와야 합니다.
여기서는 가상의 함수 GetOhlcv(stock_code, "D")를 사용하여 데이터를 불러옵니다.

df = self.GetOhlcv(stock_code, "D")

 

3. 볼린저밴드 데이터 추출

이제 pandas_ta를 이용하여 볼린저밴드 값을 계산합니다.

 

import pandas_ta as ta

def getBB(self, df):
    ar_BB = []
    BBDF = ta.bbands(df['close'], length=20)
    print(BBDF)

    # 컬럼명 변경
    BBDF.rename(columns={'BBL_20_2.0': 'BBL', 'BBM_20_2.0': 'BBM', 'BBU_20_2.0': 'BBU', 
                         'BBB_20_2.0': 'BBB', 'BBP_20_2.0': 'BBP'}, inplace=True)

    # 최근 4개 데이터 저장
    for col in ['BBL', 'BBM', 'BBU', 'BBB', 'BBP']:
        ar_BB.extend(BBDF[col].iloc[-4:].tolist())

    return ar_BB

 

4. 볼린저밴드 활용 매매 전략

볼린저밴드는 주가의 **평균값(중앙선)**과 상하한 밴드를 계산하여
주가의 과매수·과매도 상태를 분석하는 데 활용됩니다.

✅ 매수 진입 시점 예시

  • 주가가 하단 밴드(BBL) 근처에서 반등할 때 → 저점 매수
  • 주가가 중앙선(BBM)을 상향 돌파할 때 → 추세 전환 신호

✅ 매도 시점 예시

  • 주가가 상단 밴드(BBU)에 도달할 때 → 고점 매도
  • 주가가 중앙선(BBM) 아래로 이탈할 때 → 추세 약화

5. 참고 자료

볼린저밴드 외에도 다양한 지표를 활용하여 매매 전략을 세울 수 있습니다.
아래 링크에서 pandas_ta의 다양한 기능을 확인해 보세요.

🔗 pandas_ta 공식 문서