bta-lib is a new pandas based technical analysis library focused on being easy to use, reuse and with a framework to allow quick indicator prototyping and development.

The repo

For those with no time to read and eger to click on GitHub links:

The repo is at: bta-lib github repo - The rationale behind the library

In several threads here it was mentioned that plenty of the python-based (or with python bindings) technical analysis libraries populating GitHub are broken to a greater or lesser extent. Rather than broken one can also say that they contain I3 Indicators, i.e.: Improperly Implemented Indicators. Yes, even ta-lib imho.

Should you have interest in a practical example, the documentation contains a section named: I3 Indicators with a practical example featuring ta-lib and the MACD

The link: I3 Indicators - ta-lib and MACD -

Hence the birth of this library, which in addition to the aforementioned goals, tries to offer correct implementations of the indicators (and a backwards compatibility flag to ta-lib where desired by the end user)

What's in place so far:

The framework to make things palatable, i.e.: easy

A test framework to ensure things don't break when making changes

Full Documentation ... only missing the indicator development part

36 indicators which have been the basis to proof the framework is sound

The classic indicators such as SMA, EMA, RSI, Stochastic, MACD, ATR were the first targets for the development (given that some of them are often improperly implemented)

The next steps

Develop extra indicators, to get close to 100, roughly following the ta-lib API, except for candlestick pattern formation (longer term goal)

Consider a couple of small internal enhancements to the API to address use cases in which the input naming is actually irrelevant for an indicator or n-plicated naming would be a feature

None of these changes will mean a change for the end user and would only "add" to the internal Indicator development facilities