About this project
predictor is a research-oriented deep-learning platform for time-series forecasting and classification. It trains, evaluates, and optimizes Keras/TensorFlow models — including ANN, CNN, LSTM, Transformer, TCN, TFT, N-BEATS, MIMO, and binary/direction classifier variants — through a plugin architecture where predictor, optimizer, pipeline, preprocessor, and target-calculation plugins are selected by name from JSON configs. Experiments are organized as numbered phases under examples/config/, each phase a reproducible sweep over architectures, dataset sizes, and horizons.
Key features:
- Plugin-based architecture: predictor, optimizer, pipeline, preprocessor, and target plugins are resolved via entry points, allowing flexible composition.
- Multiple model architectures: ANN, CNN, LSTM, Transformer, TCN, TFT, N-BEATS, MIMO, plus binary and direction classifier variants.
- Hyperparameter optimization: DEAP genetic algorithm and NEAT optimizers.
- Phased experiment structure: configs for sweeps over dataset sizes, horizons, and architectures, with daily and hourly variants.
- Reproducible outputs: predictions CSV, metrics, plots, trained .keras models with metadata, and merged effective config for reproducibility.
- Integration with sibling repositories: prediction_provider serves trained models via FastAPI; feature-eng and feature-extractor handle feature/label engineering; doin-node provides distributed collaborative optimization.
Status: Research software under active development. All training and evaluation happens offline on historical data (simulation/backtest). Model outputs are research artifacts, not trading signals; nothing in this repository is financial advice, and no real-capital execution happens here.
Installation: Clone, pip install -r requirements.txt, pip install -e . (installs the predictor console script). Requires Python 3.12 (verified with 3.12.13, TensorFlow 2.21.0). CUDA GPU optional but recommended.
Smallest working example: Run CLI help and a bounded CPU example using the bundled daily dataset. See README for exact commands.
Tests: The legacy pytest suite is stale and fails at import; a sanity check on plugin_loader passes. Known limitations are documented.
License: MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.