← ClaudeAtlas

lib-taliblisted

The C reference implementation of technical indicators, where every pure-Python port disagrees during warm-up and none of them say so. TRIGGER - import talib, pip install TA-Lib, ta-lib-python, talib.RSI, talib.MACD, talib.ATR, talib.ADX, talib.BBANDS, talib.OBV, from talib import abstract, talib.get_functions, unstable period, indicator warm-up, an indicator differing between two libraries or between backtest and live; "Exception: input array type is not double", a failed ta-lib C build or missing ta_libc.h, and. Memory is stale here: the install pain is solved - 0.7.1 (2026-07-16) ships 54 prebuilt wheels bundling the C library, including cp311-win_amd64 - while pandas-ta's repo, homepage and release history are all gone. SKIP for whether a signal actually predicts returns (factor-and-timeseries-research) and for leak-free signal construction generally (signal-construction). SKIP for choosing between libraries, or when no library is named - the domain skill's job.
howard-lynn-ye/fin-skills · ★ 1 · AI & Automation · score 77
Install: claude install-skill howard-lynn-ye/fin-skills
# TA-Lib The C reference every other Python indicator library is measured against — and the reason two libraries computing "the same" RSI hand you two different backtests. | | | |---|---| | pip / import | `pip install TA-Lib` · `import talib` (repo `ta-lib-python`, now the `ta-lib` org) | | Version | **0.7.1 (2026-07-16)** · C core 0.7.1 · `requires_python >=3.9` | | Licence | BSD-ish | | Status | ✅ **54 wheels incl. `cp311-win_amd64`**, bundling the C library since **0.6.5 (2025-08-07)** | ## The trap that costs you money 🚨 **Every pure-Python port emits values *before* TA-Lib does, computed on partial windows — silently wrong, not NaN.** TA-Lib's documented "unstable period" behaviour is exactly why its warm-up start indices differ from every port. Swap libraries, or restart the calculation per symbol on a short slice, and **the same strategy becomes two different backtests**. Measured — TA-Lib python 0.7.1 / C core 0.7.1, pandas 3.0.5, numpy 2.4.6, 500-bar synthetic GBM, seed 7; `maxabs` = max absolute difference over the overlapping non-NaN region: | Library | SMA/BBands/CCI/OBV | RSI(14) | EMA(20) | ATR(14) | ADX(14) | MACD | |---|---|---|---|---|---|---| | **talipp 2.7.0** | exact | **1.4e-14, exact incl. warm-up start index** | 2.8e-14 | 3.2e-02 warm-up only | — | 0.155 warm-up only | | **pandas-ta-classic 0.6.52** | ≤3e-11 | **3.6e-14** | 2.8e-14 | 8.9e-16 | 🚨 **4.25**, emits from bar 13 vs TA-Lib's 27 | 0.155 early bars | | **ta 0.11.0** | identical | 🚨 **3.