feat: harden SOXL RSI2 compounding acceptance#290
Conversation
Co-Authored-By: Codex <noreply@openai.com>
🤖 Codex PR Review🚫 Merge blocked: 1 serious issue(s) found in high-risk files 🚫 Blocking IssuesThese issues must be fixed before this PR can be merged: 1. 🟠 [HIGH] Reliability in
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7420f39d0e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-Authored-By: Codex <noreply@openai.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: df47e8fcd7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| metrics = _volatility_metrics_with_soxx(points, soxx, raw_start, raw_end) | ||
| selected_points = points[raw_start - BASELINE_WINDOW_DAYS:raw_end - BASELINE_WINDOW_DAYS + 1] | ||
| selected_soxx = soxx[raw_start - 1:raw_end + 1] |
There was a problem hiding this comment.
Include the prior close in the SOXX drawdown path
selected_soxx correctly starts at raw_start - 1 for the new return/CAGR comparisons, but metrics is built with _volatility_metrics_with_soxx, whose SOXX drawdown still starts at raw_start. Thus, when SOXX falls on the first session of a validation/test/holdout window, the strategy drawdown includes that session relative to its prior-session starting equity while soxx_close_path_max_drawdown omits it. The new final-holdout drawdown gate can therefore incorrectly reject a candidate (or report an incorrect benchmark-relative drawdown); compute the benchmark drawdown over the same prior-close-to-final-close path.
Useful? React with 👍 / 👎.
Implements the frozen T4/S5 acceptance hardening for research-only SOXL RSI(2) evidence.\n\nValidation: focused pytest, cached Ruff, compileall, and git diff --check.