TA-Lib
TA-Lib은 금융 시장 데이터의 기술적 분석을 수행하는데 필요한 멀티플랫폼 라이브러리 입니다.
1. 공식 홈페이지
https://mrjbq7.github.io/ta-lib/ Python wrapper
2. 설치 방법
python의 경우 pip로 설치가 되지 않습니다.
2.2 다른사람이 컴파일된 파일 사용
https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib
자신의 python 버전과 같은 파일을 다운로드 해줍니다. 64bit는 amd64, 32bit는 win32
이것은 python을 실행시키면 어떤 python인지 나옵니다.
제가 사용하는 python은 64bit 3.8 입니다.
1 2 3 | Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> ^C |
그래서 다음 파일을 다운로드 받았습니다.
TA_Lib‑0.4.24‑cp38‑cp38‑win_amd64.whl
그리고 pip install <다운로드한 whl 파일> 을 적어줍니다.
pip install C:\Users\USER\Downloads\TA_Lib-0.4.24-cp38-cp38-win_amd64.whl Processing c:\users\user\downloads\ta_lib-0.4.24-cp38-cp38-win_amd64.whl Requirement already satisfied: numpy in c:\users\user\appdata\local\programs\python\python38\lib\site-packages (from TA-Lib==0.4.24) (1.19.5) Installing collected packages: TA-Lib Successfully installed TA-Lib-0.4.24
2.1 직접 컴파일하는 방법
2.1.1 컴파일러 설치
링크가 새버전이 나오면 변경되는 경우가 많습니다. 무료 버전을 설치합니다.
2.1.2 소스 받기
소스는 https://ta-lib.org/hdr_dw.html 여기에서 받습니다.
Windows
Download ta-lib-0.4.0-msvc.zip and unzip to C:\ta-lib
Linux
Download ta-lib-0.4.0-src.tar.gz and:
$ untar and cd
$ ./configure --prefix=/usr
$ make
$ sudo make install
If you build TA-Lib using make -jX it will fail but that's OK! Simply rerun make -jX followed by [sudo] make install.
2.1.3 설치
pip install ta-lib
만약 2.1.2가 제대로 설치 안된 경우 오류 문구가 이렇습니다.
... 생략 ...
_ta_lib.c
talib/_ta_lib.c(680): fatal error C1083: Cannot open include file: 'ta_libc.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Failed building wheel for ta-lib
3. 간단 테스트
이동 평균을 구하는 간단한 테스트 입니다.
1 2 3 4 5 6 | import numpy import talib close = numpy.random.random(100) output = talib.SMA(close) print(output) |
random이라 수치는 변하지만 앞쪽에 데이터가 nan 으로 나오는것으로 보아 정상적으로 출력되었습니다.
[ nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0.54678791 0.57007161 0.58258517 0.60569491 0.59433131 0.58889661 0.58745031 0.60175934 0.60535614 0.63403022 0.60845597 0.60211001 0.57738737 0.55490891 0.536957 0.54230833 0.52856405 0.52749476 0.50920791 0.52008813 0.50787048 0.49562483 0.47569089 0.49272626 0.49750908 0.49134292 0.50854827 0.51223004 0.50155896 0.48841843 0.50848775 0.50470717 0.49691073 0.49896802 0.5006335 0.4930974 0.47837944 0.47318858 0.477317 0.45739367 0.47636315 0.47304526 0.50062967 0.51889451 0.52806633 0.5283228 0.55600092 0.55185113 0.55855475 0.55284348 0.56611087 0.57569171 0.57796734 0.5687871 0.579755 0.56692988 0.55129066 0.53231503 0.5189919 0.51302749 0.49365671 0.49553806 0.47400186 0.45729707 0.44564002 0.44066557 0.43706963 0.42651171 0.42860744 0.43217339 0.42055159]
만약 제대로 설치되지 않았다면 import 시 오류가 발생합니다.
4. 사용하기+
어떤 함수가 존재하는지와 어떤 인자를 넘겨야할지 모를때에는 https://mrjbq7.github.io/ta-lib/ 여기의 function groups 링크를 이용합니다.
Function Groups
- Overlap Studies
- Momentum Indicators
- Volume Indicators
- Volatility Indicators
- Price Transform
- Cycle Indicators
- Pattern Recognition
- Statistic Functions
- Math Transform
- Math Operators
MACD의 경우
https://mrjbq7.github.io/ta-lib/func_groups/momentum_indicators.html 여기에서 찾을 수 있습니다.
MACD - Moving Average Convergence/Divergence
macd, macdsignal, macdhist = MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
댓글 없음:
댓글 쓰기