Amyth
AppMarketMarketplaceRanksLeaderboardDocs
Docs Home
OverviewSet Up a WalletGet USDC on SolanaYour First Vault
OverviewStrategy PresetsThe OptimizerDeposit & Withdraw
OverviewWire Your First AlertTroubleshooting
OverviewSubscribingBecoming a CreatorPublish Quality Gates
OverviewVault ArchitectureOnchain Risk RailsVerify a Vault
OverviewThe Master ChartNotifications & SharingLeaderboard
FAQ
Glossary
DocsPerps BasketsThe Optimizer
Perps Baskets

How the Optimizer Works

Every ~22 hours, Amyth's backtest engine runs thousands of simulations to find the best parameters for your strategy. Here's exactly what happens under the hood.

The 22-hour cycle

1
Fetch data~2 min

Pull real candle data from Birdeye for BTC, ETH, and SOL across all supported cadences (5m, 15m, 30m, 1h, 2h).

2
Stage A: Wide LHS~5 min

Sample hundreds of parameter combinations across the full schema using Latin Hypercube Sampling, a smarter version of random search that covers the space more evenly. Ranked by Calmar (return ÷ max drawdown).

3
Stage B: Coarse refine~5 min

Take the top 10 candidates from Stage A and refine each with coordinate descent, tweaking one parameter at a time to find the local Calmar optimum.

4
Stage C: Bounded LHS~5 min

Build a tight bounding box around the elite Stage-B winners and resample inside it, now ranking by raw return to maximize PnL within the proven-good region.

5
Stage D: Fine refine~5 min

Coordinate descent again on the Stage-C winners, polishing parameters for maximum return.

6
Stage E: Full-window eval~2 min

Re-score the final candidates on the full window for an honest, unbiased PnL number. Quality gates run here before any winner ships.

7
Shipinstant

Deliver the validated parameters to all running bots. Your vault picks up the new DNA on its next cron tick.

What the optimizer can and can't change

✓ Optimizer tunes these

  • Entry thresholds (z-score, breakout period, etc.)
  • Stop-loss distances (ATR multiples)
  • Take-profit targets
  • Indicator periods (moving average lengths, etc.)
  • Conviction gates (minimum signal strength)
  • Hold period limits

✗ These stay locked

  • Your max leverage cap
  • Your chosen strategy type
  • Your selected assets (BTC/ETH/SOL)
  • Your drawdown limit
  • The cadence (evaluation frequency)
  • Deposit and withdrawal permissions

Quality gates

Not every backtest result gets shipped. Each winning parameter set must clear these gates:

✓
Sample size: Enough trades to be statistically meaningful. Prevents overfitting to a handful of lucky trades.
✓
Positive expectancy: Average return per trade must be positive after accounting for fees and slippage estimates.
✓
Drawdown bounds: Maximum drawdown during the backtest window must stay within acceptable limits.
✓
Win-rate sanity: Win rate must be realistic. Suspiciously high win rates (90%+) are rejected as likely overfitting.
✓
Regime coverage: The parameter set must have been tested across multiple market regimes, not just one favorable period.
ℹ️Transparent by default

Every optimizer run is logged. You can see when your bot last received an optimizer update in the activity log. The backtest results that powered the update are visible in the app's strategy carousel, showing recent window performance for each preset×cadence cell.

Was this page helpful?
← PreviousStrategy PresetsNext →Deposit & Withdraw