跳到主要內容

Feature Iteration Run #842: zz_sylvain

Status: completed | Started: 2026-07-23 06:41:59 | Ended: 2026-07-23 06:45:42

⭐ Best Accepted Iteration

Iteration 2: k_high.pct_change(12) / (1 + atr_norm) * (1 + hl_range) * (…

baseline PF: 1.947 → modified PF: 2.466 | Cohen's d: 0.388 | p-value: 0.012

📊 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 — gradient_boosting — — #7 k_loop_iter_1_829111 o_div_amplitude_12 * (1 - price_positio… ✅ 1.947 1.138 -0.3923 0.000 0.512 0.261 ❌ REJECT min_p=0.512 ≥ 0.05
2 — gradient_boosting — — #7 k_loop_iter_2_4fb20c k_high.pct_change(12) / (1 + atr_norm) … ✅ 1.947 2.466 1.3886 0.000 0.012 0.388 ✅ ACCEPT accepted
3 — gradient_boosting — — #7 k_iter3_k_momentum_pct_chang_k_line Looking at the base feature `k_momentum… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT safe_eval DSL: 語法錯誤: invalid syntax (<unknown>, line 1)
4 — gradient_boosting — — #7 k_loop_iter_2_4fb20c k_high.pct_change(12) / (1 + atr_norm) … ✅ 1.947 2.466 1.3886 0.000 0.012 0.388 ✅ ACCEPT accepted
5 — gradient_boosting — — #7 k_loop_iter_5_7afce2 k_high.pct_change(12) / (1 + atr_norm) … ✅ 1.947 2.466 1.3886 0.000 0.012 0.388 ✅ ACCEPT accepted
6 — gradient_boosting — — #7 k_loop_iter_6_aee674 k_momentum_pct_change - o_div_amplitude… ✅ 1.947 0.775 -3.3916 0.000 0.278 0.577 ❌ REJECT min_p=0.278 ≥ 0.05, constraints: ['sharpe_ratio >= 1.0: got -7.5544']

📄 Report Markdown

# AUTOLOOP: zz_sylvain (6 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**: 222.47s
> **Total accepted**: 3
> **Total rejected**: 3

## Iterations 詳情

### Iteration 1
- DSL: `o_div_amplitude_12 * (1 - price_position) / (1 + i_atr(k_high, k_low, k_close, 14))` (feature=k_loop_iter_1_829111)
- DSL valid: True
- FeatureSet candidate id: 1189
- baseline PF: 1.947 → modified PF: 1.138
- t_stat: 0.000, p_value: 0.512, cohens_d: 0.261
- scalar_score: -0.3923
- accepted: False, reason: min_p=0.512 ≥ 0.05

**Metrics summary:**
  - profit_factor: baseline=1.947, modified=1.138, diff=-0.810
  - sharpe_ratio: baseline=19.162, modified=4.489, diff=-14.673
  - win_rate: baseline=0.600, modified=0.466, diff=-0.134
  - max_drawdown: baseline=0.056, modified=0.166, diff=0.110
  - test_accuracy: baseline=0.992, modified=0.981, diff=-0.012

### Iteration 2
- DSL: `k_high.pct_change(12) / (1 + atr_norm) * (1 + hl_range) * (1 - dist_to_high) * (1 - return_5)` (feature=k_loop_iter_2_4fb20c)
- DSL valid: True
- FeatureSet candidate id: 1190
- 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: `Looking at the base feature `k_momentum_pct_change - o_div_amplitude(12)` (which combines K_LINE momentum with OBV divergence - a good cross-category feature), I need to apply one high-impact mutation` (feature=k_iter3_k_momentum_pct_chang_k_line)
- 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: 語法錯誤: invalid syntax (<unknown>, line 1)

### Iteration 4
- DSL: `k_high.pct_change(12) / (1 + atr_norm) * (1 + hl_range) * (1 - dist_to_high) * (1 - return_5)` (feature=k_loop_iter_2_4fb20c)
- DSL valid: True
- FeatureSet candidate id: 1191
- 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 + atr_norm) * (1 - price_position) * (1 - dist_to_high) * (1 - return_1) * (1 + vol_ratio)` (feature=k_loop_iter_5_7afce2)
- DSL valid: True
- FeatureSet candidate id: 1192
- 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 - o_div_amplitude_12 * (1 - price_position) / (1 + atr_norm)` (feature=k_loop_iter_6_aee674)
- DSL valid: True
- FeatureSet candidate id: 1193
- 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

📊 Multi-Objective Metrics

Iteration 1: k_loop_iter_1_829111

Y Label: — | Parent FS: #7

Objective mode: scalarize

Scalar score: -0.3923

MetricBaselineModifiedDiff
win_rate 0.600 0.466 -0.134
max_drawdown 0.056 0.166 0.110
sharpe_ratio 19.162 4.489 -14.673
profit_factor 1.947 1.138 -0.810
test_accuracy 0.992 0.981 -0.012

Iteration 2: k_loop_iter_2_4fb20c

Y Label: — | Parent FS: #7

Objective mode: scalarize

Scalar score: 1.3886

MetricBaselineModifiedDiff
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_iter3_k_momentum_pct_chang_k_line

Y Label: — | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 4: k_loop_iter_2_4fb20c

Y Label: — | Parent FS: #7

Objective mode: scalarize

Scalar score: 1.3886

MetricBaselineModifiedDiff
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_7afce2

Y Label: — | Parent FS: #7

Objective mode: scalarize

Scalar score: 1.3886

MetricBaselineModifiedDiff
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_loop_iter_6_aee674

Y Label: — | Parent FS: #7

Objective mode: scalarize

Scalar score: -3.3916

Failed constraints: sharpe_ratio >= 1.0: got -7.5544

MetricBaselineModifiedDiff
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

📁 Offline Report

Markdown backup: reports/autoloop/zz_sylvain/20260723_144542.md