Instruction file imported from chickenopoulos/thequantgpt-wrapper (
.cursor/rules/45-selection-log.mdc). Copyright stays with the author.
Selection log
- After any backtest, PSA, or
tqg_alpha_mine.pyrun,artifacts/selection.jsonmust exist (the harness writes it). - Quote IS Sharpe, OOS Sharpe, N, k, DSR together. Never IS Sharpe alone. For formulaic mining also quote IS/OOS Rank IC; OOS Rank IC is n/a until
--reveal-oos. - Quote Lo SE / 95% CI and MinBTL when
sharpe_diagnosticsis present. Quote PBO only fromartifacts/pbo.json/ selection; if the PSA return matrix is missing, say PBO is not computable. - Changing the economic rule → new
run_idand--related-tothe prior run (family N carries forward). - Picking a PSA “best” cell as the new canonical spec → N includes the grid. Representative/stable cell is the robustness output, not a silent re-baseline.
- Combining signals or averaging winners → increment k; list
strategy_spec.signals(orensemble_weights/ranking.sub_scores). - Inline candidate loops must call
record_trials(n, kind="inline_grid"). Each newly scored alpha formula is one trial. report.mdis rules + metrics. Economic narrative is labeled interpretation, not evidence.- Do not present
IS − DSRorIS − nullas a live Sharpe forecast. DSR and the null measure manufactured IS Sharpe. - Do not fail packaging because DSR is low. Fail only if the selection log cannot be written.