跳到主要內容

Feature Iteration Run #911: zz_sylvain

Status: completed | Started: 2026-07-25 12:44:13 | Ended: 2026-07-25 12:45:27

📊 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_dist_to_high_atr_norm obv_ensemble_3 * k_high.pct_change(12) … ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: C8 leakage: ['dist_to_high']
2 C8 gradient_boosting — — #7 k_iter2_k_high_pct_change_atr_norm_price_position k_high.pct_change() / (1 + atr_norm) * … ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: C8 leakage: ['dist_to_high']
3 C8 gradient_boosting — — #7 k_loop_iter_3_34a7f3 k_momentum_pct_change * vol_ratio / (1 … ✅ 1.947 1.085 -0.4478 0.000 0.463 0.243 ❌ REJECT normalized_score -0.2581 <= 0.0, sharpe_delta -16.8215 < -0.1, hypothesis test not confirmed
4 C8 gradient_boosting — — #7 k_iter4_k_high_pct_change k_high.pct_change(12) ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: canonical duplicate: k_high.pct_change
5 C8 gradient_boosting — — #7 k_iter5_k_close_rolling_mean k_close.rolling(20).mean() ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT quality_gate: canonical duplicate: k_close.rolling.mean

📄 Report Markdown

# AUTOLOOP: zz_sylvain (5 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**: 73.19s
> **Total accepted**: 0
> **Total rejected**: 5

## Iterations 詳情

### Iteration 1
- DSL: `obv_ensemble_3 * k_high.pct_change(12) * (1 - dist_to_high) / (1 + atr_norm)` (feature=k_iter1_k_high_pct_change_dist_to_high_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: C8 leakage: ['dist_to_high']

### Iteration 2
- DSL: `k_high.pct_change() / (1 + atr_norm) * (1 - price_position) * (1 - dist_to_high) * (1 + o_div_binary_12)` (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: `k_momentum_pct_change * vol_ratio / (1 + atr_norm)` (feature=k_loop_iter_3_34a7f3)
- DSL valid: True
- FeatureSet candidate id: 1235
- baseline PF: 1.947 → modified PF: 1.085
- t_stat: 0.000, p_value: 0.463, cohens_d: 0.243
- scalar_score: -0.4478
- accepted: False, reason: normalized_score -0.2581 <= 0.0, sharpe_delta -16.8215 < -0.1, 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)` (feature=k_iter4_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: canonical duplicate: k_high.pct_change

### Iteration 5
- DSL: `k_close.rolling(20).mean()` (feature=k_iter5_k_close_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: quality_gate: canonical duplicate: k_close.rolling.mean

📊 Multi-Objective Metrics

Iteration 1: k_iter1_k_high_pct_change_dist_to_high_atr_norm

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_34a7f3

Y Label: C8 | Parent FS: #7

Objective mode: scalarize

Scalar score: -0.4478

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

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 5: k_iter5_k_close_rolling_mean

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

📁 Offline Report

Markdown backup: reports/autoloop/zz_sylvain/20260725_204527.md