跳到主要內容

Feature Iteration Run #1057: zz_sylvain

Status: completed | Started: 2026-07-26 18:18:43 | Ended: 2026-07-26 18:22:30

📊 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 lightgbm — — #7 k_iter1_i_macd_k_close_i_atr_k_high i_macd(k_close, 12, 26, 9) / (1 + i_atr… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: canonical duplicate: i_macd(k_close) / (1 + i_atr(k_high,k_low,k_close))
2 C8 lightgbm — — #7 k_iter2_k_high_pct_change_hl_range_price_position k_high.pct_change(12) * (1 + hl_range) … ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: C8 leakage: ['dist_to_high']
3 C8 lightgbm — — #7 k_iter3_i_rsi_k_close_price_position_hl_range (i_rsi(k_close, 14) - 50) * (1 - price_… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: NaN ratio 1.000 exceeds 0.3
4 C8 lightgbm — — #7 k_iter4_i_rsi_k_close_price_position_i_atr i_rsi(k_close, 14) * (1 - price_positio… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: NaN ratio 1.000 exceeds 0.3
5 C8 lightgbm — — #7 k_loop_iter_5_2471ae i_atr(k_high, k_low, k_close, 14) * (1 … ✅ 1.071 1.330 1.7186 0.000 0.001 1.483 ❌ REJECT max_drawdown_delta -0.0965 < -0.02
6 C8 lightgbm — — #7 k_iter6_abs_k_volume_rolling_mean abs(o_div_binary(12)) * k_volume.rollin… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT safe_eval DSL: 變數未定義: abs
7 C8 lightgbm — — #7 k_loop_iter_7_044a17 k_momentum_pct_change / (1 + i_atr(k_hi… ✅ 1.071 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT 1-trial proxy PF=0.922 < 0.95, no improvement expected
8 C8 lightgbm — — #7 k_loop_iter_8_17f41e i_macd(k_close, 12, 26, 9) * (1 - price… ✅ 1.071 1.113 0.3456 0.000 0.088 0.588 ❌ REJECT max_drawdown_delta -0.1153 < -0.02

📄 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**: 226.65s
> **Total accepted**: 0
> **Total rejected**: 8

## Iterations 詳情

### Iteration 1
- DSL: `i_macd(k_close, 12, 26, 9) / (1 + i_atr(k_high, k_low, k_close, 14))` (feature=k_iter1_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: canonical duplicate: i_macd(k_close) / (1 + i_atr(k_high,k_low,k_close))

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

### Iteration 5
- DSL: `i_atr(k_high, k_low, k_close, 14) * (1 - price_position) * (1 + o_div_amplitude_12) / (1 + i_ema(k_close, 20) + 1e-10)` (feature=k_loop_iter_5_2471ae)
- DSL valid: True
- FeatureSet candidate id: 1400
- baseline PF: 1.071 → modified PF: 1.330
- t_stat: 0.000, p_value: 0.001, cohens_d: 1.483
- scalar_score: 1.7186
- accepted: False, reason: max_drawdown_delta -0.0965 < -0.02

**Metrics summary:**
  - profit_factor: baseline=1.071, modified=1.330, diff=0.259
  - sharpe_ratio: baseline=1.628, modified=7.773, diff=6.145
  - win_rate: baseline=0.413, modified=0.500, diff=0.087
  - max_drawdown: baseline=0.277, modified=0.181, diff=-0.096
  - test_accuracy: baseline=0.668, modified=0.977, diff=0.309

### Iteration 6
- DSL: `abs(o_div_binary(12)) * k_volume.rolling.mean / (1 + i_atr(k_high, k_low, k_close, 14)) * (1 - price_position)` (feature=k_iter6_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

### Iteration 7
- DSL: `k_momentum_pct_change / (1 + i_atr(k_high, k_low, k_close, 14) / k_close) * (1 - price_position)` (feature=k_loop_iter_7_044a17)
- DSL valid: True
- FeatureSet candidate id: 1401
- baseline PF: 1.071 → 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.922 < 0.95, no improvement expected

### Iteration 8
- DSL: `i_macd(k_close, 12, 26, 9) * (1 - price_position) * o_div_amplitude_12 / (1 + i_atr(k_high, k_low, k_close, 14))` (feature=k_loop_iter_8_17f41e)
- DSL valid: True
- FeatureSet candidate id: 1402
- baseline PF: 1.071 → modified PF: 1.113
- t_stat: 0.000, p_value: 0.088, cohens_d: 0.588
- scalar_score: 0.3456
- accepted: False, reason: max_drawdown_delta -0.1153 < -0.02

**Metrics summary:**
  - profit_factor: baseline=1.071, modified=1.113, diff=0.042
  - sharpe_ratio: baseline=1.628, modified=3.379, diff=1.750
  - win_rate: baseline=0.413, modified=0.567, diff=0.154
  - max_drawdown: baseline=0.277, modified=0.162, diff=-0.115
  - test_accuracy: baseline=0.668, modified=0.851, diff=0.183

📊 Multi-Objective Metrics

Iteration 1: k_iter1_i_macd_k_close_i_atr_k_high

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 2: k_iter2_k_high_pct_change_hl_range_price_position

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 3: k_iter3_i_rsi_k_close_price_position_hl_range

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 4: k_iter4_i_rsi_k_close_price_position_i_atr

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 5: k_loop_iter_5_2471ae

Y Label: C8 | Parent FS: #7

Objective mode: scalarize

Scalar score: 1.7186

MetricBaselineModifiedDiff
win_rate 0.413 0.500 0.087
max_drawdown 0.277 0.181 -0.096
sharpe_ratio 1.628 7.773 6.145
profit_factor 1.071 1.330 0.259
test_accuracy 0.668 0.977 0.309

Iteration 6: k_iter6_abs_k_volume_rolling_mean

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 7: k_loop_iter_7_044a17

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 8: k_loop_iter_8_17f41e

Y Label: C8 | Parent FS: #7

Objective mode: scalarize

Scalar score: 0.3456

MetricBaselineModifiedDiff
win_rate 0.413 0.567 0.154
max_drawdown 0.277 0.162 -0.115
sharpe_ratio 1.628 3.379 1.750
profit_factor 1.071 1.113 0.042
test_accuracy 0.668 0.851 0.183

📁 Offline Report

Markdown backup: reports/autoloop/zz_sylvain/20260727_022230.md