- Optuna web jobs/TPE/apply snapshot·틱로더 정합, jobs limit·감사로그 - 백테 UI 호가모드·후보 적용 흐름, feed_collect_stats API/탭 - 가설검증·교차검증 룰, 4전략 스모크·OB slot41 진단 스크립트 Co-authored-by: Cursor <cursoragent@cursor.com>
50 lines
1.6 KiB
Bash
Executable File
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"
|