Skip to content

SignalFlow Ecosystem

SignalFlow is a modular ecosystem of Python packages for algorithmic trading. Each package focuses on a specific domain while sharing the core framework's component registry, data containers, and pipeline patterns.


Packages

  • signalflow-trading v0.6.0 (Core)


    Core framework: data containers, signal detection, backtesting, strategy execution, state persistence, statistical analysis. Component registry, Polars-first processing, DuckDB storage.

    pip install signalflow-trading
    

    GitHub

  • signalflow-ta v0.6.0


    189+ technical indicators across 8 modules: momentum, overlap, volatility, volume, trend, statistics, performance, divergence. 24 signal detectors. Physics-based market analogs and AutoFeatureNormalizer.

    pip install signalflow-ta
    

    GitHub

  • signalflow-nn v0.6.0


    14 neural encoders (LSTM, GRU, Transformer, PatchTST, TCN, TSMixer, InceptionTime), 7 classification heads, 4 loss functions. Built on PyTorch Lightning.

    pip install signalflow-nn
    

    GitHub

  • sf-kedro v0.5.0


    Universal ML pipelines: backtest, analyze, train, tune (Optuna), validate (walk-forward). Flow configuration via YAML. MLflow and Telegram integrations.

    GitHub


Architecture

All packages share the SignalFlow component registry via semantic decorators (@sf.detector, @sf.feature, @sf.entry, @sf.exit, etc.). Components from any installed package are automatically discoverable:

from signalflow.core import default_registry, SfComponentType

# signalflow-ta indicators
rsi_cls = default_registry.get(SfComponentType.FEATURE, "momentum/rsi")

# signalflow-nn validators
validator_cls = default_registry.get(SfComponentType.VALIDATOR, "temporal_validator")

# Custom components (via entry-point autodiscovery)
custom_cls = default_registry.get(SfComponentType.DETECTOR, "custom/my_detector")

Dependency Chain

signalflow-trading              # Core (required)
├── signalflow-ta               # 189+ indicators
├── signalflow-nn               # Neural network encoders
├── sf-kedro                    # ML pipelines
└── sf-custom                   # User components (entry-point autodiscovery)

Extension packages use Python namespace packages under signalflow.*. Custom packages use signalflow.components entry point for automatic registration.