Skip to main content

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:

  1. Math > Magic: Implementations are based on standard textbook formulas (Wilder, Lane, Bollinger).
  2. Simple > Fancy: A pure functional API. Input arrays, output arrays. No complex classes.
  3. NumPy Core: Heavy lifting is done in NumPy and optimized Pandas C-extensions for maximum speed.
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

v1indicators-0.1.2.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

v1indicators-0.1.2-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

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

Hashes for v1indicators-0.1.2.tar.gz
Algorithm Hash digest
SHA256 03e200f34410363960b18a24eb0fd84a114d42bfa58c8a40c0b9be21f67c777b
MD5 2c732c088a59516ecb2367e5363e9019
BLAKE2b-256 cdcfa5d50df1bd428ab61249f0eaca63286926ca3113fbfb031d61bb1bc4b004

See more details on using hashes here.

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

Hashes for v1indicators-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c8ad2f9c9b3160fd4823b09d2b5a7b820e2a14bc008fa2c9d6fdb6a68f7ec0f8
MD5 3da0814100fc14eddb20711f1aa5a3c6
BLAKE2b-256 32c20effa124bff0c9a95aa5ed1514df332cb6d87118dc0239b8a1126c8637ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page