Feature Iteration Run #835: zz_sylvain
Status: completed | Started: 2026-07-21 07:52:05 | Ended: 2026-07-21 07:56:29
⭐ Best Accepted Iteration
Iteration 8: k_high.pct_change(12) * (1 + hl_range) * (1 - dist_to_high)…
baseline PF: 1.947 → modified PF: 2.610 | Cohen's d: 0.618 | p-value: 0.000
📊 Iterations
| Iter | Y Label | Model | Warm | Proxy | Parent FS | Feature | Baseline PF | Modified PF | Scalar Score | Result |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | — |
gradient_boosting |
— | — | #7 | k_loop_iter_6_301c87 | 1.947 | 2.466 | 0.6193 | ✅ ACCEPT |
| 2 | — |
gradient_boosting |
— | — | #7 | k_loop_iter_2_1a1aba | 1.947 | 2.466 | 1.3886 | ✅ ACCEPT |
| 3 | — |
gradient_boosting |
— | — | #7 | k_loop_iter_3_3b108c | 1.947 | 0.775 | -3.3916 | ❌ REJECT |
| 4 | — |
gradient_boosting |
— | — | #7 | k_loop_iter_4_5819f2 | 1.947 | 2.466 | 1.3886 | ✅ ACCEPT |
| 5 | — |
gradient_boosting |
— | — | #7 | k_loop_iter_5_2727df | 1.947 | 2.466 | 1.3886 | ✅ ACCEPT |
| 6 | — |
gradient_boosting |
— | — | #7 | k_iter6_k_momentum_pct_chang_hl_range_i_rsi_k_close | 0.000 | 0.000 | 0.0000 | ❌ REJECT |
| 7 | — |
gradient_boosting |
— | — | #7 | k_loop_iter_7_ea31d7 | 1.947 | 2.401 | 0.9424 | ✅ ACCEPT |
| 8 | — |
gradient_boosting |
— | — | #7 | k_loop_iter_8_94dd57 | 1.947 | 2.610 | 2.1204 | ✅ ACCEPT |
📄 Report Markdown
# AUTOLOOP: zz_sylvain (8 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**: 263.45s
> **Total accepted**: 6
> **Total rejected**: 2
## Iterations 詳情
### Iteration 1
- DSL: `k_high.pct_change(12) / (1 + atr_norm) * (1 - price_position) * (1 - dist_to_high)` (feature=k_loop_iter_6_301c87)
- DSL valid: True
- FeatureSet candidate id: 1159
- baseline PF: 1.947 → modified PF: 2.466
- t_stat: 0.000, p_value: 0.296, cohens_d: 0.211
- scalar_score: 0.6193
- accepted: True, reason: accepted
**Metrics summary:**
- profit_factor: baseline=1.947, modified=2.466, diff=0.519
- sharpe_ratio: baseline=19.162, modified=24.727, diff=5.565
- win_rate: baseline=0.600, modified=0.636, diff=0.036
- max_drawdown: baseline=0.056, modified=0.050, diff=-0.006
- test_accuracy: baseline=0.992, modified=0.992, diff=-0.000
### Iteration 2
- DSL: `k_high.pct_change(12) * (1 + hl_range) * (1 - price_position) * (1 - dist_to_low)` (feature=k_loop_iter_2_1a1aba)
- DSL valid: True
- FeatureSet candidate id: 1160
- baseline PF: 1.947 → modified PF: 2.466
- t_stat: 0.000, p_value: 0.012, cohens_d: 0.388
- scalar_score: 1.3886
- accepted: True, reason: accepted
**Metrics summary:**
- profit_factor: baseline=1.947, modified=2.466, diff=0.519
- sharpe_ratio: baseline=19.162, modified=24.727, diff=5.565
- win_rate: baseline=0.600, modified=0.636, diff=0.036
- max_drawdown: baseline=0.056, modified=0.050, diff=-0.006
- test_accuracy: baseline=0.992, modified=0.992, diff=-0.000
### Iteration 3
- DSL: `k_momentum_pct_change / (1 + o_div_amplitude_12) * (1 + hl_range)` (feature=k_loop_iter_3_3b108c)
- DSL valid: True
- FeatureSet candidate id: 1161
- baseline PF: 1.947 → modified PF: 0.775
- t_stat: 0.000, p_value: 0.278, cohens_d: 0.577
- scalar_score: -3.3916
- accepted: False, reason: min_p=0.278 ≥ 0.05, constraints: ['sharpe_ratio >= 1.0: got -7.5544']
**Metrics summary:**
- profit_factor: baseline=1.947, modified=0.775, diff=-1.172
- sharpe_ratio: baseline=19.162, modified=-7.554, diff=-26.717
- win_rate: baseline=0.600, modified=0.424, diff=-0.176
- max_drawdown: baseline=0.056, modified=0.131, diff=0.075
- test_accuracy: baseline=0.992, modified=0.992, diff=-0.001
### Iteration 4
- DSL: `k_high.pct_change(12) * (1 + hl_range) * (1 - dist_to_high) * (1 - price_position) * (1 - dist_to_low)` (feature=k_loop_iter_4_5819f2)
- DSL valid: True
- FeatureSet candidate id: 1162
- baseline PF: 1.947 → modified PF: 2.466
- t_stat: 0.000, p_value: 0.012, cohens_d: 0.388
- scalar_score: 1.3886
- accepted: True, reason: accepted
**Metrics summary:**
- profit_factor: baseline=1.947, modified=2.466, diff=0.519
- sharpe_ratio: baseline=19.162, modified=24.727, diff=5.565
- win_rate: baseline=0.600, modified=0.636, diff=0.036
- max_drawdown: baseline=0.056, modified=0.050, diff=-0.006
- test_accuracy: baseline=0.992, modified=0.992, diff=-0.000
### Iteration 5
- DSL: `k_high.pct_change(12) * (1 + hl_range) * (1 - dist_to_high) * (1 + return_5)` (feature=k_loop_iter_5_2727df)
- DSL valid: True
- FeatureSet candidate id: 1163
- baseline PF: 1.947 → modified PF: 2.466
- t_stat: 0.000, p_value: 0.012, cohens_d: 0.388
- scalar_score: 1.3886
- accepted: True, reason: accepted
**Metrics summary:**
- profit_factor: baseline=1.947, modified=2.466, diff=0.519
- sharpe_ratio: baseline=19.162, modified=24.727, diff=5.565
- win_rate: baseline=0.600, modified=0.636, diff=0.036
- max_drawdown: baseline=0.056, modified=0.050, diff=-0.006
- test_accuracy: baseline=0.992, modified=0.992, diff=-0.000
### Iteration 6
- DSL: `k_momentum_pct_change / (1 + o_div_amplitude(12)) * (1 + hl_range) * i_rsi(k_close, 14) / 100` (feature=k_iter6_k_momentum_pct_chang_hl_range_i_rsi_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: safe_eval DSL: 變數未定義: o_div_amplitude
### Iteration 7
- DSL: `k_high.pct_change(12) * (1 + hl_range) * (1 - dist_to_high) * (1 - price_position) * i_rsi(k_close, 14) / 100` (feature=k_loop_iter_7_ea31d7)
- DSL valid: True
- FeatureSet candidate id: 1164
- baseline PF: 1.947 → modified PF: 2.401
- t_stat: 0.000, p_value: 0.021, cohens_d: 0.388
- scalar_score: 0.9424
- accepted: True, reason: accepted
**Metrics summary:**
- profit_factor: baseline=1.947, modified=2.401, diff=0.453
- sharpe_ratio: baseline=19.162, modified=23.405, diff=4.243
- win_rate: baseline=0.600, modified=0.548, diff=-0.052
- max_drawdown: baseline=0.056, modified=0.056, diff=0.000
- test_accuracy: baseline=0.992, modified=0.992, diff=-0.001
### Iteration 8
- DSL: `k_high.pct_change(12) * (1 + hl_range) * (1 - dist_to_high) * i_macd(k_close, 12, 26, 9) / (1 + atr_norm)` (feature=k_loop_iter_8_94dd57)
- DSL valid: True
- FeatureSet candidate id: 1165
- baseline PF: 1.947 → modified PF: 2.610
- t_stat: 0.000, p_value: 0.000, cohens_d: 0.618
- scalar_score: 2.1204
- accepted: True, reason: accepted
**Metrics summary:**
- profit_factor: baseline=1.947, modified=2.610, diff=0.663
- sharpe_ratio: baseline=19.162, modified=26.819, diff=7.657
- win_rate: baseline=0.600, modified=0.667, diff=0.067
- max_drawdown: baseline=0.056, modified=0.042, diff=-0.014
- test_accuracy: baseline=0.992, modified=0.993, diff=0.000
📊 Multi-Objective Metrics
Iteration 1: k_loop_iter_6_301c87
Y Label: — | Parent FS: #7
Objective mode: scalarize
Scalar score: 0.6193
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.600 | 0.636 | 0.036 |
| max_drawdown | 0.056 | 0.050 | -0.006 |
| sharpe_ratio | 19.162 | 24.727 | 5.565 |
| profit_factor | 1.947 | 2.466 | 0.519 |
| test_accuracy | 0.992 | 0.992 | 0.000 |
Iteration 2: k_loop_iter_2_1a1aba
Y Label: — | Parent FS: #7
Objective mode: scalarize
Scalar score: 1.3886
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.600 | 0.636 | 0.036 |
| max_drawdown | 0.056 | 0.050 | -0.006 |
| sharpe_ratio | 19.162 | 24.727 | 5.565 |
| profit_factor | 1.947 | 2.466 | 0.519 |
| test_accuracy | 0.992 | 0.992 | 0.000 |
Iteration 3: k_loop_iter_3_3b108c
Y Label: — | Parent FS: #7
Objective mode: scalarize
Scalar score: -3.3916
Failed constraints: sharpe_ratio >= 1.0: got -7.5544
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.600 | 0.424 | -0.176 |
| max_drawdown | 0.056 | 0.131 | 0.075 |
| sharpe_ratio | 19.162 | -7.554 | -26.717 |
| profit_factor | 1.947 | 0.775 | -1.172 |
| test_accuracy | 0.992 | 0.992 | -0.001 |
Iteration 4: k_loop_iter_4_5819f2
Y Label: — | Parent FS: #7
Objective mode: scalarize
Scalar score: 1.3886
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.600 | 0.636 | 0.036 |
| max_drawdown | 0.056 | 0.050 | -0.006 |
| sharpe_ratio | 19.162 | 24.727 | 5.565 |
| profit_factor | 1.947 | 2.466 | 0.519 |
| test_accuracy | 0.992 | 0.992 | 0.000 |
Iteration 5: k_loop_iter_5_2727df
Y Label: — | Parent FS: #7
Objective mode: scalarize
Scalar score: 1.3886
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.600 | 0.636 | 0.036 |
| max_drawdown | 0.056 | 0.050 | -0.006 |
| sharpe_ratio | 19.162 | 24.727 | 5.565 |
| profit_factor | 1.947 | 2.466 | 0.519 |
| test_accuracy | 0.992 | 0.992 | 0.000 |
Iteration 6: k_iter6_k_momentum_pct_chang_hl_range_i_rsi_k_close
Y Label: — | Parent FS: #7
Objective mode: single
Scalar score: 0.0000
Iteration 7: k_loop_iter_7_ea31d7
Y Label: — | Parent FS: #7
Objective mode: scalarize
Scalar score: 0.9424
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.600 | 0.548 | -0.052 |
| max_drawdown | 0.056 | 0.056 | 0.000 |
| sharpe_ratio | 19.162 | 23.405 | 4.243 |
| profit_factor | 1.947 | 2.401 | 0.453 |
| test_accuracy | 0.992 | 0.992 | -0.001 |
Iteration 8: k_loop_iter_8_94dd57
Y Label: — | Parent FS: #7
Objective mode: scalarize
Scalar score: 2.1204
| Metric | Baseline | Modified | Diff |
|---|---|---|---|
| win_rate | 0.600 | 0.667 | 0.067 |
| max_drawdown | 0.056 | 0.042 | -0.014 |
| sharpe_ratio | 19.162 | 26.819 | 7.657 |
| profit_factor | 1.947 | 2.610 | 0.663 |
| test_accuracy | 0.992 | 0.993 | 0.000 |
📁 Offline Report
Markdown backup: reports/autoloop/zz_sylvain/20260721_155629.md