Technical analysis extension for signalflow-trading.
Project description
signalflow-ta
Technical analysis extension for signalflow-trading.
The library provides 166 technical analysis indicators organized into 8 modules: momentum, overlap, volatility, volume, trend, stat, performance, divergence. Each indicator is implemented as a standalone signalflow component class with warmup property support and (where applicable) output value normalization. Additionally, AutoFeatureNormalizer is provided for automatic normalization of Polars DataFrames.
Installation
pip install signalflow-ta
Requirements
- Python >= 3.12
- signalflow-trading >= 0.3.3
- pandas-ta >= 0.4.67b0
Usage
import signalflow.ta as ta
Features
Momentum (18 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
RsiMom |
momentum/rsi |
Relative Strength Index | core.py | ["period", "normalized"] |
RocMom |
momentum/roc |
Rate of Change | core.py | ["period", "normalized", "norm_period"] |
MomMom |
momentum/mom |
Momentum (price difference) | core.py | ["period", "normalized", "norm_period"] |
CmoMom |
momentum/cmo |
Chande Momentum Oscillator | core.py | ["period", "normalized"] |
StochMom |
momentum/stoch |
Stochastic Oscillator | oscillators.py | ["k_period", "d_period", "smooth_k", "normalized"] |
StochRsiMom |
momentum/stochrsi |
Stochastic RSI | oscillators.py | ["rsi_period", "stoch_period", "k_period", "d_period", "normalized"] |
WillrMom |
momentum/willr |
Williams %R | oscillators.py | ["period", "normalized"] |
CciMom |
momentum/cci |
Commodity Channel Index | oscillators.py | ["period", "constant", "normalized", "norm_period"] |
UoMom |
momentum/uo |
Ultimate Oscillator | oscillators.py | ["fast", "medium", "slow", "fast_weight", "medium_weight", "slow_weight", "normalized"] |
AoMom |
momentum/ao |
Awesome Oscillator | oscillators.py | ["fast", "slow", "normalized", "norm_period"] |
MacdMom |
momentum/macd |
Moving Average Convergence Divergence | macd.py | ["fast", "slow", "signal", "normalized", "norm_period"] |
PpoMom |
momentum/ppo |
Percentage Price Oscillator | macd.py | ["fast", "slow", "signal", "normalized", "norm_period"] |
TsiMom |
momentum/tsi |
True Strength Index | macd.py | ["fast", "slow", "signal", "normalized", "norm_period"] |
TrixMom |
momentum/trix |
Triple Exponential Average ROC | macd.py | ["period", "signal", "normalized", "norm_period"] |
AccelerationMom |
momentum/acceleration |
Price Acceleration (2nd derivative of log-returns) | kinematics.py | ["source_col", "lag", "smooth", "normalized", "norm_period"] |
JerkMom |
momentum/jerk |
Price Jerk (3rd derivative of log-returns) | kinematics.py | ["source_col", "lag", "smooth", "normalized", "norm_period"] |
AngularMomentumMom |
momentum/angular_momentum |
Angular Momentum (L = displacement x velocity) | kinematics.py | ["source_col", "period", "ma_period", "normalized", "norm_period"] |
TorqueMom |
momentum/torque |
Torque (rate of change of angular momentum) | kinematics.py | ["source_col", "period", "ma_period", "torque_lag", "normalized", "norm_period"] |
Overlap / Smoothing (25 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
SmaSmooth |
smooth/sma |
Simple Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
EmaSmooth |
smooth/ema |
Exponential Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
WmaSmooth |
smooth/wma |
Weighted Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
RmaSmooth |
smooth/rma |
Wilder's Smoothed Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
DemaSmooth |
smooth/dema |
Double Exponential Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
TemaSmooth |
smooth/tema |
Triple Exponential Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
HmaSmooth |
smooth/hma |
Hull Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
TrimaSmooth |
smooth/trima |
Triangular Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
SwmaSmooth |
smooth/swma |
Symmetric Weighted Moving Average | smoothers.py | ["source_col", "period", "normalized"] |
SsfSmooth |
smooth/ssf |
Ehlers Super Smoother Filter | smoothers.py | ["source_col", "period", "poles", "normalized"] |
KamaSmooth |
smooth/kama |
Kaufman Adaptive Moving Average | adaptive.py | ["source_col", "period", "fast", "slow", "normalized"] |
AlmaSmooth |
smooth/alma |
Arnaud Legoux Moving Average | adaptive.py | ["source_col", "period", "offset", "sigma", "normalized"] |
JmaSmooth |
smooth/jma |
Jurik Moving Average | adaptive.py | ["source_col", "period", "phase", "normalized"] |
VidyaSmooth |
smooth/vidya |
Variable Index Dynamic Average | adaptive.py | ["source_col", "period", "normalized"] |
T3Smooth |
smooth/t3 |
Tillson T3 | adaptive.py | ["source_col", "period", "vfactor", "normalized"] |
ZlmaSmooth |
smooth/zlma |
Zero Lag Moving Average | adaptive.py | ["source_col", "period", "ma_type", "normalized"] |
McGinleySmooth |
smooth/mcginley |
McGinley Dynamic | adaptive.py | ["source_col", "period", "k", "normalized"] |
FramaSmooth |
smooth/frama |
Fractal Adaptive Moving Average | adaptive.py | ["source_col", "period", "normalized"] |
Hl2Price |
price/hl2 |
High-Low Midpoint | price.py | [] |
Hlc3Price |
price/hlc3 |
Typical Price (HLC/3) | price.py | [] |
Ohlc4Price |
price/ohlc4 |
OHLC Average | price.py | [] |
WcpPrice |
price/wcp |
Weighted Close Price | price.py | [] |
TypicalPrice |
price/typical |
Configurable Weighted Price | price.py | ["weight_high", "weight_low", "weight_close"] |
MidpointPrice |
price/midpoint |
Rolling Midpoint | price.py | ["source_col", "period"] |
MidpricePrice |
price/midprice |
Donchian Channel Midline | price.py | ["period"] |
Volatility (19 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
TrueRangeVol |
volatility/true_range |
True Range | range.py | [] |
AtrVol |
volatility/atr |
Average True Range | range.py | ["period", "ma_type"] |
NatrVol |
volatility/natr |
Normalized ATR (% of price) | range.py | ["period", "ma_type"] |
BollingerVol |
volatility/bollinger |
Bollinger Bands | bands.py | ["period", "std_dev", "ma_type", "normalized", "norm_period"] |
KeltnerVol |
volatility/keltner |
Keltner Channels | bands.py | ["period", "multiplier", "ma_type", "use_true_range", "normalized", "norm_period"] |
DonchianVol |
volatility/donchian |
Donchian Channels | bands.py | ["period", "normalized", "norm_period"] |
AccBandsVol |
volatility/accbands |
Acceleration Bands | bands.py | ["period", "normalized", "norm_period"] |
MassIndexVol |
volatility/mass_index |
Mass Index | measures.py | ["fast", "slow"] |
UlcerIndexVol |
volatility/ulcer_index |
Ulcer Index (downside volatility) | measures.py | ["period"] |
RviVol |
volatility/rvi |
Relative Volatility Index | measures.py | ["period", "std_period"] |
GapVol |
volatility/gaps |
Gap Volatility | gaps.py | ["period", "normalized", "norm_period"] |
KineticEnergyVol |
volatility/kinetic_energy |
Kinetic Energy (KE = 1/2 v^2) | energy.py | ["period", "normalized", "norm_period"] |
PotentialEnergyVol |
volatility/potential_energy |
Potential Energy (displacement from MA) | energy.py | ["period", "ma_period", "normalized", "norm_period"] |
TotalEnergyVol |
volatility/total_energy |
Total Mechanical Energy (KE + PE) | energy.py | ["period", "ma_period", "normalized", "norm_period"] |
EnergyFlowVol |
volatility/energy_flow |
Energy Flow Rate (dE/dt) | energy.py | ["period", "ma_period", "flow_lag", "normalized", "norm_period"] |
ElasticStrainVol |
volatility/elastic_strain |
Elastic Strain (relative displacement from equilibrium) | energy.py | ["period", "ma_period", "normalized", "norm_period"] |
TemperatureVol |
volatility/temperature |
Market Temperature (kinetic energy per DOF) | energy.py | ["period", "normalized", "norm_period"] |
HeatCapacityVol |
volatility/heat_capacity |
Heat Capacity (resistance to temperature change) | energy.py | ["period", "lag", "normalized", "norm_period"] |
FreeEnergyVol |
volatility/free_energy |
Helmholtz Free Energy (E - T*S) | energy.py | ["period", "entropy_bins", "normalized", "norm_period"] |
Volume (16 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
ObvVolume |
volume/obv |
On Balance Volume | cumulative.py | ["period", "normalized", "norm_period"] |
AdVolume |
volume/ad |
Accumulation/Distribution Line | cumulative.py | ["period", "normalized", "norm_period"] |
PvtVolume |
volume/pvt |
Price Volume Trend | cumulative.py | ["period", "normalized", "norm_period"] |
NviVolume |
volume/nvi |
Negative Volume Index | cumulative.py | ["period", "normalized", "norm_period"] |
PviVolume |
volume/pvi |
Positive Volume Index | cumulative.py | ["period", "normalized", "norm_period"] |
MfiVolume |
volume/mfi |
Money Flow Index | oscillators.py | ["period", "normalized"] |
CmfVolume |
volume/cmf |
Chaikin Money Flow | oscillators.py | ["period", "normalized", "norm_period"] |
EfiVolume |
volume/efi |
Elder Force Index | oscillators.py | ["period", "normalized", "norm_period"] |
EomVolume |
volume/eom |
Ease of Movement | oscillators.py | ["period", "scale", "normalized", "norm_period"] |
KvoVolume |
volume/kvo |
Klinger Volume Oscillator | oscillators.py | ["fast", "slow", "signal", "normalized", "norm_period"] |
MarketForceVolume |
volume/market_force |
Market Force (F = m * a) | dynamics.py | ["period", "normalized", "norm_period"] |
ImpulseVolume |
volume/impulse |
Market Impulse (J = sum F * dt) | dynamics.py | ["period", "normalized", "norm_period"] |
MarketMomentumVolume |
volume/market_momentum |
Market Momentum (p = m * v) | dynamics.py | ["period", "normalized", "norm_period"] |
MarketPowerVolume |
volume/market_power |
Market Power (P = F * v) | dynamics.py | ["period", "normalized", "norm_period"] |
MarketCapacitanceVolume |
volume/market_capacitance |
Market Capacitance (volume absorbed per unit price change) | dynamics.py | ["period", "normalized", "norm_period"] |
GravitationalPullVolume |
volume/gravitational_pull |
Gravitational Pull (volume-weighted attraction) | dynamics.py | ["period", "normalized", "norm_period"] |
Trend (22 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
AdxTrend |
trend/adx |
Average Directional Index | strength.py | ["period", "normalized"] |
AroonTrend |
trend/aroon |
Aroon Indicator | strength.py | ["period", "normalized"] |
VortexTrend |
trend/vortex |
Vortex Indicator | strength.py | ["period", "normalized"] |
VhfTrend |
trend/vhf |
Vertical Horizontal Filter | strength.py | ["period", "normalized"] |
ChopTrend |
trend/chop |
Choppiness Index | strength.py | ["period", "normalized"] |
ViscosityTrend |
trend/viscosity |
Viscosity (resistance to velocity change) | physics.py | ["period", "normalized", "norm_period"] |
ReynoldsTrend |
trend/reynolds |
Reynolds Number (laminar vs turbulent regime) | physics.py | ["period", "normalized", "norm_period"] |
RotationalInertiaTrend |
trend/rotational_inertia |
Rotational Inertia (resistance to trend change) | physics.py | ["period", "normalized", "norm_period"] |
MarketImpedanceTrend |
trend/market_impedance |
Market Impedance (Z = V/I analogy) | physics.py | ["period", "normalized", "norm_period"] |
RCTimeConstantTrend |
trend/rc_time_constant |
RC Time Constant (circuit analogue) | physics.py | ["period", "normalized", "norm_period"] |
SNRTrend |
trend/snr |
Signal-to-Noise Ratio | physics.py | ["period", "normalized", "norm_period"] |
OrderParameterTrend |
trend/order_parameter |
Order Parameter (phase transition) | physics.py | ["period", "normalized", "norm_period"] |
SusceptibilityTrend |
trend/susceptibility |
Susceptibility (response to changes) | physics.py | ["period", "normalized", "norm_period"] |
PsarTrend |
trend/psar |
Parabolic SAR | stops.py | ["iaf", "maxaf"] |
SupertrendTrend |
trend/supertrend |
Supertrend | stops.py | ["period", "multiplier", "normalized", "norm_period"] |
ChandelierTrend |
trend/chandelier |
Chandelier Stop | stops.py | ["period", "atr_period", "multiplier"] |
HiloTrend |
trend/hilo |
HiLo Channel | stops.py | ["period", "normalized", "norm_period"] |
CkspTrend |
trend/cksp |
Coppock Curve | stops.py | ["roc_period", "ema_period", "normalized", "norm_period"] |
IchimokuTrend |
trend/ichimoku |
Ichimoku Kinko Hyo | detection.py | ["tenkan", "kijun", "senkou", "normalized", "norm_period"] |
DpoTrend |
trend/dpo |
Detrended Price Oscillator | detection.py | ["period", "normalized", "norm_period"] |
QstickTrend |
trend/qstick |
Qstick | detection.py | ["period", "normalized", "norm_period"] |
TtmTrend |
trend/ttm |
TTM Trend | detection.py | ["length", "normalized", "norm_period"] |
Statistics (62 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
VarianceStat |
stat/variance |
Rolling Variance | dispersion.py | ["source_col", "period", "ddof"] |
StdStat |
stat/std |
Rolling Standard Deviation | dispersion.py | ["source_col", "period", "ddof"] |
MadStat |
stat/mad |
Mean Absolute Deviation | dispersion.py | ["source_col", "period"] |
ZscoreStat |
stat/zscore |
Z-Score | dispersion.py | ["source_col", "period"] |
CvStat |
stat/cv |
Coefficient of Variation | dispersion.py | ["source_col", "period"] |
RangeStat |
stat/range |
Range (max - min) | dispersion.py | ["source_col", "period"] |
IqrStat |
stat/iqr |
Interquartile Range | dispersion.py | ["source_col", "period"] |
AadStat |
stat/aad |
Average Absolute Deviation | dispersion.py | ["source_col", "period"] |
RobustZscoreStat |
stat/robust_zscore |
Robust Z-Score (via MAD) | dispersion.py | ["source_col", "period"] |
MedianStat |
stat/median |
Rolling Median | distribution.py | ["source_col", "period"] |
QuantileStat |
stat/quantile |
Quantile | distribution.py | ["source_col", "period", "quantile"] |
PctRankStat |
stat/pct_rank |
Percentile Rank | distribution.py | ["source_col", "period"] |
MinMaxStat |
stat/minmax |
Min-Max Scaler | distribution.py | ["source_col", "period"] |
SkewStat |
stat/skew |
Skewness | distribution.py | ["source_col", "period"] |
KurtosisStat |
stat/kurtosis |
Kurtosis | distribution.py | ["source_col", "period"] |
EntropyStat |
stat/entropy |
Entropy | distribution.py | ["source_col", "period", "bins"] |
JarqueBeraStat |
stat/jarque_bera |
Jarque-Bera Test | distribution.py | ["source_col", "period"] |
ModeDistanceStat |
stat/mode_distance |
Distance to Mode | distribution.py | ["source_col", "period"] |
AboveMeanRatioStat |
stat/above_mean_ratio |
Ratio of Values Above Mean | distribution.py | ["source_col", "period"] |
EntropyRateStat |
stat/entropy_rate |
Entropy Rate (speed of information change) | distribution.py | ["source_col", "period", "lag", "base", "normalized", "norm_period"] |
HurstStat |
stat/hurst |
Hurst Exponent | memory.py | ["source_col", "period", "min_lag"] |
AutocorrStat |
stat/autocorr |
Autocorrelation | memory.py | ["source_col", "period", "lag"] |
VarianceRatioStat |
stat/variance_ratio |
Variance Ratio | memory.py | ["source_col", "period", "lag"] |
DiffusionCoeffStat |
stat/diffusion_coeff |
Diffusion Coefficient (D = Var / 2dt) | memory.py | ["source_col", "period", "normalized", "norm_period"] |
AnomalousDiffusionStat |
stat/anomalous_diffusion |
Anomalous Diffusion Exponent | memory.py | ["source_col", "period", "tau_short", "tau_long", "normalized", "norm_period"] |
MsdRatioStat |
stat/msd_ratio |
Mean Squared Displacement Ratio | memory.py | ["source_col", "period", "tau", "normalized", "norm_period"] |
SpringConstantStat |
stat/spring_constant |
Spring Constant (mean-reversion strength) | memory.py | ["source_col", "period", "ma_period", "normalized", "norm_period"] |
DampingRatioStat |
stat/damping_ratio |
Damping Ratio (oscillation decay) | memory.py | ["source_col", "period", "ma_period", "normalized", "norm_period"] |
NaturalFrequencyStat |
stat/natural_frequency |
Natural Frequency (dominant oscillation) | memory.py | ["source_col", "period", "ma_period", "normalized", "norm_period"] |
PlasticStrainStat |
stat/plastic_strain |
Plastic Strain (non-reversible deformation ratio) | memory.py | ["source_col", "period", "ma_period", "normalized", "norm_period"] |
EscapeVelocityStat |
stat/escape_velocity |
Escape Velocity (velocity to break from MA) | memory.py | ["source_col", "period", "ma_period", "normalized", "norm_period"] |
CorrelationLengthStat |
stat/correlation_length |
Correlation Length (autocorrelation zero-crossing) | memory.py | ["source_col", "period", "max_lag", "normalized", "norm_period"] |
InstAmplitudeStat |
stat/inst_amplitude |
Instantaneous Amplitude (Hilbert transform) | cycle.py | ["source_col", "period", "normalized", "norm_period"] |
InstPhaseStat |
stat/inst_phase |
Instantaneous Phase (Hilbert transform) | cycle.py | ["source_col", "period", "normalized"] |
InstFrequencyStat |
stat/inst_frequency |
Instantaneous Frequency (Hilbert transform) | cycle.py | ["source_col", "period", "normalized", "norm_period"] |
PhaseAccelerationStat |
stat/phase_acceleration |
Phase Acceleration (2nd derivative of phase) | cycle.py | ["source_col", "period", "normalized", "norm_period"] |
ConstructiveInterferenceStat |
stat/constructive_interference |
Constructive Interference (phase-aligned amplitude) | cycle.py | ["source_col", "fast_period", "slow_period", "smooth", "normalized", "norm_period"] |
BeatFrequencyStat |
stat/beat_frequency |
Beat Frequency (two-oscillator difference) | cycle.py | ["source_col", "fast_period", "slow_period", "normalized", "norm_period"] |
StandingWaveRatioStat |
stat/standing_wave_ratio |
Standing Wave Ratio (market resonance) | cycle.py | ["source_col", "period", "swr_window", "normalized", "norm_period"] |
SpectralCentroidStat |
stat/spectral_centroid |
Spectral Centroid (frequency center of mass) | cycle.py | ["source_col", "period", "normalized", "norm_period"] |
SpectralEntropyStat |
stat/spectral_entropy |
Spectral Entropy (frequency distribution disorder) | cycle.py | ["source_col", "period", "normalized"] |
CorrelationStat |
stat/correlation |
Correlation | regression.py | ["col1", "col2", "period"] |
BetaStat |
stat/beta |
Beta Coefficient | regression.py | ["col1", "col2", "period"] |
RSquaredStat |
stat/rsquared |
R-Squared | regression.py | ["col1", "col2", "period"] |
LinRegSlopeStat |
stat/linreg_slope |
Linear Regression Slope | regression.py | ["source_col", "period"] |
LinRegInterceptStat |
stat/linreg_intercept |
Linear Regression Intercept | regression.py | ["source_col", "period"] |
LinRegResidualStat |
stat/linreg_residual |
Linear Regression Residual | regression.py | ["source_col", "period"] |
RealizedVolStat |
stat/realized_vol |
Realized Volatility | realized.py | ["source_col", "period"] |
ParkinsonVolStat |
stat/parkinson_vol |
Parkinson Volatility | realized.py | ["period"] |
GarmanKlassVolStat |
stat/garman_klass_vol |
Garman-Klass Volatility | realized.py | ["period"] |
RogersSatchellVolStat |
stat/rogers_satchell_vol |
Rogers-Satchell Volatility | realized.py | ["period"] |
YangZhangVolStat |
stat/yang_zhang_vol |
Yang-Zhang Volatility | realized.py | ["period"] |
PermutationEntropyStat |
stat/permutation_entropy |
Permutation Entropy (ordinal pattern complexity) | complexity.py | ["source_col", "period", "m", "normalized", "norm_period"] |
SampleEntropyStat |
stat/sample_entropy |
Sample Entropy (regularity / self-similarity) | complexity.py | ["source_col", "period", "m", "r_mult", "normalized", "norm_period"] |
LempelZivStat |
stat/lempel_ziv |
Lempel-Ziv Complexity (compressibility) | complexity.py | ["source_col", "period", "normalized", "norm_period"] |
FisherInformationStat |
stat/fisher_information |
Fisher Information (distribution sharpness) | complexity.py | ["source_col", "period", "bins", "normalized", "norm_period"] |
DfaExponentStat |
stat/dfa |
DFA Exponent (detrended long-range correlations) | complexity.py | ["source_col", "period", "min_box", "normalized", "norm_period"] |
KLDivergenceStat |
stat/kl_divergence |
KL Divergence (regime deviation from baseline) | information.py | ["source_col", "period", "short_period", "bins", "normalized", "norm_period"] |
JSDivergenceStat |
stat/js_divergence |
Jensen-Shannon Divergence (symmetric regime change) | information.py | ["source_col", "period", "short_period", "bins", "normalized", "norm_period"] |
RenyiEntropyStat |
stat/renyi_entropy |
Rényi Entropy (generalized tail-sensitive entropy) | information.py | ["source_col", "period", "alpha", "bins", "normalized", "norm_period"] |
AutoMutualInfoStat |
stat/auto_mutual_info |
Auto Mutual Information (nonlinear temporal dependency) | information.py | ["source_col", "period", "lag", "bins", "normalized", "norm_period"] |
RelativeInfoGainStat |
stat/info_gain |
Relative Information Gain (distributional change rate) | information.py | ["source_col", "period", "bins", "normalized", "norm_period"] |
Performance (2 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
LogReturn |
perf/log_ret |
Logarithmic Returns | returns.py | ["source", "period"] |
PctReturn |
perf/pct_ret |
Percentage Returns | returns.py | ["source", "period"] |
Divergence (2 indicators)
| Class | SF Name | Description | Source | Parameters |
|---|---|---|---|---|
RsiDivergence |
divergence/rsi |
RSI Divergence Detector (regular & hidden) | rsi_div.py | ["rsi_period", "rsi_overbought", "rsi_oversold", "pivot_window", "min_pivot_distance", "lookback", "min_divergence_magnitude"] |
MacdDivergence |
divergence/macd |
MACD Divergence Detector (regular & hidden) | macd_div.py | ["fast", "slow", "signal", "pivot_window", "min_pivot_distance", "lookback", "min_divergence_magnitude"] |
Normalization
Most indicators support a normalized parameter. When normalized=True, output values are transformed to relative scales:
- Bounded indicators (RSI, Stochastic, Williams %R): scaled to
[0, 1]or[-1, 1] - Unbounded indicators (MACD, ROC, smoothers): normalized via rolling z-score
- Normalized columns receive a
_normsuffix
AutoFeatureNormalizer
AutoFeatureNormalizer is an automatic normalizer for Polars DataFrames. It analyzes the statistical properties of each feature and selects the optimal normalization method.
from signalflow.ta.auto_norm import AutoFeatureNormalizer
norm = AutoFeatureNormalizer(window=256, warmup=256)
artifact = norm.fit(df)
df_normalized = norm.transform(df)
# or in one step:
df_normalized = norm.fit_transform(df)
Normalization methods:
rolling_robust--(x - median) / IQRrolling_z--(x - mean) / stdrolling_rank-- percentile rank within a windowrolling_winsor-- quantile clipping (outlier resistance)signed_log1p--sign(x) * log1p(|x|)(for skewed distributions)
The fit() artifact can be saved/loaded via save()/load() for reproducibility.
License
See signalflow-trading for license details.
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
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 signalflow_ta-0.3.6.tar.gz.
File metadata
- Download URL: signalflow_ta-0.3.6.tar.gz
- Upload date:
- Size: 133.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
674a5e6daf29cbb6a10cd51d14aa059bd2bc2df44354c1e3c24296fb2a820aec
|
|
| MD5 |
67132caff3b5794cbb87834a81fca588
|
|
| BLAKE2b-256 |
9e4761f61ff070b0d9295db2a6436581787d9d3f4185c0bae1cf17e189bbe597
|
File details
Details for the file signalflow_ta-0.3.6-py3-none-any.whl.
File metadata
- Download URL: signalflow_ta-0.3.6-py3-none-any.whl
- Upload date:
- Size: 148.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70704c839d55546ae31730c823a7c728cb12277faced814e12d6a2ae0efc895a
|
|
| MD5 |
516c9b35158ac8a7552707eac75be587
|
|
| BLAKE2b-256 |
8bd881df253682c35ac006d84a77bba69511620ccf197175b662c44bd6dbfb97
|