Skip to content
TradingTune

Bisection then TPE Refine

Fast deterministic narrow, then a Bayesian polish, in one run.

Quality
Highest
Speed
Moderate
Budget
O(N log N + K log K)

How it works

This is the best of both methods in a single run. Phase one is the complete 3-phase Bisection search: coarse sweep, golden-section narrow, then top-value polish, exactly as the standalone method runs it.

Phase two takes whatever cycle budget is left and hands it to TPE. TPE starts already knowing everything Bisection found, so instead of warming up from scratch it immediately refines around the discovered peak.

You get Bisection's deterministic speed on the broad search plus TPE's Bayesian polish near the optimum, with no manual chaining of two separate runs.

Under the hood

The budget split is adaptive. Bisection runs to its natural plan length (capped by your target), and TPE receives the remainder. If you under-budget the run so Bisection alone exceeds your target, the method degrades cleanly to plain Bisection and TPE simply gets zero cycles.

TPE does not re-seed manually: the rows Bisection produced are already in the history, so TPE's kernel density estimates treat them as prior observations and the refinement is local from the first cycle.

Complexity is roughly Bisection's narrowing cost plus TPE's refinement over the leftover budget K, which is why it lands a notch slower than either part alone but with the highest effectiveness of the seven.

Phase 1
Full Bisection
Phase 2
TPE on remainder
Budget split
Adaptive
Bisection plan, then the rest

Configure Bisection then TPE Refine

How Bisection then TPE Refine is set up and what it does under the hood, as copy-ready reference. Set parameter ranges and the optimization target on the methods overview .

Two-phase plan and budget split

YAML

Bisection then TPE Refine runs a full Bisection search, then hands the leftover cycle budget to TPE, which is seeded by phase one's history and refines around the discovered peak.

phase_1: full-bisection   # coarse sweep, golden-section narrow, then polish
phase_2: tpe-refine       # seeded by phase 1 history, no re-warmup
budget_split: adaptive    # Bisection plan runs first, TPE gets the remainder

When to use it

Reach for it when

  • Most strategies where you want maximum quality from one run
  • When you would otherwise run Bisection and then TPE by hand
  • Medium parameter spaces with a real peak worth polishing

Reach for something else when

  • Very small budgets that Bisection alone would consume
  • Tiny spaces where Brute Force already guarantees the answer

Want to see optimization in action? Browse our strategy backtesting and robustness examples on NVDA, TSLA, and AAPL.

New to this? Read how to run your first optimization or learn how to choose the right optimization method for your strategy.