Skip to main content

HyperoptSummary

Typed summary of hyperopt results with best parameters and performance metrics

type HyperoptSummary {
totalEpochs: Int!
bestEpoch: Int!
bestLoss: Float!
bestParams: [HyperoptBestParam!]
totalTrades: Int!
winRate: Float
totalProfit: Float
totalProfitPct: Float
maxDrawdown: Float
maxDrawdownPct: Float
sharpeRatio: Float
sortinoRatio: Float
profitFactor: Float
avgTradeDuration: String
expectancy: Float
eligibleEpochs: Int
degenerate: Boolean
}

Fields​

HyperoptSummary.totalEpochs ● Int! non-null scalar​

Total number of epochs executed

HyperoptSummary.bestEpoch ● Int! non-null scalar​

Epoch number that produced the best result

HyperoptSummary.bestLoss ● Float! non-null scalar​

Best loss/objective value achieved

HyperoptSummary.bestParams ● [HyperoptBestParam!] list object​

Best hyperparameters found by the optimizer

HyperoptSummary.totalTrades ● Int! non-null scalar​

Number of trades in the best epoch

HyperoptSummary.winRate ● Float scalar​

Win rate of the best epoch

HyperoptSummary.totalProfit ● Float scalar​

Total profit of the best epoch

HyperoptSummary.totalProfitPct ● Float scalar​

Total profit percentage

HyperoptSummary.maxDrawdown ● Float scalar​

Maximum drawdown

HyperoptSummary.maxDrawdownPct ● Float scalar​

Maximum drawdown percentage

HyperoptSummary.sharpeRatio ● Float scalar​

Sharpe ratio

HyperoptSummary.sortinoRatio ● Float scalar​

Sortino ratio

HyperoptSummary.profitFactor ● Float scalar​

Profit factor

HyperoptSummary.avgTradeDuration ● String scalar​

Average trade duration

HyperoptSummary.expectancy ● Float scalar​

Expectancy ratio

HyperoptSummary.eligibleEpochs ● Int scalar​

How many of the run's epochs cleared the eligibility floor (minTrades / minProfitFactor). The reported best epoch is the lowest-loss one AMONG these.

NULL means the run carries no eligibility verdict — its summary predates the floor, or its epoch data could not be read. That is NOT the same as zero, and must not be rendered as "no eligible epochs".

HyperoptSummary.degenerate ● Boolean scalar​

True when NO epoch cleared the floor. The best-loss epoch is still reported so the search is visible, but its parameters are not a result: applying them is refused, and they should not be published or pinned.

NULL means not assessed — see eligibleEpochs.

Member Of​

Hyperopt object