3 releases
| 0.1.2 | Jan 21, 2026 |
|---|---|
| 0.1.1 | Jan 21, 2026 |
| 0.1.0 | Jan 21, 2026 |
#1604 in Algorithms
25MB
701K
SLoC
vector-ta
VectorTA is a Rust crate of technical analysis indicators focused on speed and predictable allocations, with optional SIMD/CUDA acceleration and optional Python/WASM bindings.
Full documentation (indicator list, API reference, and guides): https://vectoralpha.dev/projects/ta
Rust usage
Example: ADX over HLC slices
use vector_ta::indicators::adx::{adx, AdxInput, AdxParams};
fn compute_adx(
high: &[f64],
low: &[f64],
close: &[f64],
) -> Result<Vec<f64>, Box<dyn std::error::Error>> {
let input = AdxInput::from_slices(high, low, close, AdxParams { period: Some(14) });
Ok(adx(&input)?.values)
}
Features
cuda: GPU acceleration using prebuilt PTX (compute_89) shipped in the crate. Consumers do not neednvcc.cuda-build-ptx: Maintainer-only: compile PTX fromkernels/cuda/**usingnvcc.nightly-avx: Runtime-selected AVX2/AVX512 kernels onx86_64(nightly required).python: PyO3 bindings (build from source viamaturin).wasm: wasm-bindgen bindings (build from source viawasm-pack).
Python (optional)
Build + install into a virtualenv:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip maturin numpy
maturin develop --release --features python
WASM (optional)
Build with wasm-pack:
rustup target add wasm32-unknown-unknown
wasm-pack build --target nodejs --release --features wasm
CUDA (optional)
Enable:
[dependencies]
vector-ta = { version = "0.1.1", features = ["cuda"] }
Notes:
- To force-disable CUDA probing/usage (tests/CI): set
CUDA_FORCE_SKIP=1. - To override where prebuilt PTX is sourced from, set
VECTOR_TA_PREBUILT_PTX_DIR(see docs link above).
License
Apache-2.0 (see LICENSE).
Dependencies
~5.5–9.5MB
~176K SLoC