It is a Technical Analysis library useful to do feature engineering from financial time series datasets (Open, Close, High, Low, Volume). It is built on Pandas and Numpy.
The library has implemented 42 indicators:
- Money Flow Index (MFI)
- Accumulation/Distribution Index (ADI)
- On-Balance Volume (OBV)
- Chaikin Money Flow (CMF)
- Force Index (FI)
- Ease of Movement (EoM, EMV)
- Volume-price Trend (VPT)
- Negative Volume Index (NVI)
- Volume Weighted Average Price (VWAP)
- Average True Range (ATR)
- Bollinger Bands (BB)
- Keltner Channel (KC)
- Donchian Channel (DC)
- Ulcer Index (UI)
- Simple Moving Average (SMA)
- Exponential Moving Average (EMA)
- Weighted Moving Average (WMA)
- Moving Average Convergence Divergence (MACD)
- Average Directional Movement Index (ADX)
- Vortex Indicator (VI)
- Trix (TRIX)
- Mass Index (MI)
- Commodity Channel Index (CCI)
- Detrended Price Oscillator (DPO)
- KST Oscillator (KST)
- Ichimoku Kinkō Hyō (Ichimoku)
- Parabolic Stop And Reverse (Parabolic SAR)
- Schaff Trend Cycle (STC)
- Relative Strength Index (RSI)
- Stochastic RSI (SRSI)
- True strength index (TSI)
- Ultimate Oscillator (UO)
- Stochastic Oscillator (SR)
- Williams %R (WR)
- Awesome Oscillator (AO)
- Kaufman's Adaptive Moving Average (KAMA)
- Rate of Change (ROC)
- Percentage Price Oscillator (PPO)
- Percentage Volume Oscillator (PVO)
- Daily Return (DR)
- Daily Log Return (DLR)
- Cumulative Return (CR)
https://technical-analysis-library-in-python.readthedocs.io/en/latest/
$ pip install --upgrade taTo use this library you should have a financial time series dataset including Timestamp, Open, High, Low, Close and Volume columns.
You should clean or fill NaN values in your dataset before add technical analysis features.
You can get code examples in examples_to_use folder.
You can visualize the features in this notebook.
importpandasaspdfromtaimportadd_all_ta_featuresfromta.utilsimportdropna# Load datasdf=pd.read_csv('ta/tests/data/datas.csv', sep=',')
# Clean NaN valuesdf=dropna(df)
# Add all ta featuresdf=add_all_ta_features(
df, open="Open", high="High", low="Low", close="Close", volume="Volume_BTC")importpandasaspdfromta.utilsimportdropnafromta.volatilityimportBollingerBands# Load datasdf=pd.read_csv('ta/tests/data/datas.csv', sep=',')
# Clean NaN valuesdf=dropna(df)
# Initialize Bollinger Bands Indicatorindicator_bb=BollingerBands(close=df["Close"], window=20, window_dev=2)
# Add Bollinger Bands featuresdf['bb_bbm'] =indicator_bb.bollinger_mavg()
df['bb_bbh'] =indicator_bb.bollinger_hband()
df['bb_bbl'] =indicator_bb.bollinger_lband()
# Add Bollinger Band high indicatordf['bb_bbhi'] =indicator_bb.bollinger_hband_indicator()
# Add Bollinger Band low indicatordf['bb_bbli'] =indicator_bb.bollinger_lband_indicator()
# Add Width Size Bollinger Bandsdf['bb_bbw'] =indicator_bb.bollinger_wband()
# Add Percentage Bollinger Bandsdf['bb_bbp'] =indicator_bb.bollinger_pband()$ git clone https://github.com/bukosabino/ta.git
$ cd ta
$ pip install -r requirements-play.txt
$ make testThank you to OpenSistemas! It is because of your contribution that I am able to continue the development of this open source library.
- https://en.wikipedia.org/wiki/Technical_analysis
- https://pandas.pydata.org
- https://github.com/FreddieWitherden/ta
- https://github.com/femtotrader/pandas_talib
- Automated tests for all the indicators.
- Use NumExpr to speed up the NumPy/Pandas operations? Article Motivation
- Add more technical analysis features.
- Wrapper to get financial data.
- Use of the Pandas multi-indexing techniques to calculate several indicators at the same time.
- Use Plotly/Streamlit to visualize features
Check the changelog of project.
If you think ta library help you, please consider buying me a coffee.
Developed by Darío López Padial (aka Bukosabino) and other contributors.
Please, let me know about any comment or feedback.
Also, I am a software engineer freelance focused on Data Science using Python tools such as Pandas, Scikit-Learn, Backtrader, Zipline or Catalyst. Don't hesitate to contact me if you need to develop something related with this library, Python, Technical Analysis, AlgoTrading, Machine Learning, etc.

