跳到主要內容

Feature Iteration Run #378: zz_sylvain

Status: completed | Started: 2026-07-16 15:42:12 | Ended: 2026-07-16 15:48:12

⭐ Best Accepted Iteration

Iteration 2: k_open.pct_change(8) * k_volume.pct_change(5)

baseline PF: 1.198 → modified PF: 1.416 | Cohen's d: 0.000 | p-value: 1.000

📊 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 — — — k_loop_iter_1_407c03 k_volume.pct_change(3) * (k_high - k_lo… ✅ 1.037 0.989 -0.3411 0.000 1.000 0.000 ❌ REJECT p=1.000 ≥ 0.05, cohens_d=0.000 ≤ 0.3, constraints: ['sharpe_ratio >= 1.0: got -0.3173']
2 — gradient_boosting — — — k_loop_iter_2_54f8f1 k_open.pct_change(8) * k_volume.pct_cha… ✅ 1.198 1.416 1.1120 0.000 1.000 0.000 ✅ ACCEPT accepted
3 — gradient_boosting — — — k_loop_iter_3_1bb228 k_low.pct_change(6) * (k_close - k_open… ✅ 1.219 1.252 0.1826 0.000 1.000 0.000 ✅ ACCEPT accepted
4 — gradient_boosting — — — k_loop_iter_4_884e2c k_close.rolling(10).corr(k_volume) * (k… ✅ 0.967 1.238 1.8086 0.000 1.000 0.000 ✅ ACCEPT accepted
5 — gradient_boosting — — — k_loop_iter_5_7a966d k_high.pct_change(7) * (k_close - k_ope… ✅ 1.005 1.093 0.6046 0.000 1.000 0.000 ✅ ACCEPT accepted

📄 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**: 360.13s
> **Total accepted**: 4
> **Total rejected**: 1

## Iterations 詳情

### Iteration 1
- DSL: `k_volume.pct_change(3) * (k_high - k_low) / k_close` (feature=k_loop_iter_1_407c03)
- DSL valid: True
- FeatureSet candidate id: 356
- baseline PF: 1.037 → modified PF: 0.989
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: -0.3411
- accepted: False, reason: p=1.000 ≥ 0.05, cohens_d=0.000 ≤ 0.3, constraints: ['sharpe_ratio >= 1.0: got -0.3173']

**Metrics summary:**
  - profit_factor: baseline=1.037, modified=0.989, diff=-0.048
  - sharpe_ratio: baseline=0.995, modified=-0.317, diff=-1.312
  - win_rate: baseline=0.419, modified=0.410, diff=-0.009
  - max_drawdown: baseline=0.120, modified=0.140, diff=0.020
  - test_accuracy: baseline=0.971, modified=0.971, diff=0.000

### Iteration 2
- DSL: `k_open.pct_change(8) * k_volume.pct_change(5)` (feature=k_loop_iter_2_54f8f1)
- DSL valid: True
- FeatureSet candidate id: 357
- baseline PF: 1.198 → modified PF: 1.416
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 1.1120
- accepted: True, reason: accepted

**Metrics summary:**
  - profit_factor: baseline=1.198, modified=1.416, diff=0.218
  - sharpe_ratio: baseline=5.537, modified=9.695, diff=4.158
  - win_rate: baseline=0.443, modified=0.467, diff=0.024
  - max_drawdown: baseline=0.082, modified=0.091, diff=0.008
  - test_accuracy: baseline=0.973, modified=0.984, diff=0.011

### Iteration 3
- DSL: `k_low.pct_change(6) * (k_close - k_open) / k_volume.rolling(15).mean()` (feature=k_loop_iter_3_1bb228)
- DSL valid: True
- FeatureSet candidate id: 358
- baseline PF: 1.219 → modified PF: 1.252
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.1826
- accepted: True, reason: accepted

**Metrics summary:**
  - profit_factor: baseline=1.219, modified=1.252, diff=0.033
  - sharpe_ratio: baseline=5.847, modified=6.527, diff=0.680
  - win_rate: baseline=0.461, modified=0.449, diff=-0.012
  - max_drawdown: baseline=0.187, modified=0.223, diff=0.036
  - test_accuracy: baseline=0.970, modified=0.969, diff=-0.001

### Iteration 4
- DSL: `k_close.rolling(10).corr(k_volume) * (k_high - k_low) / k_close` (feature=k_loop_iter_4_884e2c)
- DSL valid: True
- FeatureSet candidate id: 359
- baseline PF: 0.967 → modified PF: 1.238
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 1.8086
- accepted: True, reason: accepted

**Metrics summary:**
  - profit_factor: baseline=0.967, modified=1.238, diff=0.271
  - sharpe_ratio: baseline=-1.275, modified=5.796, diff=7.070
  - win_rate: baseline=0.565, modified=0.409, diff=-0.155
  - max_drawdown: baseline=0.160, modified=0.112, diff=-0.048
  - test_accuracy: baseline=0.976, modified=0.954, diff=-0.022

### Iteration 5
- DSL: `k_high.pct_change(7) * (k_close - k_open) / (k_high - k_low)` (feature=k_loop_iter_5_7a966d)
- DSL valid: True
- FeatureSet candidate id: 360
- baseline PF: 1.005 → modified PF: 1.093
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.6046
- accepted: True, reason: accepted

**Metrics summary:**
  - profit_factor: baseline=1.005, modified=1.093, diff=0.088
  - sharpe_ratio: baseline=0.176, modified=2.514, diff=2.338
  - win_rate: baseline=0.497, modified=0.404, diff=-0.092
  - max_drawdown: baseline=0.086, modified=0.182, diff=0.096
  - test_accuracy: baseline=0.982, modified=0.958, diff=-0.024

📊 Multi-Objective Metrics

Iteration 1: k_loop_iter_1_407c03

Y Label: — | Parent FS: #—

Objective mode: scalarize

Scalar score: -0.3411

Failed constraints: sharpe_ratio >= 1.0: got -0.3173

MetricBaselineModifiedDiff
win_rate 0.419 0.410 -0.009
max_drawdown 0.120 0.140 0.020
sharpe_ratio 0.995 -0.317 -1.312
profit_factor 1.037 0.989 -0.048
test_accuracy 0.971 0.971 0.000

Iteration 2: k_loop_iter_2_54f8f1

Y Label: — | Parent FS: #—

Objective mode: scalarize

Scalar score: 1.1120

MetricBaselineModifiedDiff
win_rate 0.443 0.467 0.024
max_drawdown 0.082 0.091 0.008
sharpe_ratio 5.537 9.695 4.158
profit_factor 1.198 1.416 0.218
test_accuracy 0.973 0.984 0.011

Iteration 3: k_loop_iter_3_1bb228

Y Label: — | Parent FS: #—

Objective mode: scalarize

Scalar score: 0.1826

MetricBaselineModifiedDiff
win_rate 0.461 0.449 -0.012
max_drawdown 0.187 0.223 0.036
sharpe_ratio 5.847 6.527 0.680
profit_factor 1.219 1.252 0.033
test_accuracy 0.970 0.969 -0.001

Iteration 4: k_loop_iter_4_884e2c

Y Label: — | Parent FS: #—

Objective mode: scalarize

Scalar score: 1.8086

MetricBaselineModifiedDiff
win_rate 0.565 0.409 -0.155
max_drawdown 0.160 0.112 -0.048
sharpe_ratio -1.275 5.796 7.070
profit_factor 0.967 1.238 0.271
test_accuracy 0.976 0.954 -0.022

Iteration 5: k_loop_iter_5_7a966d

Y Label: — | Parent FS: #—

Objective mode: scalarize

Scalar score: 0.6046

MetricBaselineModifiedDiff
win_rate 0.497 0.404 -0.092
max_drawdown 0.086 0.182 0.096
sharpe_ratio 0.176 2.514 2.338
profit_factor 1.005 1.093 0.088
test_accuracy 0.982 0.958 -0.024

📁 Offline Report

Markdown backup: reports/autoloop/zz_sylvain/20260716_234812.md