|
| 1 | +# Regime Trend v1 — Frozen Robustness Plan |
| 2 | + |
| 3 | +Status: **Frozen before robustness results are viewed** |
| 4 | + |
| 5 | +This plan evaluates the already frozen `regime-trend-v1` baseline. It is not an optimization plan. No result from these checks may be used to replace the baseline parameters or select a better-looking neighbor. |
| 6 | + |
| 7 | +## 1. Data boundary |
| 8 | + |
| 9 | +Only these partitions may be read: |
| 10 | + |
| 11 | +- Development: 2019-01-01 through 2022-12-31 UTC |
| 12 | +- Validation: 2023-01-01 through 2024-12-31 UTC |
| 13 | + |
| 14 | +The final holdout beginning 2025-01-01 remains closed. |
| 15 | + |
| 16 | +## 2. Symbol-distribution gate |
| 17 | + |
| 18 | +Report BTCUSDT, ETHUSDT and BNBUSDT separately. |
| 19 | + |
| 20 | +For validation: |
| 21 | + |
| 22 | +- total net PnL must remain positive, |
| 23 | +- no single symbol may contribute more than 60% of the sum of positive symbol profits, |
| 24 | +- symbols with negative net PnL remain visible and are not excluded. |
| 25 | + |
| 26 | +This gate prevents one exceptional symbol from hiding weak cross-asset behavior. |
| 27 | + |
| 28 | +## 3. Chronological-block gate |
| 29 | + |
| 30 | +Validation is divided into eight fixed calendar quarters: |
| 31 | + |
| 32 | +- 2023-Q1 through 2024-Q4. |
| 33 | + |
| 34 | +Every quarter is counted, including quarters with zero trades. |
| 35 | + |
| 36 | +Pass condition: |
| 37 | + |
| 38 | +- at least 5 of 8 quarters must have positive net expectancy. |
| 39 | + |
| 40 | +Annual 2023 and 2024 results are also reported but are descriptive rather than a separate pass gate. |
| 41 | + |
| 42 | +## 4. Doubled-cost stress |
| 43 | + |
| 44 | +The frozen baseline uses: |
| 45 | + |
| 46 | +- commission: 0.10% per side, |
| 47 | +- slippage: 0.05% per side. |
| 48 | + |
| 49 | +The stress run uses: |
| 50 | + |
| 51 | +- commission: 0.20% per side, |
| 52 | +- slippage: 0.10% per side. |
| 53 | + |
| 54 | +All fills, fees, stops and trade outcomes are recalculated from the strategy engine. Existing trade ledgers are not merely repriced. |
| 55 | + |
| 56 | +Pass condition on validation: |
| 57 | + |
| 58 | +- total net PnL remains non-negative, |
| 59 | +- profit factor remains at least 1.00. |
| 60 | + |
| 61 | +## 5. One-factor parameter-neighborhood test |
| 62 | + |
| 63 | +The frozen baseline remains unchanged. Each neighbor changes exactly one parameter while all others stay at baseline. |
| 64 | + |
| 65 | +Neighbors: |
| 66 | + |
| 67 | +- EMA fast: 45, 55 |
| 68 | +- EMA slow: 180, 220 |
| 69 | +- Donchian lookback: 18, 22 |
| 70 | +- normalized ATR floor: 0.0045, 0.0055 |
| 71 | +- initial stop ATR multiple: 2.25, 2.75 |
| 72 | +- trailing stop ATR multiple: 2.70, 3.30 |
| 73 | + |
| 74 | +There are 12 neighbors. No combinatorial grid is allowed. |
| 75 | + |
| 76 | +Pass condition on validation: |
| 77 | + |
| 78 | +- at least 7 of 12 neighbors have positive total net PnL, |
| 79 | +- median neighbor profit factor is at least 1.00, |
| 80 | +- no more than 3 neighbors have profit factor below 0.90. |
| 81 | + |
| 82 | +A neighbor with no closed trades fails the positive-net count and is reported with an undefined profit factor. |
| 83 | + |
| 84 | +## 6. Overall robustness classification |
| 85 | + |
| 86 | +The robustness stage passes only if all three gates pass: |
| 87 | + |
| 88 | +1. symbol distribution, |
| 89 | +2. chronological blocks, |
| 90 | +3. doubled costs, |
| 91 | +4. parameter neighborhood. |
| 92 | + |
| 93 | +All four are required despite the numbering above. A failure does not permit retuning against validation. The baseline is either advanced unchanged to independent Pine parity work or stopped as `regime-trend-v1`. |
| 94 | + |
| 95 | +The final holdout remains unopened during this stage. |
0 commit comments