feat(backtest): 대대적인 Optuna 백테스트 웹 UI 및 백엔드 파이프라인 개편

- Web UI:
  - Optuna 탭 추가 및 mode_combo (최빈값 조합), 사후합격 Top 10 시각화 기능
  - 파라미터 분포(p25~p75, median, mode) 히스토그램 및 과적합(Overfit) 위험도 진단 UI 신설
  - 체크박스 렌더링 깨짐 현상을 네이티브(appearance: auto)로 강제 복구 (CSS)
  - 다단 트레일링 스탑, 꼬리 진입/돌파 손절 등 고급 조건 설정 폼 UI 고도화

- Backend (Optuna Jobs):
  - CLI 환경에서 구동된 Optuna json 결과물을 웹 대시보드로 읽어오는 import 기능 강화
  - JSON 메타데이터에 sort_by, mode, 호가 적용 여부 등 핵심 파라미터 파싱 누락 수정
  - optuna_mode_combo.py 등 최빈값 조합 및 후보군 2차 검증을 위한 신규 모듈 추가

- DB & Execution:
  - WebSocket 호가/틱 피드 수집 통계(api_feed_collect_stats) 메모리 캐시 최적화
  - KIS client 접속 키(approval_key) 등 인프라스트럭처 안정성 및 공유 관리 구조 개선
  - 테스트 및 디버깅용 briefing 마크다운 자동 생성 기능 추가
This commit is contained in:
Your Name
2026-09-01 02:47:51 +09:00
parent 3d0255519e
commit 9ba9ab73b6
92 changed files with 8211 additions and 487 deletions

View File

@@ -382,6 +382,39 @@
overflow: auto;
}
.opt-period-banner {
border: 1px solid var(--border);
font-size: 12px;
}
.opt-period-banner.opt-period-ok {
background: rgba(63, 185, 80, 0.08);
border-color: rgba(63, 185, 80, 0.35);
}
.opt-period-banner.opt-period-warn {
background: rgba(210, 153, 34, 0.12);
border-color: rgba(210, 153, 34, 0.55);
}
.opt-period-badge {
display: inline-block;
padding: 2px 8px;
border-radius: 4px;
border: 1px solid var(--border);
background: rgba(255, 255, 255, 0.04);
font-size: 11px;
white-space: nowrap;
}
.opt-period-badge b { font-weight: 600; color: var(--text); }
.opt-period-badge-form { border-color: #58a6ff; }
.opt-period-badge-master { border-color: #8b949e; }
.opt-period-badge-p1 { border-color: #3fb950; }
.opt-period-badge-p2 { border-color: #d29922; }
.opt-period-badge-active { border-color: #bc8cff; }
.opt-period-badge-warn {
background: rgba(248, 81, 73, 0.12);
border-color: rgba(248, 81, 73, 0.55);
}
.opt-period-cell-warn { color: #d29922; }
/* 오늘 운영 — 조건검색 이력(키움/LS) */
.dash-univ-table .dash-univ-src-kiwoom { color: #58a6ff; font-weight: 600; }
.dash-univ-table .dash-univ-src-kis { color: #3fb950; font-weight: 600; }