NautilusTrader Integration

Optimize Nautilus strategies without managing infrastructure

Build a Docker image of your NautilusTrader backtest, configure parameter ranges in the dashboard, and let Bayesian optimization find the best settings. We run the trials; you read the leaderboard.

Why HyperOptimizer for NautilusTrader?

High-performance optimization for high-performance trading

Smarter than manual tuning

Stop guessing lookback windows and multipliers. Bayesian optimization systematically explores your parameter space and converges on the best configuration.

Parallel backtests

Run multiple Nautilus backtests simultaneously. Each trial gets its own container; no contention, no shared state. Results come in faster.

Your strategy stays private

Your Nautilus strategy runs inside an isolated container. We never see your source code, trading logic, or historical data. Only the metric lines you print.

Clear results

Leaderboard ranked by Sharpe, PnL, or any custom metric. Convergence plots and Pareto frontiers for multi-objective experiments like return vs. drawdown.

How it works

From backtest to optimized in three steps

1

Dockerize your backtest

Package your Nautilus engine, strategy, data, and dependencies in a Docker image. Set the default command to your backtest script.

2

Parse args & emit metrics

Read --hpo-* flags, run engine.run(), and print metrics from engine.get_result().

3

Read the leaderboard

We run parallel trials, use Bayesian optimization to explore the parameter space, and surface the best strategy configurations in the dashboard.

Example

Emit backtest results as metrics

After engine.run()
result = engine.get_result()

metrics = {
    "total_pnl": float(result.stats_pnls.get("PnL", 0)),
    "total_orders": result.total_orders,
    "elapsed_time": result.elapsed_time,
}

for key, value in metrics.items():
    print(f"hpo.metrics.{key}={json.dumps(value, default=str)}")

More integrations

Other ways to use HyperOptimizer

HyperOptimizer is Docker-native. Any framework that runs in a container works out of the box.

Optimize your Nautilus strategy

Follow the NautilusTrader integration guide for a step-by-step walkthrough with full code examples.