짧은하루

python talib 설치하고 (TA-Lib, Mac, pip) 볼린저 밴드 그리기 본문

Study/Finance

python talib 설치하고 (TA-Lib, Mac, pip) 볼린저 밴드 그리기

짧은하루 2022. 2. 15. 11:46

ta-lib은 이동평균(ma), 볼린저 밴드 등 금융 데이터 분석에 유용한 함수를 제공하는 라이브러리다.

최근에 볼린저 밴드를 그릴 일이 있어서 라이브러리를 설치하는데 약간의 시간을 쓴 적이 있어서 결과를 공유한다.

 

 

설치하기

$ brew install ta-lib

내 경우에는 brew를 이용하면 문제 없이 라이브러리가 깔렸다.

문제는 난 pycharm 안에서 pip 를 이용해 깔고 싶었다.

$ pip install TA-Lib

이렇게 설치를 시도하니 에러가 났다.

구글링을 해보니 tar 파일을 직접 install 하라고 나왔는데 전부 window 관련 파일이라서 시도하지 않았다.

설치와 관련된 유튜브가 있어서 참고했고 링크는 다음과 같다 https://www.youtube.com/watch?v=qAir0YNKLow

install ta-lib

결론적으로 내 경우에는 python 버전을 확인하고 그에 맞는 pip를 이용하여 설치하니까 문제가 해결되었다.

$ python --version                                                                                                                                  [11:13:40]
Python 3.8.12

$ pip3 install TA-Lib

 

볼린저 밴드 값 구하기

import talib as ta

df['BBAND_UPPER'], df['BBAND_MIDDLE'], df['BBAND_LOWER'] = ta.BBANDS(df['close'], 20, 2)

talib의 BBANDS() 함수는 볼린저 밴드의 상한선 / 중간선 / 하한선에 대한 값을 반환합니다.

위의 코드는 종가를 기준으로 20일 이동평균선, 2시그마(표준편차)를 이용한 모습입니다.

 

볼린저 밴드 시각화

import plotly.graph_objects as go

def draw_lines(df: pd.DataFrame, date) -> None:
    fig = go.Figure()
    for column in df.columns:
        fig.add_trace(
            go.Trace(
                name=column,
                x=date,
                y=df[column]
            ))

    fig.show()

# 코드에 date가 정의되어있지 않은데, 이 값은 말 그대로 날짜입니다. x축에 들어갈 값이라고 생각하시면 됩니다.
draw_lines(df[['BBAND_UPPER', 'BBAND_MIDDLE', 'BBAND_LOWER', 'close']], date)

Ta lib은 볼린저 밴드, 이동평균 외에도 다양한 함수를 제공하니 필요한 사람은 더 검색해보는걸 추천한다.

볼린저 밴드 using kospi index price

반응형

'Study > Finance' 카테고리의 다른 글

portfolio optimizer 구현에 참고할만한 오픈 소스  (0) 2021.11.11
risk parity 전략 구현하기  (0) 2021.10.27
Comments