跳到主要內容

Feature Iteration Run #453: zz_sylvain

Status: completed | Started: 2026-07-16 21:52:34 | Ended: 2026-07-16 21:54:29

⭐ Best Accepted Iteration

Iteration 2: k_volume.pct_change(5) * return_20 - vol_ratio * atr_norm

baseline PF: 1.198 → modified PF: 1.187 | 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_iter_1_k_consecutive_shrink * k_body_size_pct / hl_range k_consecutive_shrink * k_body_size_pct … ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT safe_eval DSL produces inf when ['hl_range'] is zero; avoid unprotected division by these variables
2 — gradient_boosting — — — k_loop_iter_2_73457c k_volume.pct_change(5) * return_20 - vo… ✅ 1.198 1.187 0.0817 0.000 1.000 0.000 ✅ ACCEPT accepted
3 — gradient_boosting — — — k_loop_iter_3_f5b987 return_5 * price_position - atr_norm * … ✅ 1.219 1.252 0.1940 0.000 1.000 0.000 ✅ ACCEPT accepted

📄 Report Markdown

# AUTOLOOP: zz_sylvain (3 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**: 115.02s
> **Total accepted**: 2
> **Total rejected**: 1

## Iterations 詳情

### Iteration 1
- DSL: `k_consecutive_shrink * k_body_size_pct / hl_range` (feature=k_iter_1_k_consecutive_shrink * k_body_size_pct / 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: safe_eval DSL produces inf when ['hl_range'] is zero; avoid unprotected division by these variables

### Iteration 2
- DSL: `k_volume.pct_change(5) * return_20 - vol_ratio * atr_norm` (feature=k_loop_iter_2_73457c)
- DSL valid: True
- FeatureSet candidate id: 466
- baseline PF: 1.198 → modified PF: 1.187
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0817
- accepted: True, reason: accepted

**Metrics summary:**
  - profit_factor: baseline=1.198, modified=1.187, diff=-0.012
  - sharpe_ratio: baseline=5.537, modified=5.779, diff=0.242
  - win_rate: baseline=0.443, modified=0.540, diff=0.097
  - max_drawdown: baseline=0.082, modified=0.133, diff=0.050
  - test_accuracy: baseline=0.973, modified=0.949, diff=-0.024

### Iteration 3
- DSL: `return_5 * price_position - atr_norm * dist_to_high` (feature=k_loop_iter_3_f5b987)
- DSL valid: True
- FeatureSet candidate id: 467
- baseline PF: 1.219 → modified PF: 1.252
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.1940
- accepted: True, reason: accepted

**Metrics summary:**
  - profit_factor: baseline=1.219, modified=1.252, diff=0.034
  - sharpe_ratio: baseline=5.847, modified=6.583, diff=0.736
  - win_rate: baseline=0.461, modified=0.470, diff=0.009
  - max_drawdown: baseline=0.187, modified=0.177, diff=-0.011
  - test_accuracy: baseline=0.970, modified=0.969, diff=-0.001

📊 Multi-Objective Metrics

Iteration 1: k_iter_1_k_consecutive_shrink * k_body_size_pct / hl_range

Y Label: — | Parent FS: #—

Objective mode: single

Scalar score: 0.0000

Iteration 2: k_loop_iter_2_73457c

Y Label: — | Parent FS: #—

Objective mode: scalarize

Scalar score: 0.0817

MetricBaselineModifiedDiff
win_rate 0.443 0.540 0.097
max_drawdown 0.082 0.133 0.050
sharpe_ratio 5.537 5.779 0.242
profit_factor 1.198 1.187 -0.012
test_accuracy 0.973 0.949 -0.024

Iteration 3: k_loop_iter_3_f5b987

Y Label: — | Parent FS: #—

Objective mode: scalarize

Scalar score: 0.1940

MetricBaselineModifiedDiff
win_rate 0.461 0.470 0.009
max_drawdown 0.187 0.177 -0.011
sharpe_ratio 5.847 6.583 0.736
profit_factor 1.219 1.252 0.034
test_accuracy 0.970 0.969 -0.001

📁 Offline Report

Markdown backup: reports/autoloop/zz_sylvain/20260717_055429.md