Skip to content

Hyperparameter optimization

Hyperparameter optimization is the process of trying many parameter combinations and measuring which ones produce the best result. HyperOptimizer makes that search work for any Dockerized workload.

A hyperparameter is an input you choose before a run starts. In a trading strategy, that might be a timeframe, stoploss, lookback window, or ATR multiplier. In a model training job, it might be learning rate, batch size, or regularization strength.

HyperOptimizer runs many trials, each with a different parameter set, and ranks them by the objective metrics you choose. You pick a search algorithm (Bayesian / TPE by default) when creating the experiment.

Parameter

A value HyperOptimizer is allowed to change, such as --hpo-lookback-window.

Trial

One container execution with one concrete parameter set.

Objective

The metric that decides what “best” means, such as sharpe, loss, or profit_factor.

Local optimization works until the run takes too long, logs become hard to compare, or multiple researchers need the same experiment history. HyperOptimizer moves scheduling, parallelism, collection, and comparison into managed infrastructure while your code stays yours.

  • Runs on one machine unless you build orchestration.
  • Metrics are often trapped in local logs or notebooks.
  • Restarting, comparing, and sharing runs takes manual work.
  • Runs trials as repeatable containers from your org Images registry.
  • Collects metrics from stdout into a dashboard.
  • Lets your chosen algorithm suggest the next candidates from completed results.

The integration contract is intentionally small: build an image, parse CLI parameters, run one trial, print metrics.

  1. Docker image: Your image contains everything the trial needs.
  2. HPO args: HyperOptimizer appends --hpo-* arguments (or plain --* if configured).
  3. One run: Your program evaluates one parameter set and exits.
  4. Metrics: You print hpo.metrics.* lines to stdout.