feat(옵투나·웹): 후처리 재탐색·ob_modes·적용감사·수집통계

- Optuna web jobs/TPE/apply snapshot·틱로더 정합, jobs limit·감사로그
- 백테 UI 호가모드·후보 적용 흐름, feed_collect_stats API/탭
- 가설검증·교차검증 룰, 4전략 스모크·OB slot41 진단 스크립트

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Your Name
2026-08-27 15:23:44 +09:00
parent 5e44b86f8b
commit 8fbba264ba
30 changed files with 2973 additions and 186 deletions

View File

@@ -201,11 +201,21 @@ def prepare_tail_search_context(
base_params["_orderbook_filter_enabled"] = False
elif _ob_mode == "on":
base_params["_orderbook_filter_enabled"] = True
ob_filter_on = bool(base_params.get("_orderbook_filter_enabled")) or _ob_mode == "auto"
from kis_trader.backtest.optuna_tpe_common import optuna_tpe_needs_orderbook_feed
need_ob_feed = optuna_tpe_needs_orderbook_feed(mode, _ob_mode)
ob_filter_on = (
bool(base_params.get("_orderbook_filter_enabled"))
or _ob_mode == "auto"
or need_ob_feed
)
if need_ob_feed:
base_params["backtest_use_trigger_snapshot_db"] = True
logger.info(
"📌 호가필터: %s (%s)",
"📌 호가필터: %s (%s)%s",
_ob_mode.upper(),
"적용" if ob_filter_on else "스킵 — 코어 파라미터 순수 탐색",
"스냅로드" if need_ob_feed else ("적용" if ob_filter_on else "스킵 — 코어 파라미터 순수 탐색"),
" · TPE 호가축" if need_ob_feed else "",
)
from kis_trader.backtest.backtest_portfolio_common import load_portfolio_env_row
@@ -949,10 +959,11 @@ def main() -> None:
)
elif strategy == "breakout" and mode == "tpe":
from kis_trader.backtest.optuna_breakout_tpe_space import (
normalize_tpe_breakout_sl_mode,
breakout_tpe_study_extra,
)
_study_extra = normalize_tpe_breakout_sl_mode(
_study_extra = breakout_tpe_study_extra(
getattr(args, "sl_mode", None) or "fixed",
getattr(args, "orderbook_filter", None) or "off",
)
study_name = resolve_study_name(
strategy=strategy,