룰 19 사용자 요청 4건 (2026-09-06): [UI 1] 옵투나 실시간 로그 모달 - backtest.html: 「크게 보기」 버튼 + bootstrap 모달 (max-xl · scrollable) - backtest.js: optunaOpenLogModal/RefreshLogModal/FilterLogModal - backend: /api/optuna/log/<job_id>?lines=N 신설 (50~5000줄 tail) - 3초 auto-refresh · 스크롤 하단 유지 · 실시간 검색 필터 - 원인: 기존 pre#opt_log_tail 은 25줄만 tail → pruned 잔뜩이면 완료 로그 밀림 [UI 2] 사후합격 Top5 카드 파라미터 확장 + 한글 캡션 - optuna_web_jobs.py _ob_whip_ui_from_params: 11개 새 필드 flat 추출 - 핵심진입: entry_drop_rate/vol_mult/high_chase - 핵심청산: exit_min_hold_sec/cooldown_min/max_loss_krw - RSI: rsi_period/oversold/overbought - 어깨: shoulder_min_high/cut_pct - backtest.js optunaCalcStats/optunaFormatAvgHtml: - keys 배열 확장 (기존 10 → 21) - 모든 영문 옆 한글 캡션 (spr→(스프레드) 등) - 그룹별 조건부 렌더 (해당 파라미터 있을 때만) [백엔드 3] 과적합 계산기 Y안 (optuna_common.py) - 팩터 1 표본 장일: max 40 → 25 (1일 백테도 견고성으로 상쇄 가능) - 팩터 5 PnL 고원 재해석: 동일 PnL & 파라미터 다양성 계산 - 다양 (핵심 파라미터 unique_ratio >= 50%) → 감점 -8 (견고) - 좁음 → 유지 +12 (TPE 몰빵) - 팩터 6 신설 param_stability: gated pool 파라미터 mode_share - 5개+ ≥60% → -15 (매우 견고) - 3~4개 ≥60% → -8 (다소 견고) [호환 4] 옛 잡 자동 재파싱 fallback (backtest_web.py) - _inject_extended_params_fallback(): - result_summary.top5_gated 각 row 에 확장 파라미터 재파싱 - overfit_diagnostics Y안 재계산 - top5_gated/top5_stable/compare_rows 각 row 의 overfit_risk_pct 재계산 - /api/optuna/status, /api/optuna/topn 양쪽 적용 - 옛 result JSON 을 재파싱하여 trial_number 매칭 검증: - 실측 재계산: 옛 잡 (1일·5거래·100%WR) 40% → 25%·상대적으로낮음 - 브라우저 CDP: 배지 27% · 팩터 6 param_stability 노출 - 로그 모달: 174줄·19.8KB·검색·auto-scroll 확인 - 사후합격 카드: 핵심진입/청산/RSI/어깨 그룹 + 한글 캡션 렌더 - 실매 코어 스모크 통과 (test_live_execution_validation 최종:통과 · 완결) 전략 범위: 4전략 공통 (스캘핑/돌파/모멘텀/꼬리) — 공통 optuna_common - 파라미터 flat 추출은 스캘핑 위주지만 다른 전략에서 해당 파라미터 있으면 자동 표시 - 과적합 Y안은 전략 무관 (전 전략 동일 로직) Co-authored-by: Cursor <cursoragent@cursor.com>
2 lines
32 B
Plaintext
2 lines
32 B
Plaintext
opt_20260906_205103_refine_scal
|