mementum/ta-lib là một trong những repo mã nguồn mở mà TopGit theo dõi, hiện có 4 sao, viết chủ yếu bằng Python. Python wrapper for TA-Lib (http://ta-lib.org/).
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This is a Python wrapper for TA-LIB based on Cython
instead of SWIG. From the homepage:
TA-Lib is widely used by trading software developers requiring to perform
technical analysis of financial market data.
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
The original Python bindings use SWIG which unfortunately
are difficult to install and aren't as efficient as they could be. Therefore
this project uses Cython and Numpy to efficiently and cleanly bind to TA-Lib
-- producing results 2-4 times faster than the SWIG interface.
Installation
You can install from PyPI:
$ pip install TA-Lib
Or checkout the sources and run setup.py yourself:
$ python setup.py install
Troubleshooting
Sometimes installation will produce build errors like this:
func.c:256:28: fatal error: ta-lib/ta_libc.h: No such file or directory
compilation terminated.
This typically means that it can't find the underlying TA-Lib library,
a dependency which needs to be installed.
Sometimes installation will fail with errors like this:
talib/common.c:8:22: fatal error: pyconfig.h: No such file or directory
#include "pyconfig.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
This typically means that you need the Python headers, and should run
something like:
$ sudo apt-get install python3-dev
Dependencies
To use TA-Lib for python, you need to have the
TA-Lib already installed:
Mac OS X
$ brew install ta-lib
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.
Function API
Similar to TA-Lib, the Function API provides a lightweight wrapper of the
exposed TA-Lib indicators.
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.
For convenience, the Function API supports both numpy.ndarray and
pandas.Series types.
All of the following examples use the Function API:
import numpy
import talib
close = numpy.random.random(100)
Calculate a simple moving average of the close prices:
output = talib.SMA(close)
Calculating bollinger bands, with triple exponential moving average:
from talib import MA_Type
upper, middle, lower = talib.BBANDS(close, matype=MA_Type.T3)
Calculating momentum of the close prices, with a time period of 5:
output = talib.MOM(close, timeperiod=5)
Abstract API
If you're already familiar with using the function API, you should feel right
at home using the Abstract API.
Every function takes a collection of named inputs, either a dict of
numpy.ndarray or pandas.Series, or a pandas.DataFrame. If a
pandas.DataFrame is provided, the output is returned as a
pandas.DataFrame with named output columns.
For example, inputs could be provided for the typical "OHLCV" data:
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)
}
Functions can either be imported directly or instantiated by name:
from talib import abstract
# directly
sma = abstract.SMA
# or by name
sma = abstract.Function('sma')
From there, calling functions is basically the same as the function API:
from talib.abstract import *
# uses close prices (default)
output = SMA(inputs, timeperiod=25)
# uses open prices
output = SMA(inputs, timeperiod=25, price='open')
# uses close prices (default)
upper, middle, lower = BBANDS(inputs, 20, 2, 2)
# uses high, low, close (default)
slowk, slowd = STOCH(inputs, 5, 3, 0, 3, 0) # uses high, low, close by default
# uses high, low, open instead
slowk, slowd = STOCH(inputs, 5, 3, 0, 3, 0, prices=['high', 'low', 'open'])
Supported Indicators and Functions
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):
import talib
# list of functions
print talib.get_functions()
# dict of functions by group
print talib.get_function_groups()
Indicator Groups
Overlap Studies
Momentum Indicators
Volume Indicators
Volatility Indicators
Price Transform
Cycle Indicators
Pattern Recognition
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
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/mementum/ta-lib là nguồn chính thức.
mementum/ta-lib có bao nhiêu sao?
mementum/ta-lib có 4 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/mementum/ta-lib. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
mementum/ta-lib có phải mã nguồn mở không?
TopGit chưa ghi nhận license cho mementum/ta-lib. Phần lớn repo public trên GitHub là mã nguồn mở, nhưng điều khoản khác nhau từng repo — mở file LICENSE để xác nhận.
mementum/ta-lib còn đang phát triển không?
Commit gần nhất trên mementum/ta-lib là 10.3 năm trước (theo timestamp GitHub). Repo có 2 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
mementum/ta-lib là gì?
mementum/ta-lib (mementum/ta-lib) là dự án Python trên GitHub. Theo mô tả gốc: Python wrapper for TA-Lib (http://ta-lib.org/).
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về ta-lib?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về ta-lib.