Files
kis_bot/scripts/optuna_smoke_all_strategies.sh
Your Name 8fbba264ba 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>
2026-08-27 15:23:44 +09:00

50 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Optuna 전전략 5-trial 스모크 (LS 틱3차 merge 경로 포함)
# 로그: logs/optuna_smoke_all_YYYYMMDD_HHMMSS.log + 전략별 파일
set -u
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
mkdir -p logs
TS="$(date +%Y%m%d_%H%M%S)"
DAY="${1:-2026-08-25}"
TRIALS="${2:-5}"
MASTER="logs/optuna_smoke_all_${TS}.log"
STATUSES="logs/optuna_smoke_status_${TS}.txt"
: >"$STATUSES"
{
echo "======== Optuna smoke start $(date '+%F %T') day=${DAY} trials=${TRIALS} ========"
for S in tail momentum breakout scalp; do
MODE=fast
STUDY="smoke_${S}_${MODE}_${TS}"
LOG="logs/optuna_smoke_${S}_${TS}.log"
echo "----- ${S} study=${STUDY} -----"
set +e
python3 -u kis_trader/backtest/param_search_optuna.py \
--strategy "$S" \
--mode "$MODE" \
--trials "$TRIALS" \
--start "$DAY" \
--end "$DAY" \
--min_trades 1 \
--orderbook-filter off \
--no-progress \
--study-name "$STUDY" \
>"$LOG" 2>&1
RC=$?
set -e
echo "${S} rc=${RC} log=${LOG}" | tee -a "$STATUSES"
echo "----- ${S} done rc=${RC} -----"
# 실패 시그니처
if rg -q "Traceback|Error|❌|KeyError|AttributeError" "$LOG"; then
echo "WARN ${S}: error signature in log" | tee -a "$STATUSES"
rg -n "Traceback|Error|❌|KeyError|AttributeError" "$LOG" | head -40 | tee -a "$STATUSES"
fi
if rg -q "틱 3차 LS|ls_ws_ticks|BT_TICK_LS" "$LOG"; then
echo "INFO ${S}: LS tick path mentioned" | tee -a "$STATUSES"
fi
done
echo "======== Optuna smoke end $(date '+%F %T') ========"
echo "STATUS_FILE=${STATUSES}"
} >>"$MASTER" 2>&1
echo "$MASTER"