TA-lib로 캔들차트 분석
사이드 프로젝트 링크 : https://www.github.com/fromitive/backtest
ta-lib
ta-lib
라는 설치하기도 까다로운 모듈이 있다.
보조 지표(SMA,RSI) 뿐만 아니라, 캔들 차트 전략을 사용할 수 있다.
내부 엔진을 C/C++
로 제작하여 실행 속도도 빠르다.
ta-lib 설치 방법
Windows
에서 설치하지 않았고, 리눅스 배포판인 ubuntu
에서 설치를 진행하였다.
1. ta-lib c/c++ 소스코드 다운로드
ta-lib-0.4.0.tar.gz 파일을 받아서 ubuntu에 업로드 하고,
아래와 같이 코드를 실행하여 컴파일을 진행한다.
$ tar -xzf ta-lib-0.4.0-src.tar.gz
$ cd ta-lib/
$ ./configure --prefix=/usr
$ make
$ sudo make install
2. python3-dev 설치
아래의 명령어를 추가로 입력하여 c/c++
로 컴파일된 모듈을 사용하기 위해 python3-dev
를 설치한다.
3. ta-lib 설치
설치가 완료되면 pip 로 ta-lib
를 설치하자.
설치가 완료되면 아래와 같이 import
를 했을 때 아무런 오류메시지가 나오지 않으면 설치에 성공한 것이다.
ta-lib 사용 방법
ta-lib을 사용하는 예제이다.
캔들차트 전략 중 아래의 이미지와 같은 해머 패턴
을 탐지하는 기능을 사용해보자.
해머 패턴을 탐지하는 기능을 사용하기 위해 talib.CDLHAMMER(...) 함수를 이용하였고, talib에서 지원하는 패턴들에 대한 정보는 아래의 링크에 있다.
ta-lib가 제공하는 패턴 정보 : https://github.com/TA-Lib/ta-lib-python#supported-indicators-and-functions
예제 코드
아래의 코드로 예제를 실행하였더니, 각 지점 별 역(reverse)해머 패턴을 찾아 주었다.
주의사항
해당 코드는 backtest 프로젝트를 clone 하여 jupyter 노트북에서 실행한 결과이므로 해당 결과를 복사하여 실행한다고 해도 오류가 날 것이니 이점 양해부탁드립니다. 🙏
hammer.py | |
---|---|
업비트 이더리움 차트에서 해머 패턴을 제대로 찾았는지 검증해보았더니, 얼추 맞추기는 하는 것 같지만 원하는(?) 그림은 그려지지 않은 것 같다.
그래도, ta-lib에서 제공하는 전략을 응용하여 멋진 전략을 세울거라 기대된다.