Pun OHLC ground truth umesto snapshot proxy-ja. qcv2 flipuje u plus (+2.28%), regime_cycle raste na +9.09%. Workhorse ostaje −75%.
Završetak step 4 iz IMPROVEMENT_PLAN_2026-05-08: pun kline-based counterfactual nad prod backup-om. Snapshot proxy validacija (2026-05-09_snapshot_proxy_validation.md) pokazala je da je snapshot biased low ~0.25%; ovde merimo OHLC ground truth.
database/klines_cache.db proširen na 96 simbola (union svih 4 tested generatora) na intervalu 4h, prozor 2026-01-01 → 2026-05-08.tools/analysis/slot_portfolio_counterfactual.py dobio --source {snapshot,klines} flag uz --klines-cache PATH. Refactor uvodi _SnapshotMFESource i _KlineMFESource sa istim API-jem (max_price_in_window).COUNTERFACTUAL_VALIDATION_2026-05-09.md byte-identično (regime_cycle +7.34, qcv2 −3.21, dgl −4.57, gtc −75.33).| Generator | trades | PRE % | snap POST % | kline POST % | kline delta | locked (snap→kline) | no_cov (snap→kline) |
|---|---|---|---|---|---|---|---|
| growth_threshold_regime_cycle | 54 | +4.16 | +7.34 | +9.09 | +4.93 | 13→22 | 22→0 |
| growth_threshold_quality_cycle_v2 | 138 | −10.30 | −3.21 | +2.28 | +12.58 | 24→42 | 72→15 |
| dual_growth_liquidity | 20 | −5.45 | −4.57 | −4.57 | +0.88 | 2→2 | 16→12 |
| growth_threshold_cycle (workhorse) | 7920 | −75.34 | −75.33 | −75.01 | +0.33 | 1092→1604 | 1913→3612 |
| Generator | arm=0.5 | arm=1.0 | arm=1.5 | arm=2.0 |
|---|---|---|---|---|
| regime_cycle | +13.24 | +9.09 | +7.33 | +7.04 |
| qcv2 | +6.73 | +2.28 | −1.32 | −5.08 |
| dgl | −3.53 | −4.57 | −4.57 | −4.57 |
| gtc | −75.18 | −75.01 | −75.48 | −76.46 |
Niži arm = više breakeven izlaza, ne propušta male reverziale. Caveat: counterfactual lock-uje samo trade-ove gde exit_price već pokazuje minus; u realnom trading-u, agresivniji arm bi mogao da pomera trailing stop pre nego što su vinneri imali šansu da kapitalizuju. Ne preporučuje se bezbrzo spuštanje arm-a u live profile-ima — ovo je upper-bound mera.
tools/analysis/train_meta_score.py.cd crypto_scanner
.venv39/Scripts/python.exe -m tools.analysis.slot_portfolio_counterfactual \
--db-path database/crypto_scanner_prod_20260509_safe.db \
--source klines --slots 4 --arm-pct 1.0 \
--generators growth_threshold_regime_cycle growth_threshold_quality_cycle_v2 \
dual_growth_liquidity growth_threshold_cycleIzvor: crypto_scanner/reports/analysis/2026-05-09_kline_counterfactual.md