TA-Lib
簡介:
這是一個Python 金融指數處理庫TA-LIB,他是基於 Cython
而不是 SWIG。
TA-Lib is widely used by trading software developers requiring to perform
technical analysis of financial market data.
TA-Lib廣泛應用與交易軟件,和金融市場數據進行技術分析。
- Includes 150+ indicators such as ADX, MACD, RSI, Stochastic, Bollinger
Bands, etc.- Candlestick pattern recognition
- Open-source API for C/C++, Java, Perl, Python and 100% Managed .NET
- 包含了炒股150+的數據指標:ADX, MACD, RSI, Stochastic, Bollinger Bands, etc.
- K線趨勢識別
- 完全開源,支持 C/C++, Java, Perl, Python and 100% Managed .NET
安裝TA-Lib
案例(快速開始)
Similar to TA-Lib, the function interface provides a lightweight wrapper of
the exposed TA-Lib indicators.
類似於TA庫,對函數接口進行了一個輕量級的封裝,用於公開的ta-lib的指標。
Each function returns an output array and have default values for their
parameters, unless specified as keyword arguments. Typically, these functions
will have an initial "lookback" period (a required number of observations
before an output is generated) set to NaN.
每個函數都默認需要輸入數組,並為它們提供默認值。
參數,除非指定為關鍵字參數。通常,這些函數
會有一個初步的“lookback”時期(觀測所需數量
在生成一個輸出之前),設置為“NaN”。
All of the following examples use the function API:
所有的API函數的使用,都需引入庫文件:
import numpy import talib close = numpy.random.random(100)
計算收盤價的一個簡單移動平均數SMA:
output = talib.SMA(close)
計算布林線,三指數移動平均:
from talib import MA_Type upper, middle, lower = talib.BBANDS(close, matype=MA_Type.T3)
計算收盤價的動量,時間為5:
output = talib.MOM(close, timeperiod=5)
Abstract API Quick Start
If you're already familiar with using the function API, you should feel right
at home using the abstract API. Every function takes the same input, passed
as a dictionary of Numpy arrays:
如果您已經熟悉使用函數API,那么您就應該精通使用抽象API。
每個函數有相同的輸入,作為一個字典通過NumPy數組:
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) }
函數可以直接導入,也可以用名稱實例化:
from talib import abstract sma = abstract.SMA sma = abstract.Function('sma')
調用函數基本上與函數API相同:
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庫 here.
Supported Indicators 支持指標
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
import talib print talib.get_functions() print talib.get_function_groups()
Function Groups
- Overlap Studies 重疊的研究
- Momentum Indicators 動量指標
- Volume Indicators 量指標
- Volatility Indicators 波動性指標
- Price Transform 價格指標
- Cycle Indicators 循環指標
- Pattern Recognition 模式識別
- Statistic Functions 統計功能
- Math Transform 數學變換
- Math Operators 數學運算符
Overlap Studies
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 #自適應移動平均 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
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 STOCHF Stochastic Fast STOCHRSI Stochastic Relative Strength Index TRIX 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA ULTOSC Ultimate Oscillator WILLR Williams' %R
Volume Indicators
AD Chaikin A/D Line
ADOSC Chaikin A/D Oscillator
OBV On Balance Volume
Volatility Indicators
ATR Average True Range NATR Normalized Average True Range TRANGE True Range
Price Transform
AVGPRICE Average Price MEDPRICE Median Price TYPPRICE Typical Price WCLPRICE Weighted Close Price
Cycle Indicators
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
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
CDLENGULFING Engulfing Pattern
CDLEVENINGDOJISTAR Evening Doji Star
CDLEVENINGSTAR Evening Star
CDLGAPSIDESIDEWHITE Up/Down-gap side-by-side white lines
CDLGRAVESTONEDOJI Gravestone Doji
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
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
