前言
最近升级了电脑系统,换了个nvme的ssd,系统装了win11。界面很清爽,心情不错。安装了最新版本的Anaconda,Python也更新到3.10版本,环境都配置好了,但新装系统后,很多都需要重新配置。由于频繁需要使用到股票行情的指标计算,Ta-lib是必不可少的。但没想到安装依旧报错。看来还得使出绝招。这里做个Mark,免得下次又从头折腾。同时也希望能帮到需要的小伙伴。
一、Ta-lib是什么?
TaLib是一个Python金融指数处理库。包含了很多技术分析里的常用参数指标,例如MA、SMA、WMA、MACD、ATR等。
有兴趣的小伙伴可以访问:https://pypi.org/project/TA-Lib/
二、安装初体验
Ta-lib是一个pyhon库,故在安装Ta-lib前需要安装Python。想着已经Win11+Python3.10,所以先使用传统办法安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ta-lib
好么,又给吃了个闭门羹!还是缺乏编译环境,算了,就不折腾自己了,直接上必杀技。
三、使用必杀技安装Ta-lib
-
下载编译好的wheel文件:
打开网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib
找到并下载自己需要的对应版本的whl格式文件(若本机安装32位的python,下载win32.whl;若本机安装的是64位python,则选择win_amd64.whl,cp310匹配python3.10环境,TA_Lib‑0.4.24是最新版本。)
我这里下载TA_Lib‑0.4.24‑cp310‑cp310‑win_amd64.whl,保存在D:\software。 -
通过whl文件安装Ta-lib
pip install D:\software\TA_Lib-0.4.24-cp310-cp310-win_amd64.whl
看到没,瞬间安装成功!import测试一下,打印下可以调用的方法。
(base) C:\Users\Administrator>python
Python 3.10.9 | packaged by Anaconda, Inc. | (main, Mar 1 2023, 18:18:15) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import talib as ta
>>> print(ta.get_functions())
['HT_DCPERIOD', 'HT_DCPHASE', 'HT_PHASOR', 'HT_SINE', 'HT_TRENDMODE', 'ADD', 'DIV', 'MAX', 'MAXINDEX', 'MIN', 'MININDEX', 'MINMAX', 'MINMAXINDEX', 'MULT', 'SUB', 'SUM', 'ACOS', 'ASIN', 'ATAN', 'CEIL', 'COS', 'COSH', 'EXP', 'FLOOR', 'LN', 'LOG10', 'SIN', 'SINH', 'SQRT', 'TAN', 'TANH', 'ADX', 'ADXR', 'APO', 'AROON', 'AROONOSC', 'BOP', 'CCI', 'CMO', 'DX', 'MACD', 'MACDEXT', 'MACDFIX', 'MFI', 'MINUS_DI', 'MINUS_DM', 'MOM', 'PLUS_DI', 'PLUS_DM', 'PPO', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'RSI', 'STOCH', 'STOCHF', 'STOCHRSI', 'TRIX', 'ULTOSC', 'WILLR', 'BBANDS', 'DEMA', 'EMA', 'HT_TRENDLINE', 'KAMA', 'MA', 'MAMA', 'MAVP', 'MIDPOINT', 'MIDPRICE', 'SAR', 'SAREXT', 'SMA', 'T3', 'TEMA', 'TRIMA', 'WMA', 'CDL2CROWS', 'CDL3BLACKCROWS', 'CDL3INSIDE', 'CDL3LINESTRIKE', 'CDL3OUTSIDE', 'CDL3STARSINSOUTH', 'CDL3WHITESOLDIERS', 'CDLABANDONEDBABY', 'CDLADVANCEBLOCK', 'CDLBELTHOLD', 'CDLBREAKAWAY', 'CDLCLOSINGMARUBOZU', 'CDLCONCEALBABYSWALL', 'CDLCOUNTERATTACK', 'CDLDARKCLOUDCOVER', 'CDLDOJI', 'CDLDOJISTAR', 'CDLDRAGONFLYDOJI', 'CDLENGULFING', 'CDLEVENINGDOJISTAR', 'CDLEVENINGSTAR', 'CDLGAPSIDESIDEWHITE', 'CDLGRAVESTONEDOJI', 'CDLHAMMER', 'CDLHANGINGMAN', 'CDLHARAMI', 'CDLHARAMICROSS', 'CDLHIGHWAVE', 'CDLHIKKAKE', 'CDLHIKKAKEMOD', 'CDLHOMINGPIGEON', 'CDLIDENTICAL3CROWS', 'CDLINNECK', 'CDLINVERTEDHAMMER', 'CDLKICKING', 'CDLKICKINGBYLENGTH', 'CDLLADDERBOTTOM', 'CDLLONGLEGGEDDOJI', 'CDLLONGLINE', 'CDLMARUBOZU', 'CDLMATCHINGLOW', 'CDLMATHOLD', 'CDLMORNINGDOJISTAR', 'CDLMORNINGSTAR', 'CDLONNECK', 'CDLPIERCING', 'CDLRICKSHAWMAN', 'CDLRISEFALL3METHODS', 'CDLSEPARATINGLINES', 'CDLSHOOTINGSTAR', 'CDLSHORTLINE', 'CDLSPINNINGTOP', 'CDLSTALLEDPATTERN', 'CDLSTICKSANDWICH', 'CDLTAKURI', 'CDLTASUKIGAP', 'CDLTHRUSTING', 'CDLTRISTAR', 'CDLUNIQUE3RIVER', 'CDLUPSIDEGAP2CROWS', 'CDLXSIDEGAP3METHODS', 'AVGPRICE', 'MEDPRICE', 'TYPPRICE', 'WCLPRICE', 'BETA', 'CORREL', 'LINEARREG', 'LINEARREG_ANGLE', 'LINEARREG_INTERCEPT', 'LINEARREG_SLOPE', 'STDDEV', 'TSF', 'VAR', 'ATR', 'NATR', 'TRANGE', 'AD', 'ADOSC', 'OBV']
>>>
总结
Ta-lib 是我接触量化做的第一个功课,所以早已轻车熟路。当初配置编译环境那个折腾啊。最后找到这个方法,简直不要太爽!
当然,这个方法对其它库的安装也是适用的。打开以下网址,可以看到很多库,相应的版本都有。
https://www.lfd.uci.edu/~gohlke/pythonlibs/
以后再也不用为安装第三方包出现各种异常发愁了。