Skip to content

Commit a809db2

Browse files
committed
docs: freeze Regime Trend v1 robustness plan
1 parent d2c2c75 commit a809db2

1 file changed

Lines changed: 95 additions & 0 deletions

File tree

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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

Comments
 (0)