Feature Iteration Run #1025: zz_sylvain
Status: completed | Started: 2026-07-26 15:37:42 | Ended: 2026-07-26 15:40:53
📊 Iterations
| Iter | Y Label | Model | Warm | Proxy | Parent FS | Feature | Baseline PF | Modified PF | Scalar Score | Result |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | C8 |
lightgbm |
— | — | #7 | k_loop_iter_1_b1169a | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 2 | C8 |
lightgbm |
— | — | #7 | k_iter2_k_high_pct_change_atr_norm_price_position | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 3 | C8 |
lightgbm |
— | — | #7 | k_iter3_i_rsi_k_close_hl_range_atr_norm | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 4 | C8 |
lightgbm |
— | — | #7 | k_loop_iter_4_675ba5 | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 5 | C8 |
lightgbm |
— | — | #7 | k_loop_iter_5_73ff25 | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 6 | C8 |
lightgbm |
— | — | #7 | k_loop_iter_6_785fe7 | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 7 | C8 |
lightgbm |
— | — | #7 | k_loop_iter_7_989ca1 | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 8 | C8 |
lightgbm |
— | — | #7 | k_loop_iter_8_b92879 | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 9 | C8 |
lightgbm |
— | — | #7 | k_iter9_i_atr_k_high_k_low_k_close | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 10 | C8 |
lightgbm |
— | — | #7 | k_iter10_k_volume_rolling_mean_i_atr | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 11 | C8 |
lightgbm |
— | — | #7 | k_iter11_i_macd_k_close_i_atr_k_high | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 12 | C8 |
lightgbm |
— | — | #7 | k_iter12_i_macd_k_close_pct_change_i_atr | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 13 | C8 |
lightgbm |
— | — | #7 | k_loop_iter_13_718686 | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 14 | C8 |
lightgbm |
— | — | #7 | k_iter14_i_macd_k_close_i_rsi_atr_norm | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 15 | C8 |
lightgbm |
— | — | #7 | k_iter15_abs_k_volume_rolling_mean | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
📄 Report Markdown
# AUTOLOOP: zz_sylvain (15 iterations)
> **Phase**: Y4.7 Option B (DSL → Python code → FeatureSet candidate)
> **Target indicator**: zz_sylvain
> **Base feature_set_id**: 7
> **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**: 190.70s
> **Total accepted**: 0
> **Total rejected**: 15
## Iterations 詳情
### Iteration 1
- DSL: `o_div_amplitude_12 * (1 - price_position) / (1 + atr_norm * k_momentum_pct_change.abs())` (feature=k_loop_iter_1_b1169a)
- DSL valid: True
- FeatureSet candidate id: 1358
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: 1-trial proxy PF=0.000 < 0.95, no improvement expected
### Iteration 2
- DSL: `k_high.pct_change(12) / (1 + atr_norm) * (1 - price_position) * (1 - dist_to_high) * (1 + hl_range) / (1 + return_5)` (feature=k_iter2_k_high_pct_change_atr_norm_price_position)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: quality_gate: C8 leakage: ['dist_to_high']
### Iteration 3
- DSL: `i_rsi(k_close, 14) * (1 + hl_range) / (1 + atr_norm)` (feature=k_iter3_i_rsi_k_close_hl_range_atr_norm)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: quality_gate: NaN ratio 1.000 exceeds 0.3
### Iteration 4
- DSL: `k_volume.pct_change(12) * (1 - hl_range) / (1 + atr_norm) * (1 - return_5)` (feature=k_loop_iter_4_675ba5)
- DSL valid: True
- FeatureSet candidate id: 1359
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: 1-trial proxy PF=0.000 < 0.95, no improvement expected
### Iteration 5
- DSL: `i_macd(k_close, 12, 26, 9) * obv_rebased.pct_change(12) / (1 + i_atr(k_high, k_low, k_close, 14) / k_close)` (feature=k_loop_iter_5_73ff25)
- DSL valid: True
- FeatureSet candidate id: 1360
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: 1-trial proxy PF=0.000 < 0.95, no improvement expected
### Iteration 6
- DSL: `k_momentum_pct_change * obv_ensemble_3 / (1 + atr_norm * 10) * (1 - price_position)` (feature=k_loop_iter_6_785fe7)
- DSL valid: True
- FeatureSet candidate id: 1361
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: 1-trial proxy PF=0.000 < 0.95, no improvement expected
### Iteration 7
- DSL: `(o_div_amplitude_12 - k_momentum_pct_change) / (1 + atr_norm)` (feature=k_loop_iter_7_989ca1)
- DSL valid: True
- FeatureSet candidate id: 1362
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: 1-trial proxy PF=0.000 < 0.95, no improvement expected
### Iteration 8
- DSL: `i_macd(k_close, 12, 26, 9) / (1 + atr_norm * 10) * (1 - price_position)` (feature=k_loop_iter_8_b92879)
- DSL valid: True
- FeatureSet candidate id: 1363
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: 1-trial proxy PF=0.000 < 0.95, no improvement expected
### Iteration 9
- DSL: `i_atr(k_high, k_low, k_close, 14) / k_close * (1 - i_rsi(k_close, 14) / 100)` (feature=k_iter9_i_atr_k_high_k_low_k_close)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: quality_gate: NaN ratio 1.000 exceeds 0.3
### Iteration 10
- DSL: `(k_volume / (k_volume.rolling(20).mean() + 1e-10) - 1) * i_atr(k_high, k_low, k_close, 14) / k_close` (feature=k_iter10_k_volume_rolling_mean_i_atr)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: safe_eval DSL produces inf when ['k_close'] is zero; avoid unprotected division by these variables
### Iteration 11
- DSL: `i_macd(k_close, 12, 26, 9) / (1 + i_atr(k_high, k_low, k_close, 14) / k_close * 10) * i_rsi(k_close, 14) / 100` (feature=k_iter11_i_macd_k_close_i_atr_k_high)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: quality_gate: NaN ratio 1.000 exceeds 0.3
### Iteration 12
- DSL: `i_macd(k_close, 12, 26, 9) * obv_rebased.pct_change / (1 + i_atr(k_high, k_low, k_close, 14))` (feature=k_iter12_i_macd_k_close_pct_change_i_atr)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: safe_eval DSL triggered unexpected TypeError: unsupported operand type(s) for *: 'float' and 'method'
### Iteration 13
- DSL: `(k_momentum_pct_change - o_div_amplitude_12) / (1 + atr_norm * 10) * (1 - return_5)` (feature=k_loop_iter_13_718686)
- DSL valid: True
- FeatureSet candidate id: 1364
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: 1-trial proxy PF=0.000 < 0.95, no improvement expected
### Iteration 14
- DSL: `i_macd(k_close, 12, 26, 9) / (k_close + 1e-10) * (1 - i_rsi(k_close, 14) / 100) / (1 + atr_norm * 10)` (feature=k_iter14_i_macd_k_close_i_rsi_atr_norm)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: quality_gate: NaN ratio 1.000 exceeds 0.3
### Iteration 15
- DSL: `abs(o_div_binary(48)) * k_volume.rolling.mean / (1 + i_atr(k_high, k_low, k_close, 14) / k_close * 10)` (feature=k_iter15_abs_k_volume_rolling_mean)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: safe_eval DSL: 變數未定義: abs
📊 Multi-Objective Metrics
Iteration 1: k_loop_iter_1_b1169a
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 2: k_iter2_k_high_pct_change_atr_norm_price_position
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 3: k_iter3_i_rsi_k_close_hl_range_atr_norm
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 4: k_loop_iter_4_675ba5
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 5: k_loop_iter_5_73ff25
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 6: k_loop_iter_6_785fe7
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 7: k_loop_iter_7_989ca1
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 8: k_loop_iter_8_b92879
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 9: k_iter9_i_atr_k_high_k_low_k_close
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 10: k_iter10_k_volume_rolling_mean_i_atr
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 11: k_iter11_i_macd_k_close_i_atr_k_high
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 12: k_iter12_i_macd_k_close_pct_change_i_atr
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 13: k_loop_iter_13_718686
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 14: k_iter14_i_macd_k_close_i_rsi_atr_norm
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 15: k_iter15_abs_k_volume_rolling_mean
Y Label: C8 | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
📁 Offline Report
Markdown backup: reports/autoloop/zz_sylvain/20260726_234053.md