Limen — Research engine
Manifest-driven Bitcoin alpha research engine that turns market data into searchable signals, backtested outcomes, and decoder cohorts.
Limen unifies parameter search across machine learning and rule-based strategies. Built-in analytics record benchmark, backtest, and cohort artifacts for inspection. The project evolves from Talos, a hyperparameter optimization framework for TensorFlow and Keras.
What Limen Is Not
Limen is not:
- a trade execution system
- a downstream trade decision engine
- a generic multi-asset research platform
In the wider Vaquum architecture, Origo sits upstream as the data layer. Nexus, Praxis, and Veritas sit downstream for decisioning, execution, and oversight.
Capabilities
- Manifest-driven experiment pipelines
- Search across models, rules, features, targets, and hyperparameters
- Built-in indicator and feature library for Bitcoin research
- Support for both machine learning and rule-based strategy research
- Bitcoin-native transforms, scaling, and target construction
- Perturbation-based robustness search across feature groups, scalers, and ablation
- Split-first train, validation, and test workflows
- Built-in benchmark, backtest, and parameter diagnostics
- Decoder cohort construction with pluggable selection
- Reproducible runs with checkpointing, resumption, and validated round replay
First Experiment
The first runnable path is a YAML manifest executed through the limen CLI.
- Install the package:
pip install "vaquum-limen[data]"
Supported runtime: Limen requires Python >=3.10,<3.14; package metadata advertises Python 3.10-3.13 on macOS and Linux. The first experiment reads Arrow data, so it needs the data extra. The default install is intentionally light for API surfaces that do not load data. Use vaquum-limen[boosting] for LightGBM/XGBoost models, vaquum-limen[indicators] for TA-Lib comparison tooling, vaquum-limen[stats] for statistical helpers, or vaquum-limen[all] for the full research stack. Security support covers the latest released Limen version through SECURITY.md.
- Scaffold a starter manifest:
limen init logreg-first.yaml --template logreg_binary
- Validate, profile, and dry-run the manifest:
limen validate logreg-first.yaml
limen profile logreg-first.yaml
limen run --dry-run logreg-first.yaml
- Run it:
limen run logreg-first.yaml
- Inspect the result directory printed by the CLI:
- copied YAML manifest
metadata.jsonresults.csvround_data.jsonl
That path runs the manifest-backed engine without Python orchestration code. The Python API remains available for custom SFDs, custom prep/model logic, and direct UEL integration.
Risk Boundary
Limen is research software. Benchmark and backtest outputs are not investment advice, trading advice, execution simulation, regulatory approval, or a promise of future performance. Past performance is not predictive, and trading digital assets can result in total loss of capital.
Learn more
- Start with the full documentation hub
- See planned direction in the Roadmap and the security posture in the Security Assurance Case
- Start with the YAML/CLI path in Command-Line Interface and Experiment Manifest
- Use Universal Experiment Loop for the engine beneath CLI and direct Python integration
- Define extension research units in Single-File Decoder and Built-In SFDs
- Strengthen the research surface with Perturbation Strategies for robustness, Fractional Differentiation for stationary features, and Triple-Barrier Method for path-dependent labels
- Analyze results in Log, Benchmark, and Backtest
- Promote finished runs into reusable outputs with Trainer and Cohort
- Contribute through CONTRIBUTING.md and Developer docs
Contributing
Contribution starts through CONTRIBUTING.md, docs changes, or open issues.
Before contributing, start with the Developer docs.
Support
Use SUPPORT.md for support routes and scope boundaries.
Vulnerabilities
Report vulnerabilities privately through GitHub Security Advisories. Do not report vulnerabilities through public issues.
Citations
Published work should cite:
Vaquum Limen [Computer software]. (2026). Retrieved from GitHub.
Machine-readable citation metadata lives in CITATION.cff.
