跳到主要內容

Feature Iteration Run #1017: zz_sylvain

Status: completed | Started: 2026-07-26 14:19:36 | Ended: 2026-07-26 14:30:14

⭐ Best Accepted Iteration

Iteration 6: k_high.pct_change(12) * (1 - price_position) * (1 + hl_rang…

baseline PF: 1.947 → modified PF: 3.078 | Cohen's d: 0.313 | p-value: 0.008

📊 Iterations

Iter Y Label Model Warm Proxy Parent FS Feature DSL DSL Valid Baseline PF Modified PF Scalar Score t-stat p-value Cohen's d Result Reason
1 C8 gradient_boosting — — #7 k_iter1_k_high_pct_change_atr_norm_price_position k_high.pct_change(12) / (1 + atr_norm) … ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: NaN ratio 1.000 exceeds 0.3
2 C8 gradient_boosting — — #7 k_iter2_k_high_pct_change_atr_norm_price_position k_high.pct_change(12) / (1 + atr_norm) … ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: C8 leakage: ['dist_to_high']; canonical duplicate: k_high.pct_change / (1 + atr_norm) * (1 - price_position) * (1 - dist_to_high) * (1 + hl_range)
3 C8 gradient_boosting — — #7 k_loop_iter_3_8c8fc7 obv_ensemble_3 * (1 - return_5) / (1 + … ✅ 1.947 1.085 -0.4789 0.000 0.463 0.243 ❌ REJECT scalar_score -0.4789 <= 0.0, sharpe_delta -16.8215 < -0.3, hypothesis test not confirmed
4 C8 gradient_boosting — — #7 k_iter4_k_high_pct_change_atr_norm_price_position k_high.pct_change(12) / (1 + atr_norm) … ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: NaN ratio 1.000 exceeds 0.3
5 C8 gradient_boosting — — #7 k_loop_iter_5_24cbca i_macd(k_close, 12, 26, 9) * (1 - price… ✅ 1.947 1.895 -0.1089 0.000 0.337 0.330 ❌ REJECT scalar_score -0.1089 <= 0.0, sharpe_delta -0.9574 < -0.3, hypothesis test not confirmed
6 C8 gradient_boosting — — #7 k_loop_iter_6_e76f20 k_high.pct_change(12) * (1 - price_posi… ✅ 1.947 3.078 2.9215 0.000 0.008 0.313 ✅ ACCEPT accepted
7 C8 gradient_boosting — — #1341 k_loop_iter_7_b63b21 k_high.pct_change(12) * (1 - price_posi… ✅ 3.078 1.367 -1.9211 0.000 0.363 0.488 ❌ REJECT scalar_score -1.9211 <= 0.0, sharpe_delta -21.9421 < -0.3, hypothesis test not confirmed
8 C8 gradient_boosting — — #1341 k_iter8_k_high_pct_change_price_position_hl_range k_high.pct_change(12) * (1 - price_posi… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: NaN ratio 1.000 exceeds 0.3
9 C8 gradient_boosting — — #1341 k_iter9_pct_change_price_position_hl_range_atr_norm obv_rebased.pct_change(12) * (1 - price… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT safe_eval DSL produced inf values; likely division by zero
10 C8 gradient_boosting — — #1341 k_iter10_k_high_pct_change_price_position_hl_range k_high.pct_change(12) * (1 - price_posi… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: canonical duplicate: k_high.pct_change * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * i_ema(k_close) / k_close
11 C8 gradient_boosting — — #1341 k_loop_iter_11_7bdf0e i_macd(k_close, 12, 26, 9) * k_high.pct… ✅ 3.078 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT 1-trial proxy PF=0.962 <= 1.0, no improvement expected
12 C8 gradient_boosting — — #1341 k_loop_iter_12_d338ca k_high.pct_change(12) * (1 - price_posi… ✅ 3.078 1.052 -8.2721 0.000 0.000 0.713 ❌ REJECT scalar_score -8.2721 <= 0.0, sharpe_delta -28.7148 < -0.3, hypothesis test not confirmed
13 C8 gradient_boosting — — #1341 k_iter13_i_rsi_k_close_k_high_pct_change i_rsi(k_close, 14) * k_high.pct_change(… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: NaN ratio 1.000 exceeds 0.3
14 C8 gradient_boosting — — #1341 k_loop_iter_14_a82df1 k_high.pct_change(12) * (1 - price_posi… ✅ 3.078 1.273 -5.1934 0.000 0.140 0.539 ❌ REJECT scalar_score -5.1934 <= 0.0, sharpe_delta -23.7913 < -0.3, hypothesis test not confirmed
15 C8 gradient_boosting — — #1341 k_iter15_i_atr_k_high_k_low_k_close i_atr(k_high, k_low, k_close, 14) / k_c… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: NaN ratio 1.000 exceeds 0.3

📄 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**: 1341
> **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**: 637.72s
> **Total accepted**: 1
> **Total rejected**: 14

## Iterations 詳情

### Iteration 1
- DSL: `k_high.pct_change(12) / (1 + atr_norm) * (1 - price_position) * (1 - return_5) * i_rsi(k_close, 14) / 100` (feature=k_iter1_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: NaN ratio 1.000 exceeds 0.3

### Iteration 2
- DSL: `k_high.pct_change(12) / (1 + atr_norm) * (1 - price_position) * (1 - dist_to_high) * (1 + hl_range)` (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']; canonical duplicate: k_high.pct_change / (1 + atr_norm) * (1 - price_position) * (1 - dist_to_high) * (1 + hl_range)

### Iteration 3
- DSL: `obv_ensemble_3 * (1 - return_5) / (1 + atr_norm * 10)` (feature=k_loop_iter_3_8c8fc7)
- DSL valid: True
- FeatureSet candidate id: 1339
- baseline PF: 1.947 → modified PF: 1.085
- t_stat: 0.000, p_value: 0.463, cohens_d: 0.243
- scalar_score: -0.4789
- accepted: False, reason: scalar_score -0.4789 <= 0.0, sharpe_delta -16.8215 < -0.3, hypothesis test not confirmed

**Metrics summary:**
  - profit_factor: baseline=1.947, modified=1.085, diff=-0.862
  - sharpe_ratio: baseline=19.162, modified=2.341, diff=-16.821
  - win_rate: baseline=0.600, modified=0.500, diff=-0.100
  - max_drawdown: baseline=0.056, modified=0.187, diff=0.131
  - test_accuracy: baseline=0.992, modified=0.992, diff=-0.000

### Iteration 4
- DSL: `k_high.pct_change(12) / (1 + atr_norm) * (1 - price_position) * (1 - return_5) * i_rsi(k_close, 14) / (1 + i_atr(k_high, k_low, k_close, 14))` (feature=k_iter4_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: NaN ratio 1.000 exceeds 0.3

### Iteration 5
- DSL: `i_macd(k_close, 12, 26, 9) * (1 - price_position) / (1 + atr_norm * 10) * (1 - return_5)` (feature=k_loop_iter_5_24cbca)
- DSL valid: True
- FeatureSet candidate id: 1340
- baseline PF: 1.947 → modified PF: 1.895
- t_stat: 0.000, p_value: 0.337, cohens_d: 0.330
- scalar_score: -0.1089
- accepted: False, reason: scalar_score -0.1089 <= 0.0, sharpe_delta -0.9574 < -0.3, hypothesis test not confirmed

**Metrics summary:**
  - profit_factor: baseline=1.947, modified=1.895, diff=-0.053
  - sharpe_ratio: baseline=19.162, modified=18.205, diff=-0.957
  - win_rate: baseline=0.600, modified=0.562, diff=-0.037
  - max_drawdown: baseline=0.056, modified=0.056, diff=0.000
  - test_accuracy: baseline=0.992, modified=0.992, diff=-0.000

### Iteration 6
- DSL: `k_high.pct_change(12) * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * i_ema(k_close, 20) / k_close` (feature=k_loop_iter_6_e76f20)
- DSL valid: True
- FeatureSet candidate id: 1341
- baseline PF: 1.947 → modified PF: 3.078
- t_stat: 0.000, p_value: 0.008, cohens_d: 0.313
- scalar_score: 2.9215
- accepted: True, reason: accepted

**Metrics summary:**
  - profit_factor: baseline=1.947, modified=3.078, diff=1.130
  - sharpe_ratio: baseline=19.162, modified=30.120, diff=10.957
  - win_rate: baseline=0.600, modified=0.606, diff=0.006
  - max_drawdown: baseline=0.056, modified=0.043, diff=-0.013
  - test_accuracy: baseline=0.992, modified=0.991, diff=-0.001

### Iteration 7
- DSL: `k_high.pct_change(12) * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * (1 + i_ema(k_close, 20) / k_close - i_ema(k_close, 50) / k_close)` (feature=k_loop_iter_7_b63b21)
- DSL valid: True
- FeatureSet candidate id: 1342
- baseline PF: 3.078 → modified PF: 1.367
- t_stat: 0.000, p_value: 0.363, cohens_d: 0.488
- scalar_score: -1.9211
- accepted: False, reason: scalar_score -1.9211 <= 0.0, sharpe_delta -21.9421 < -0.3, hypothesis test not confirmed

**Metrics summary:**
  - profit_factor: baseline=3.078, modified=1.367, diff=-1.711
  - sharpe_ratio: baseline=30.120, modified=8.178, diff=-21.942
  - win_rate: baseline=0.606, modified=0.527, diff=-0.079
  - max_drawdown: baseline=0.043, modified=0.094, diff=0.051
  - test_accuracy: baseline=0.991, modified=0.985, diff=-0.006

### Iteration 8
- DSL: `k_high.pct_change(12) * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * (1 + i_rsi(k_close, 14) - 50) / 100` (feature=k_iter8_k_high_pct_change_price_position_hl_range)
- 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 9
- DSL: `obv_rebased.pct_change(12) * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10)` (feature=k_iter9_pct_change_price_position_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: safe_eval DSL produced inf values; likely division by zero

### Iteration 10
- DSL: `k_high.pct_change(12) * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * i_ema(k_close, 20) / k_close` (feature=k_iter10_k_high_pct_change_price_position_hl_range)
- 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: canonical duplicate: k_high.pct_change * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * i_ema(k_close) / k_close

### Iteration 11
- DSL: `i_macd(k_close, 12, 26, 9) * k_high.pct_change(12) * (1 - price_position) / (1 + atr_norm * 10)` (feature=k_loop_iter_11_7bdf0e)
- DSL valid: True
- FeatureSet candidate id: 1343
- baseline PF: 3.078 → 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.962 <= 1.0, no improvement expected

### Iteration 12
- DSL: `k_high.pct_change(12) * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * (1 - o_div_binary_12)` (feature=k_loop_iter_12_d338ca)
- DSL valid: True
- FeatureSet candidate id: 1344
- baseline PF: 3.078 → modified PF: 1.052
- t_stat: 0.000, p_value: 0.000, cohens_d: 0.713
- scalar_score: -8.2721
- accepted: False, reason: scalar_score -8.2721 <= 0.0, sharpe_delta -28.7148 < -0.3, hypothesis test not confirmed

**Metrics summary:**
  - profit_factor: baseline=3.078, modified=1.052, diff=-2.026
  - sharpe_ratio: baseline=30.120, modified=1.405, diff=-28.715
  - win_rate: baseline=0.606, modified=0.500, diff=-0.106
  - max_drawdown: baseline=0.043, modified=0.155, diff=0.112
  - test_accuracy: baseline=0.991, modified=0.991, diff=0.000

### Iteration 13
- DSL: `i_rsi(k_close, 14) * k_high.pct_change(12) * (1 - price_position) / (1 + atr_norm * 10)` (feature=k_iter13_i_rsi_k_close_k_high_pct_change)
- 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 14
- DSL: `k_high.pct_change(12) * (1 - price_position) * (1 + hl_range) / (1 + atr_norm * 10) * i_ema(k_close, 20) / (i_ema(k_close, 50) + 1e-10)` (feature=k_loop_iter_14_a82df1)
- DSL valid: True
- FeatureSet candidate id: 1345
- baseline PF: 3.078 → modified PF: 1.273
- t_stat: 0.000, p_value: 0.140, cohens_d: 0.539
- scalar_score: -5.1934
- accepted: False, reason: scalar_score -5.1934 <= 0.0, sharpe_delta -23.7913 < -0.3, hypothesis test not confirmed

**Metrics summary:**
  - profit_factor: baseline=3.078, modified=1.273, diff=-1.804
  - sharpe_ratio: baseline=30.120, modified=6.329, diff=-23.791
  - win_rate: baseline=0.606, modified=0.522, diff=-0.084
  - max_drawdown: baseline=0.043, modified=0.073, diff=0.031
  - test_accuracy: baseline=0.991, modified=0.985, diff=-0.006

### Iteration 15
- DSL: `i_atr(k_high, k_low, k_close, 14) / k_close * (1 - price_position) * i_rsi(k_close, 14) / 100` (feature=k_iter15_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

📊 Multi-Objective Metrics

Iteration 1: k_iter1_k_high_pct_change_atr_norm_price_position

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_loop_iter_3_8c8fc7

Y Label: C8 | Parent FS: #7

Objective mode: scalarize

Scalar score: -0.4789

MetricBaselineModifiedDiff
win_rate 0.600 0.500 -0.100
max_drawdown 0.056 0.187 0.131
sharpe_ratio 19.162 2.341 -16.821
profit_factor 1.947 1.085 -0.862
test_accuracy 0.992 0.992 0.000

Iteration 4: k_iter4_k_high_pct_change_atr_norm_price_position

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 5: k_loop_iter_5_24cbca

Y Label: C8 | Parent FS: #7

Objective mode: scalarize

Scalar score: -0.1089

MetricBaselineModifiedDiff
win_rate 0.600 0.563 -0.037
max_drawdown 0.056 0.056 0.000
sharpe_ratio 19.162 18.205 -0.957
profit_factor 1.947 1.895 -0.053
test_accuracy 0.992 0.992 0.000

Iteration 6: k_loop_iter_6_e76f20

Y Label: C8 | Parent FS: #7

Objective mode: scalarize

Scalar score: 2.9215

MetricBaselineModifiedDiff
win_rate 0.600 0.606 0.006
max_drawdown 0.056 0.043 -0.013
sharpe_ratio 19.162 30.120 10.957
profit_factor 1.947 3.078 1.130
test_accuracy 0.992 0.991 -0.001

Iteration 7: k_loop_iter_7_b63b21

Y Label: C8 | Parent FS: #1341

Objective mode: scalarize

Scalar score: -1.9211

MetricBaselineModifiedDiff
win_rate 0.606 0.527 -0.079
max_drawdown 0.043 0.094 0.051
sharpe_ratio 30.120 8.178 -21.942
profit_factor 3.078 1.367 -1.711
test_accuracy 0.991 0.985 -0.006

Iteration 8: k_iter8_k_high_pct_change_price_position_hl_range

Y Label: C8 | Parent FS: #1341

Objective mode: single

Scalar score: 0.0000

Iteration 9: k_iter9_pct_change_price_position_hl_range_atr_norm

Y Label: C8 | Parent FS: #1341

Objective mode: single

Scalar score: 0.0000

Iteration 10: k_iter10_k_high_pct_change_price_position_hl_range

Y Label: C8 | Parent FS: #1341

Objective mode: single

Scalar score: 0.0000

Iteration 11: k_loop_iter_11_7bdf0e

Y Label: C8 | Parent FS: #1341

Objective mode: single

Scalar score: 0.0000

Iteration 12: k_loop_iter_12_d338ca

Y Label: C8 | Parent FS: #1341

Objective mode: scalarize

Scalar score: -8.2721

MetricBaselineModifiedDiff
win_rate 0.606 0.500 -0.106
max_drawdown 0.043 0.155 0.112
sharpe_ratio 30.120 1.405 -28.715
profit_factor 3.078 1.052 -2.026
test_accuracy 0.991 0.991 0.000

Iteration 13: k_iter13_i_rsi_k_close_k_high_pct_change

Y Label: C8 | Parent FS: #1341

Objective mode: single

Scalar score: 0.0000

Iteration 14: k_loop_iter_14_a82df1

Y Label: C8 | Parent FS: #1341

Objective mode: scalarize

Scalar score: -5.1934

MetricBaselineModifiedDiff
win_rate 0.606 0.522 -0.084
max_drawdown 0.043 0.073 0.031
sharpe_ratio 30.120 6.329 -23.791
profit_factor 3.078 1.273 -1.804
test_accuracy 0.991 0.985 -0.006

Iteration 15: k_iter15_i_atr_k_high_k_low_k_close

Y Label: C8 | Parent FS: #1341

Objective mode: single

Scalar score: 0.0000

📁 Offline Report

Markdown backup: reports/autoloop/zz_sylvain/20260726_223014.md