Repository navigation
research(exits): partial exits against the live trailing exit (#584) - #654
Merged
Merged
Conversation
…designs (#584) Optional PartialPlan in live_rules_sim (design 1 shrink the stop, 2 software targets, 3 per-tranche orders), optional stop slippage; the #539 modes are unchanged (243 blocks identical to the committed results). New runner scripts/research/partial_exits.py, results and write-up, and the #584 family in the multiple-testing audit (216 tests: Holm 0, BH 0). Tests on hand-built bars for the fill rules of all three designs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Measures the three designs in #584 against the live evening-only trailing exit. Research only: the routines, the CLI and
PartialExitManagerare untouched.Result
No design beats the live exit by more than noise. Nothing survives correction: 216 tests, Holm 0, BH 0; pooled with the GEX, #539 and #623 families (723 tests), Holm 0, BH 0.
Sharpe difference from the baseline. SELL exits off, moderate sizing, 5 bps, 2009 to 2026-10-09; baseline 0.808 [0.334, 1.291].
D1h and D1x are design 1 (shrink the stop), with unprotected shares left resting or sold at the next open. D2 is software targets. D3 is per-tranche orders.
Changes
src/backtesting/live_rules_sim.py:PartialPlan,LiveRules.partial,stop_slip_bps,stop_slip_gap_only, all off by default.scripts/research/partial_exits.py: the runner.scripts/research/multiple_testing_audit.pyand its YAML: a Partial exits, design 2: opt-in software targets sold by the routines #584 family.docs/08_research/03_strategy_research/partial_exits.mdandresults/.Checks
The unchanged #539 runner reproduced its committed JSON (timestamp aside), and the #539 modes match in all 243 compared blocks after the simulator change. New tests use hand-built bars, covering each design's fills, look-ahead and default-off identity.
Refs #584