Technical analysis indicators and scanners.
Project description
v1indicators
v1indicators is a fast, production-focused technical analysis library for Python.
It provides a clean functional API for indicator calculations and keeps scope intentionally narrow:
- no charting
- no broker integrations
- no strategy execution framework
The goal is simple: reliable indicator math on top of pandas Series/DataFrame inputs.
Highlights
- Vectorized implementations for performance-critical paths.
- Numba-accelerated kernels for recursive/stateful indicators where appropriate.
- Consistent indicator signatures across categories.
- Broad indicator coverage across overlap, momentum, trend, volatility, volume, statistics, levels, and performance.
Installation
From source:
pip install .
For development:
pip install -e ".[dev]"
Quick Start
import pandas as pd
from v1indicators import rsi, macd, supertrend
df = pd.read_csv("data.csv")
# Single-series output
df["RSI_14"] = rsi(df["close"], length=14)
# Multi-column output
macd_df = macd(df["close"], fast=12, slow=26, signal=9)
df = pd.concat([df, macd_df], axis=1)
st_df = supertrend(df["high"], df["low"], df["close"], length=10, mult=3.0)
df = pd.concat([df, st_df], axis=1)
API Organization
The package is organized by indicator families:
- overlap
- momentum
- trend
- volatility
- volume
- statistics
- levels
- performance
You can import from the package root for common indicators:
from v1indicators import ema, sma, rsi, atr, obv
Or from family modules for explicit namespacing:
from v1indicators.momentum import rsi, stoch
from v1indicators.overlap import ema, bbands
Data Requirements
Most indicators expect pandas Series aligned on the same index. Common field expectations:
- close-only indicators: close
- range-based indicators: high, low, close
- volume indicators: close, volume (sometimes high/low/open as needed)
Testing
Run the full test suite:
pytest
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file v1indicators-0.3.0.tar.gz.
File metadata
- Download URL: v1indicators-0.3.0.tar.gz
- Upload date:
- Size: 71.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cd3009a67d9f864fd492083a2521745d592aebe80560a17883ce27e54c4723b
|
|
| MD5 |
f17076052708e8751e7bd5f5a1b9422d
|
|
| BLAKE2b-256 |
905ebc9567b2d75aa4c60248f85470ecf90439bf164cc54b05d17581b0134b1e
|
File details
Details for the file v1indicators-0.3.0-py3-none-any.whl.
File metadata
- Download URL: v1indicators-0.3.0-py3-none-any.whl
- Upload date:
- Size: 115.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f93b4c9fc807d02d4d8feef6883df21158c91a4d518b9af4f2ceb43f3254cbd7
|
|
| MD5 |
eaa09cecc0939093350adf2894a55900
|
|
| BLAKE2b-256 |
b49fed0cf886db497e37244bc191dfafcf8eb6e2da5b3a35ccd334c3d80e2693
|