← ClaudeAtlas

signal-constructionlisted

Compute technical indicators and engineered features without leaking the future. TRIGGER - RSI, MACD, moving average, Bollinger, ATR, ADX, Ichimoku, PSAR, stochastic or any named technical indicator; TA-Lib, pandas-ta, pandas-ta-classic, ta, talipp, finta; choosing an indicator library or reconciling two that disagree; "does this indicator repaint"; warm-up, unstable period, or an indicator differing between backtest and live; zigzag, fractals, swing highs. SKIP for judging whether a finished signal predicts returns (factor-and-timeseries-research) and for the backtest that consumes it (backtesting-engines).
howard-lynn-ye/fin-skills · ★ 1 · AI & Automation · score 77
Install: claude install-skill howard-lynn-ye/fin-skills
# Signal construction Two failures dominate: **using a library whose warm-up values are silently wrong**, and **using an indicator that cannot be computed causally.** §2 and §4 cover them. Both were measured, not assumed. ## 1. What changed since ~2024 | Change | Status | |---|---| | **TA-Lib's C dependency pain is SOLVED** | `ta-lib-python` ships prebuilt wheels **bundling the C library** since v0.6.5 (2025-08-07). Latest 0.7.1, 54 wheels. `pip install TA-Lib` just works. | | 🚨 **`pandas-ta` is effectively gone** | `github.com/twopirllc/pandas-ta` returns **404** (removed ~June 2025). PyPI history **wiped to 2 beta releases**. `pandas-ta.dev` **DNS does not resolve**. **No licence field, no classifier.** | | **`pandas-ta-classic` is the live successor** | MIT, 0.6.52 (2026-06-24), actively released | | vectorbt got a 1.x Rust engine | v1.1.0 (2026-07-05) — licence is **Apache-2.0 + Commons Clause**, not OSI open source | 🚨 **Treat `pandas-ta` as do-not-install.** A package with no licence, wiped release history, a dead upstream repo and a dead homepage is a supply-chain risk regardless of intent. **Also dead:** `finta` (archived 2022, LGPL-3.0), `tulipy` (2019, LGPL), `bta-lib`. ## 2. ⭐ Measured agreement with TA-Lib > Executed on 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 abs diff over the overlapping non-NaN region. **Ranking for "numerically identical to TA-Lib":** 1. **TA-Lib** (reference) 2. *