01 简介(About)

简介

原文地址: TA-LIB document

这是一个Python的封装库,它是对技术分析库TA-LIB封装的,而且基于CPython而不是SWIG。TA-LIB首页里,是这么描述的:

TA-Lib广泛被交易软件开发者用于金融市场数据进行技术分析。

  • 包含了150多个指标,包括:ADX, MACD, RSI, Stochastic, Bollinger Bands, 等.
  • K线形态识别
  • 完全开源,支持 C/C++, Java, Perl, Python and 100% 托管 .NET

原Python绑定使用的是SWIG,不幸的是,SWIG很难安装而且并不高效。因而,此项目使用Cython和Numpy,而且和TA-Lib的绑定很清晰 – 结果是比SWIG接口快2-4倍。

安装TA-Lib或参考中文文档

案例

类似于TA-Lib,函数接口提供了一个暴漏TA-Lib指标的轻量级封装。

每个函数都返回一个输出数组,除非指定关键字参数,否则所有参数都是默认的。通常,这些函数会有一个初步的“lookback”(在生成输出之前,一个用户观测的必选参数),设置为“NaN”。

所有的API函数的使用,都需引入库文件:

1
2
3
4
import numpy
import talib

close = numpy.random.random(100)

计算收盘价的一个简单移动平均数SMA:

1
output = talib.SMA(close)

计算布林线,三指数移动平均:

1
2
3
from talib import MA_Type

upper, middle, lower = talib.BBANDS(close, matype=MA_Type.T3)

计算收盘价的动量,时间为5:

1
output = talib.MOM(close, timeperiod=5)

抽象 API 快速入门

如果您已经熟悉使用函数API,那么您就应该很自然的使用抽象API。每个函数有相同的输入 – 作为一个包含NumPy数组的字典传参:

1
2
3
4
5
6
7
8
9
import numpy as np
# note that all ndarrays must be the same length!
inputs = {
    'open': np.random.random(100),
    'high': np.random.random(100),
    'low': np.random.random(100),
    'close': np.random.random(100),
    'volume': np.random.random(100)
}

函数可以直接导入,也可以用名称实例化:

1
2
3
from talib import abstract
sma = abstract.SMA
sma = abstract.Function('sma')

调用函数基本上与函数API相同:

1
2
3
4
5
6
from talib.abstract import *
output = SMA(input_arrays, timeperiod=25) # SMA均线价格计算收盘价
output = SMA(input_arrays, timeperiod=25, price='open') # SMA均线价格计算收盘价
upper, middle, lower = BBANDS(input_arrays, 20, 2, 2)
slowk, slowd = STOCH(input_arrays, 5, 3, 0, 3, 0) # uses high, low, close by default
slowk, slowd = STOCH(input_arrays, 5, 3, 0, 3, 0, prices=['high', 'low', 'open'])

了解更多高级使用TA库 这里.

支持的指标

We can show all the TA functions supported by TA-Lib, either as a list or as a dict sorted by group (e.g. “Overlap Studies”, “Momentum Indicators”, etc):
我们可以显示Ta lib的所有TA函数, 返回一个分组排序的 list 或者 dict (如"重叠研究", “动量指标"等)

1
2
3
4
import talib

print talib.get_functions()
print talib.get_function_groups()

函数组

Overlap Studies

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
BBANDS               Bollinger Bands #布林带
DEMA                 Double Exponential Moving Average #双指数移动平均线
EMA                  Exponential Moving Average #指数移动平均线
HT_TRENDLINE         Hilbert Transform - Instantaneous Trendline #希尔伯特变换瞬时趋势
KAMA                 Kaufman Adaptive Moving Average #卡玛考夫曼自适应移动平均线
MA                   Moving average #移动平均线
MAMA                 MESA Adaptive Moving Average #MESA自适应移动平均 
MAVP                 Moving average with variable period #变周期移动平均线
MIDPOINT             MidPoint over period #周期中点
MIDPRICE             Midpoint Price over period #周期中点价格
SAR                  Parabolic SAR #抛物线转向指标
SAREXT               Parabolic SAR - Extended #抛物线转向指标 - 扩展
SMA                  Simple Moving Average #简单移动平均线
T3                   Triple Exponential Moving Average (T3) #双指数移动均线改进指标
TEMA                 Triple Exponential Moving Average #三重指数移动均线指标
TRIMA                Triangular Moving Average #三指数移动平均
WMA                  Weighted Moving Average #加权移动平均线

Momentum Indicators

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
ADX                  Average Directional Movement Index #平均趋向指数
ADXR                 Average Directional Movement Index Rating #平均趋向指数评估指标
APO                  Absolute Price Oscillator 绝对价格震荡指标
AROON                Aroon #阿隆指标
AROONOSC             Aroon Oscillator #阿隆震荡指标
BOP                  Balance Of Power #力量均衡指标
CCI                  Commodity Channel Index #顺势指标
CMO                  Chande Momentum Oscillator #钱德动量摆动指标
DX                   Directional Movement Index #动向指数
MACD                 Moving Average Convergence/Divergence #平滑异同移动平均线
MACDEXT              MACD with controllable MA type
MACDFIX              Moving Average Convergence/Divergence Fix 12/26
MFI                  Money Flow Index #资金流量指标
MINUS_DI             Minus Directional Indicator #负向指标
MINUS_DM             Minus Directional Movement #负向运动指标
MOM                  Momentum #动量指标
PLUS_DI              Plus Directional Indicator #正向指标
PLUS_DM              Plus Directional Movement #正向运动指标
PPO                  Percentage Price Oscillator #价格震荡百分比指标
ROC                  Rate of change : ((price/prevPrice)-1)*100 #变动速率指标
ROCP                 Rate of change Percentage: (price-prevPrice)/prevPrice #变动率百分比指标
ROCR                 Rate of change ratio: (price/prevPrice) #变动比率指标
ROCR100              Rate of change ratio 100 scale: (price/prevPrice)*100 #百倍变动比率指标
RSI                  Relative Strength Index #百倍变动比率指标
STOCH                Stochastic #KDJ指标中的KD指标
STOCHF               Stochastic Fast #快速STOCH指标
STOCHRSI             Stochastic Relative Strength Index #随机强弱指数
TRIX                 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA #三重指数平滑移动均线
ULTOSC               Ultimate Oscillator #终极震荡指标
WILLR                Williams' %R #%R 威廉指标

Volume Indicators

1
2
3
AD                   Chaikin A/D Line #线随机指标
ADOSC                Chaikin A/D Oscillator #佳庆指数
OBV                  On Balance Volume #能量潮指标

Volatility Indicators

1
2
3
ATR                  Average True Range #平均真实波幅指标
NATR                 Normalized Average True Range #归一化平均真实波幅
TRANGE               True Range #真实范围指标

Price Transform

1
2
3
4
AVGPRICE             Average Price #平均价格指标
MEDPRICE             Median Price #价格中间值指标
TYPPRICE             Typical Price #典型价格指标
WCLPRICE             Weighted Close Price #加权收盘价指标

Cycle Indicators

1
2
3
4
5
HT_DCPERIOD          Hilbert Transform - Dominant Cycle Period #希尔伯特变换 - 主周期
HT_DCPHASE           Hilbert Transform - Dominant Cycle Phase #希尔伯特变换 - 主阶段
HT_PHASOR            Hilbert Transform - Phasor Components #希尔伯特变换 - 相成分
HT_SINE              Hilbert Transform - SineWave #希尔伯特变换 - 正弦波
HT_TRENDMODE         Hilbert Transform - Trend vs Cycle Mode #希尔伯特变换 - 趋势与周期

Pattern Recognition

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
CDL2CROWS            Two Crows  #两只乌鸦
CDL3BLACKCROWS       Three Black Crows  #三只乌鸦
CDL3INSIDE           Three Inside Up/Down  #三内部上涨和下跌
CDL3LINESTRIKE       Three-Line Strike  #三线打击
CDL3OUTSIDE          Three Outside Up/Down  #三外部上涨和下跌
CDL3STARSINSOUTH     Three Stars In The South  #南方三星
CDL3WHITESOLDIERS    Three Advancing White Soldiers  #三个白兵
CDLABANDONEDBABY     Abandoned Baby  #舍子线
CDLADVANCEBLOCK      Advance Block  #大敌当前
CDLBELTHOLD          Belt-hold  #捉腰带线
CDLBREAKAWAY         Breakaway  #脱离
CDLCLOSINGMARUBOZU   Closing Marubozu  #收盘缺影线
CDLCONCEALBABYSWALL  Concealing Baby Swallow  #藏婴吞没
CDLCOUNTERATTACK     Counterattack  #反击线
CDLDARKCLOUDCOVER    Dark Cloud Cover  #乌云压顶
CDLDOJI              Doji  #十字
CDLDOJISTAR          Doji Star  #十字星
CDLDRAGONFLYDOJI     Dragonfly Doji  #蜻蜓十字/T形十字
CDLENGULFING         Engulfing Pattern  #吞噬模式
CDLEVENINGDOJISTAR   Evening Doji Star  #十字暮星
CDLEVENINGSTAR       Evening Star  #暮星
CDLGAPSIDESIDEWHITE  Up/Down-gap side-by-side white lines  #向上/下跳空并列阳线
CDLGRAVESTONEDOJI    Gravestone Doji  #墓碑十字/倒T十字
CDLHAMMER            Hammer  #锤头
CDLHANGINGMAN        Hanging Man  #上吊线
CDLHARAMI            Harami Pattern  #母子线
CDLHARAMICROSS       Harami Cross Pattern  #十字孕线
CDLHIGHWAVE          High-Wave Candle  #风高浪大线
CDLHIKKAKE           Hikkake Pattern  #陷阱
CDLHIKKAKEMOD        Modified Hikkake Pattern  #修正陷阱
CDLHOMINGPIGEON      Homing Pigeon  #家鸽
CDLIDENTICAL3CROWS   Identical Three Crows  #三胞胎乌鸦
CDLINNECK            In-Neck Pattern  #颈内线
CDLINVERTEDHAMMER    Inverted Hammer  #倒锤头
CDLKICKING           Kicking  #反冲形态
CDLKICKINGBYLENGTH   Kicking - bull/bear determined by the longer marubozu  #较长缺影线反冲形态
CDLLADDERBOTTOM      Ladder Bottom  #梯底
CDLLONGLEGGEDDOJI    Long Legged Doji  #长脚十字
CDLLONGLINE          Long Line Candle  #长蜡烛
CDLMARUBOZU          Marubozu  #光头光脚/缺影线
CDLMATCHINGLOW       Matching Low  #相同低价
CDLMATHOLD           Mat Hold  #铺垫
CDLMORNINGDOJISTAR   Morning Doji Star  #十字晨星
CDLMORNINGSTAR       Morning Star  #晨星
CDLONNECK            On-Neck Pattern  #颈上线
CDLPIERCING          Piercing Pattern  #刺透形态
CDLRICKSHAWMAN       Rickshaw Man  #黄包车夫
CDLRISEFALL3METHODS  Rising/Falling Three Methods  #上升/下降三法
CDLSEPARATINGLINES   Separating Lines  #分离线
CDLSHOOTINGSTAR      Shooting Star  #射击之星
CDLSHORTLINE         Short Line Candle  #短蜡烛
CDLSPINNINGTOP       Spinning Top  #纺锤
CDLSTALLEDPATTERN    Stalled Pattern  #停顿形态
CDLSTICKSANDWICH     Stick Sandwich  #条形三明治
CDLTAKURI            Takuri (Dragonfly Doji with very long lower shadow)  #探水竿
CDLTASUKIGAP         Tasuki Gap  #跳空并列阴阳线
CDLTHRUSTING         Thrusting Pattern  #插入
CDLTRISTAR           Tristar Pattern  #三星
CDLUNIQUE3RIVER      Unique 3 River  #奇特三河床
CDLUPSIDEGAP2CROWS   Upside Gap Two Crows  #向上跳空的两只乌鸦
CDLXSIDEGAP3METHODS  Upside/Downside Gap Three Methods  #上升/下降跳空三法

Statistic Functions

1
2
3
4
5
6
7
8
9
BETA                 Beta
CORREL               Pearson's Correlation Coefficient (r)
LINEARREG            Linear Regression
LINEARREG_ANGLE      Linear Regression Angle
LINEARREG_INTERCEPT  Linear Regression Intercept
LINEARREG_SLOPE      Linear Regression Slope
STDDEV               Standard Deviation
TSF                  Time Series Forecast
VAR                  Variance