ferro-ta Documentation
Core Library
Evidence and Releases
Adjacent and Experimental
Overview
ferro-ta is a Rust-powered Python technical analysis library focused on a TA-Lib-compatible API for NumPy-centered workloads.
Important
Performance varies by indicator, array layout, warmup, build flags, and machine. ferro-ta is often faster on selected indicators, not universally faster. See Benchmarks for the reproducible workflow, methodology notes, and the indicators where TA-Lib still wins or ties in the current checked-in artifact.
Core library:
160+ indicators covering all TA-Lib categories
TA-Lib-style imports such as
ferro_ta.SMA(close, timeperiod=20)Pre-built wheels for the supported Python/OS matrix
Pure Rust core library (
crates/ferro_ta_core) — no PyO3 / numpy dependencyBatch execution API — run indicators on 2-D arrays of multiple series
Streaming / bar-by-bar API for live trading
Transparent pandas.Series support
Type stubs (.pyi) for IDE auto-completion
10 extended indicators not in TA-Lib (VWAP, Supertrend, Ichimoku Cloud, …)
Adjacent and experimental tooling:
Backtesting engine — OHLCV fill, 23 metrics, Monte Carlo, walk-forward, multi-asset — see Adjacent Tooling
Derivatives analytics — see Derivatives Analytics
Agentic workflow and LangChain tool wrappers — see Agentic guide
MCP server for MCP-compatible clients — see MCP guide
WASM, plugins, and other optional surfaces — see Adjacent Tooling
Installation
pip install ferro-ta
Quick Start
import numpy as np
from ferro_ta import SMA, EMA, RSI, MACD, BBANDS
close = np.array([10.0, 11.0, 12.0, 13.0, 14.0, 13.5, 12.5])
print(SMA(close, timeperiod=3))
# Batch: run SMA on 5 symbols at once
from ferro_ta.batch import batch_sma
data = np.random.rand(100, 5)
result = batch_sma(data, timeperiod=10)
Further Reading
Architecture — Rust/Python layout, two-crate design, binding flow.
Performance Guide — when to use raw numpy vs pandas/polars, batch notes, tips.
API Stability — stability tiers, versioning, and deprecation policy.
Support Matrix — parity status, tested wheel targets, supported Python versions, and experimental modules.
Rust-First Policy — all compute logic belongs in Rust; how to add new indicators.
Out-of-Core Execution — chunked processing and Dask integration.
Derivatives Analytics — IV helpers, options pricing/Greeks/IV, futures analytics, strategy schemas, and payoff helpers.
Adjacent Tooling — optional surfaces such as derivatives, MCP, WASM, GPU, plugins, and agent-oriented integrations.