짧은하루
python talib 설치하고 (TA-Lib, Mac, pip) 볼린저 밴드 그리기 본문
ta-lib은 이동평균(ma), 볼린저 밴드 등 금융 데이터 분석에 유용한 함수를 제공하는 라이브러리다.
최근에 볼린저 밴드를 그릴 일이 있어서 라이브러리를 설치하는데 약간의 시간을 쓴 적이 있어서 결과를 공유한다.
설치하기
$ brew install ta-lib
내 경우에는 brew를 이용하면 문제 없이 라이브러리가 깔렸다.
문제는 난 pycharm 안에서 pip 를 이용해 깔고 싶었다.
$ pip install TA-Lib
이렇게 설치를 시도하니 에러가 났다.
구글링을 해보니 tar 파일을 직접 install 하라고 나왔는데 전부 window 관련 파일이라서 시도하지 않았다.
설치와 관련된 유튜브가 있어서 참고했고 링크는 다음과 같다 https://www.youtube.com/watch?v=qAir0YNKLow
결론적으로 내 경우에는 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은 볼린저 밴드, 이동평균 외에도 다양한 함수를 제공하니 필요한 사람은 더 검색해보는걸 추천한다.
반응형
'Study > Finance' 카테고리의 다른 글
portfolio optimizer 구현에 참고할만한 오픈 소스 (0) | 2021.11.11 |
---|---|
risk parity 전략 구현하기 (0) | 2021.10.27 |
Comments