Feature Iteration Run #1876: zz_sylvain
Status: completed | Started: 2026-10-04 12:14:25 | Ended: 2026-10-04 14:11:33
📊 Iterations
| Iter | Y Label | Model | Warm | Proxy | Parent FS | Feature | Baseline PF | Modified PF | Scalar Score | Result |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | C8 |
gradient_boosting |
— | — | #1748 | k_rsi_atr_macd_momentum | 2.049 | 1.769 | -0.1039 | ❌ REJECT |
| 2 | C8 |
gradient_boosting |
— | — | #1748 | k_ema_norm_range_pct | 2.049 | 1.340 | -3.6867 | ❌ REJECT |
| 3 | C8 |
gradient_boosting |
— | — | #1748 | k_vol_price_pos | 2.049 | 1.649 | -0.1920 | ❌ REJECT |
📄 Report Markdown
# AUTOLOOP: zz_sylvain (3 iterations)
> **Phase**: Y4.7 Option B (DSL → Python code → FeatureSet candidate)
> **Target indicator**: zz_sylvain
> **Base feature_set_id**: 1748
> **Claim**: (default) Propose a new k_* feature that improves risk-adjusted returns
> **Objective mode**: scalarize
> **Metrics**: ['profit_factor', 'sharpe_ratio', 'win_rate', 'max_drawdown', 'test_accuracy']
> **Total duration**: 7027.84s
> **Total accepted**: 0
> **Total rejected**: 3
## Iterations 詳情
### Iteration 1
- DSL: `rsi_val = ta.rsi(close, 14)
macd_line = ta.ema(close, 12) - ta.ema(close, 26)
macd_norm = macd_line / (ta.atr(high, low, close, 14) + 1e-10)
result = (rsi_val - 50) / (1 + ta.atr(high, low, close, 5) / close) + macd_norm` (feature=k_rsi_atr_macd_momentum)
- DSL valid: True
- FeatureSet candidate id: 1843
- baseline PF: 2.049 → modified PF: 1.769
- t_stat: 0.000, p_value: 0.476, cohens_d: 0.120
- scalar_score: -0.1039
- accepted: False, reason: normalized_score -0.0659 <= 0.0, profit_factor_delta -0.2800 < 0.25, sharpe_delta -3.3876 (-16.31%) < -10%, champion trades 43 < 100 — PF statistically meaningless, hypothesis test not confirmed, DSR gate failed: champion SR=7.0143 ≤ expected_max=4.9782 (N=29 effective trials, PSR=0.9202)
**Metrics summary:**
- profit_factor: baseline=2.049, modified=1.769, diff=-0.280
- sharpe_ratio: baseline=20.771, modified=17.383, diff=-3.388
- win_rate: baseline=0.545, modified=0.558, diff=0.013
- max_drawdown: baseline=0.045, modified=0.040, diff=-0.004
- test_accuracy: baseline=0.988, modified=0.949, diff=-0.038
### Iteration 2
- DSL: `fast_ema = ta.ema(close, 8)
slow_ema = ta.ema(close, 34)
ema_diff = fast_ema - slow_ema
atr_v = ta.atr(high, low, close, 14)
ema_diff_norm = ema_diff / (close * (1 + atr_v / close))
range_n = ta.highest(high, 14) - ta.lowest(low, 14) + 1e-10
result = ema_diff_norm * (1 - 2 * atr_v / range_n)` (feature=k_ema_norm_range_pct)
- DSL valid: True
- FeatureSet candidate id: 1844
- baseline PF: 2.049 → modified PF: 1.340
- t_stat: 0.000, p_value: 0.003, cohens_d: 0.299
- scalar_score: -3.6867
- accepted: False, reason: normalized_score -0.1885 <= 0.0, profit_factor_delta -0.7088 < 0.25, sharpe_delta -13.0903 (-63.02%) < -10%, hypothesis test not confirmed, DSR gate failed: champion SR=4.1806 ≤ expected_max=4.5678 (N=29 effective trials, PSR=0.4622)
**Metrics summary:**
- profit_factor: baseline=2.049, modified=1.340, diff=-0.709
- sharpe_ratio: baseline=20.771, modified=7.681, diff=-13.090
- win_rate: baseline=0.545, modified=0.500, diff=-0.045
- max_drawdown: baseline=0.045, modified=0.125, diff=0.080
- test_accuracy: baseline=0.988, modified=0.987, diff=-0.001
### Iteration 3
- DSL: `denom = high - low
price_pos = denom != 0 ? (close - low) / denom : 0.5
vol_ratio = volume / (ta.sma(volume, 20) + 1e-10)
result = price_pos * vol_ratio` (feature=k_vol_price_pos)
- DSL valid: True
- FeatureSet candidate id: 1845
- baseline PF: 2.049 → modified PF: 1.649
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: -0.1920
- accepted: False, reason: normalized_score -0.1064 <= 0.0, profit_factor_delta -0.4003 < 0.25, sharpe_delta -6.6869 (-32.19%) < -10%, champion trades 61 < 100 — PF statistically meaningless, hypothesis test not confirmed
**Metrics summary:**
- profit_factor: baseline=2.049, modified=1.649, diff=-0.400
- sharpe_ratio: baseline=20.771, modified=14.084, diff=-6.687
- win_rate: baseline=0.545, modified=0.508, diff=-0.037
- max_drawdown: baseline=0.045, modified=0.083, diff=0.038
- test_accuracy: baseline=0.988, modified=0.972, diff=-0.015
📊 Multi-Objective Metrics
Iteration 1: k_rsi_atr_macd_momentum
Y Label: C8 | Parent FS: #1748
Objective mode: scalarize
Scalar score: -0.1039
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.545 | 0.558 | 0.013 |
| max_drawdown | 0.045 | 0.040 | -0.004 |
| sharpe_ratio | 20.771 | 17.383 | -3.388 |
| profit_factor | 2.049 | 1.769 | -0.280 |
| test_accuracy | 0.988 | 0.949 | -0.038 |
Iteration 2: k_ema_norm_range_pct
Y Label: C8 | Parent FS: #1748
Objective mode: scalarize
Scalar score: -3.6867
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.545 | 0.500 | -0.045 |
| max_drawdown | 0.045 | 0.125 | 0.080 |
| sharpe_ratio | 20.771 | 7.681 | -13.090 |
| profit_factor | 2.049 | 1.340 | -0.709 |
| test_accuracy | 0.988 | 0.987 | -0.001 |
Iteration 3: k_vol_price_pos
Y Label: C8 | Parent FS: #1748
Objective mode: scalarize
Scalar score: -0.1920
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.545 | 0.508 | -0.037 |
| max_drawdown | 0.045 | 0.083 | 0.038 |
| sharpe_ratio | 20.771 | 14.084 | -6.687 |
| profit_factor | 2.049 | 1.649 | -0.400 |
| test_accuracy | 0.988 | 0.972 | -0.015 |
📁 Offline Report
Markdown backup: reports/autoloop/zz_sylvain/20261004_221133.md