signal-constructionlisted
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. *