PublicHyperopt
The lean, anonymous, allowlisted projection of a FROZEN hyperopt result. This is the ENTIRE public surface of a shared hyperopt — it reveals the optimization STORY, never the strategy IP.
REVEALS (all safe): the loss-function name, the epoch count, the optimization SPACES, the tuned dimension NAMES (parameter names only), a normalized convergence curve (best-score-per-epoch, min-max scaled to a 0..100 SHAPE), and a relative score-improvement percent.
NEVER (structurally excluded): the won parameter VALUES (params_dict values — the crown-jewel IP), any absolute capital/stake/money, the raw result JSON / epochs_data / logs / config, owner_id, resource UUIDs, owner PII, or secrets. Built field-by-field; the ent.Hyperopt entity is NEVER embedded.
type PublicHyperopt {
projectionLevel: ShareProjectionLevel!
strategyName: String!
lossFunction: String!
epochs: Int!
spaces: [String!]!
tunedDimensions: [String!]!
convergence: [Float!]!
scoreImprovementPct: Float
timeframe: String
startDate: Time
endDate: Time
}
Fields
PublicHyperopt.projectionLevel ● ShareProjectionLevel! non-null enum
The publisher's chosen projection level (card = teaser, full = all safe fields).
PublicHyperopt.strategyName ● String! non-null scalar
Parent strategy human display name (never the mangled Freqtrade class name).
PublicHyperopt.lossFunction ● String! non-null scalar
Human loss-function label (e.g. 'Sharpe Ratio') — never a value.
PublicHyperopt.epochs ● Int! non-null scalar
Number of optimization epochs run.
PublicHyperopt.spaces ● [String!]! non-null scalar
Optimization spaces (e.g. ['buy','sell','roi']) — high-level categories, never values.
PublicHyperopt.tunedDimensions ● [String!]! non-null scalar
Tuned dimension NAMES (the optimized parameter names, e.g. ['buy_rsi','sell_rsi']), sorted. NAMES ONLY — the won VALUES are the strategy IP and are never included.
PublicHyperopt.convergence ● [Float!]! non-null scalar
Best-score-per-epoch convergence curve, min-max normalized to a 0..100 SHAPE (0 = the first best-so-far, 100 = the final best). Reveals only how fast the search converged — never the absolute loss values. Empty at the card tier or when per-epoch data is unavailable.
PublicHyperopt.scoreImprovementPct ● Float scalar
Relative improvement of the best-so-far loss from the first evaluated epoch to the final best, as a percent. A RELATIVE measure — never an absolute score or money. Null when it cannot be computed safely (sign change / zero baseline).
PublicHyperopt.timeframe ● String scalar
Chart timeframe (e.g. '1h') from the frozen config.
PublicHyperopt.startDate ● Time scalar
Optimization window start (honesty guardrail).
PublicHyperopt.endDate ● Time scalar
Optimization window end (honesty guardrail).
Returned By
publicHyperopt query