Vectorized Pine Script indicators for machine learning and algorithmic trading. 10-100x faster than loop-based implementations.
- ⚡ NumPy/Pandas Vectorization - Millions of bars in seconds
- 🧠 ML Alpha Module - Z-score, percentile rank, fractional differentiation
- 📊 50+ Indicators - RSI, MACD, ATR, Bollinger, SuperTrend, Ichimoku...
- 🔄 Pine Script Parity - Same signatures, same math
- 📈 Price Action - Vectorized pattern detection
pip install pythonpineimport numpy as np
from pythonpine import rsi, macd, atr, zscore
# Your price data
close = np.random.randn(10000).cumsum() + 100
high = close + np.abs(np.random.randn(10000)) * 0.5
low = close - np.abs(np.random.randn(10000)) * 0.5
# Calculate indicators (returns NumPy arrays)
rsi_values = rsi(close, 14)
macd_line, signal, hist = macd(close)
atr_values = atr(high, low, close, 14)
# ML preprocessing
rsi_zscore = zscore(rsi_values, 20) # Normalized for MLfrom pythonpine import zscore, percentile_rank, log_returns, fractional_diff
# Stationarity transforms
returns = log_returns(close)
frac_diff = fractional_diff(close, d=0.4) # López de Prado method
# Feature engineering
rsi_z = zscore(rsi(close), 50) # Z-score normalized RSI
rsi_rank = percentile_rank(rsi(close), 100) # Percentile rank| Indicator | Legacy (loop) | V2 (vectorized) | Speedup |
|---|---|---|---|
| RSI | 1.2s | 0.01s | 120x |
| MACD | 0.8s | 0.008s | 100x |
| ATR | 0.5s | 0.005s | 100x |
| Bollinger | 0.9s | 0.007s | 130x |
Tested on 1M bars
rsi(close, 14)- Relative Strength Indexmacd(close, 12, 26, 9)- MACD line, signal, histogramstochastic(close, high, low)- Stochastic Oscillatoradx(high, low, close)- Average Directional Indexcci(close, high, low)- Commodity Channel Index
atr(high, low, close, 14)- Average True Rangebollinger_bands(close, 20, 2)- Upper, lower, middlekeltner_channel(high, low, close)- Keltner bandshistorical_volatility(close, 20)- HV annualized
sma(close, 20)- Simple Moving Averageema(close, 20)- Exponential MAsupertrend(high, low, close)- Trend direction + lineichimoku(high, low, close)- Full cloud
engulfing(o, h, l, c)- Returns +1 (bullish), -1 (bearish), 0doji(o, h, l, c)- Doji detectionsupport_resistance_zones(h, l, c, v)- Volume-based S/R
MIT