Technical analysis indicators and scanners.
Project description
v1indicators
Engineering over Hype.
v1indicators is a professional-grade, high-performance technical analysis library for Python. It is designed to be the "Standard Library" for financial indicators—prioritizing mathematical accuracy, system stability, and zero external bloat.
It is a pure calculation engine. It does not trade, it does not plot, and it does not make promises. It just does the math.
The Philosophy
Existing libraries (ta-lib, pandas-ta, ta) often suffer from one of three problems: dependency hell (C-compilers), abandoned maintenance, or bloated "black box" object hierarchies.
v1indicators solves this by adhering to four rules:
- Math > Magic: Implementations are based on standard textbook formulas (Wilder, Lane, Bollinger).
- Simple > Fancy: A pure functional API. Input arrays, output arrays. No complex classes.
- NumPy Core: Heavy lifting is done in NumPy and optimized Pandas C-extensions for maximum speed.
- Reliability: 100% test coverage with strict type validation.
Installation
Requires Python 3.9+, NumPy, and Pandas.
pip install .
Quick Start
The API is standardized. All functions accept Pandas Series and return Pandas Series (for single-value indicators) or DataFrames (for multi-value indicators).
import pandas as pd
from v1indicators import rsi, macd, supertrend
# 1. Load your data (Engineering Standard: Lowercase columns)
df = pd.read_csv("data.csv") # Must have 'open', 'high', 'low', 'close', 'volume'
# 2. Simple Indicator (RSI)
# Returns a Series named 'RSI_14'
df['RSI'] = rsi(df['close'], length=14)
# 3. Complex Indicator (MACD)
# Returns a DataFrame with 'MACD', 'MACD_SIGNAL', 'MACD_HIST'
macd_df = macd(df['close'], fast=12, slow=26, signal=9)
df = pd.concat([df, macd_df], axis=1)
# 4. Pro Indicator (Supertrend)
# Returns 'SUPERTREND' and 'SUPERTREND_DIR'
st_df = supertrend(df['high'], df['low'], df['close'], length=10, mult=3.0)
df = pd.concat([df, st_df], axis=1)
print(df.tail())
Available Indicators
We currently support the "Essential 20"—the indicators used by 90% of professional systematic traders.
Momentum
- RSI (Relative Strength Index)
- MACD (Moving Average Convergence Divergence)
- Stochastic (Stochastic Oscillator)
- ROC (Rate of Change)
- MFI (Money Flow Index)
- CCI (Commodity Channel Index)
Overlap (Trend Filters)
- SMA (Simple Moving Average)
- EMA (Exponential Moving Average)
- WMA (Weighted Moving Average)
- RMA (Wilder's Smoothing / Running Moving Average)
- Bollinger Bands
- Keltner Channels
- Donchian Channels
- Ichimoku Cloud
Trend
- Supertrend
- Parabolic SAR (PSAR)
- ADX (Average Directional Index)
Volatility
- ATR (Average True Range)
Volume
- OBV (On-Balance Volume)
- VWAP (Volume Weighted Average Price)
Levels
- Fibonacci Retracements
Development
We enforce strict engineering standards.
# Install dev dependencies
pip install -e ".[dev]"
# Run the test suite (100% Pass Rate Required)
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.1.2.tar.gz.
File metadata
- Download URL: v1indicators-0.1.2.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03e200f34410363960b18a24eb0fd84a114d42bfa58c8a40c0b9be21f67c777b
|
|
| MD5 |
2c732c088a59516ecb2367e5363e9019
|
|
| BLAKE2b-256 |
cdcfa5d50df1bd428ab61249f0eaca63286926ca3113fbfb031d61bb1bc4b004
|
File details
Details for the file v1indicators-0.1.2-py3-none-any.whl.
File metadata
- Download URL: v1indicators-0.1.2-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8ad2f9c9b3160fd4823b09d2b5a7b820e2a14bc008fa2c9d6fdb6a68f7ec0f8
|
|
| MD5 |
3da0814100fc14eddb20711f1aa5a3c6
|
|
| BLAKE2b-256 |
32c20effa124bff0c9a95aa5ed1514df332cb6d87118dc0239b8a1126c8637ae
|