feat: Enhance Optuna integration and logging for backtesting framework
Changes: - Added new API endpoints for continuing and confirming Optuna jobs, allowing for better management of ongoing studies. - Introduced detailed logging for tick feed tracking and order book processing, improving traceability of vendor performance during backtests. - Updated database schema to include new fields for managing Optuna study results, enhancing the ability to track study progress and outcomes. - Refactored existing functions to utilize the new logging and tracking features, ensuring consistency across the backtesting framework. Impact: - These enhancements improve the robustness and transparency of the Optuna backtesting process, facilitating better analysis and optimization of trading strategies.
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Optuna 브리핑 — 돌파 (tpe)
|
||||
기간: 2026-08-18 ~ 2026-08-20 (거래일≈3일) · trials 200/200
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 193건 · 사후합격(results_gated) 78건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 59.0%** · **적용 가능도 41.0%** · 판정: **주의** — 적용 가능도 중간 — 다일(≥5일) 재검증·웹백테 후 소액만
|
||||
- 표본 장일: +16.0p — 거래일≈3일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +18.0p — 상위 후보 거래 3건 — 표본 부족
|
||||
- 승률·PF 이상치: +25.0p — 승률 100.0% + 거래 3건 · PF 9999.00 (소수 거래 폭증)
|
||||
- 게이트 커버: +0.0p — 사후합격 78건 · stable 59건
|
||||
- PnL 고원: +0.0p — 고원 비율 1% (1건)
|
||||
- 임계값 분포 표본: results_gated 상위 30건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `max_daily_chg` | 24.5 | 22.0 ~ 30.0 | 21.0 (13%) |
|
||||
| `vol_mult` | 1.8 | 1.4 ~ 2.1 | 1.4 (13%) |
|
||||
| `vol_window` | 1.0 | 1.0 ~ 2.0 | 1 (67%) |
|
||||
| `min_turnover_1m_pct` | 0.3 | 0.25 ~ 0.3875 | 0.3 (27%) |
|
||||
| `prev_chg_min` | 0.9 | 0.9 ~ 1.0 | 1.0 (43%) |
|
||||
| `prev_chg_max` | 11.0 | 8.25 ~ 17.25 | 11.0 (13%) |
|
||||
| `min_price` | 4000.0 | 3000.0 ~ 4000.0 | 4000 (37%) |
|
||||
| `tp_pct` | 13.5 | 9.5 ~ 16.375 | 14.5 (7%) |
|
||||
| `sl_mode` | — | — | fixed (100%) |
|
||||
| `trail_pct` | 4.2 | 3.6 ~ 4.675 | 4.2 (10%) |
|
||||
| `trail_arm_pct` | 4.0 | 3.1 ~ 4.55 | 2.8 (7%) |
|
||||
| `shoulder_min_high_pct` | 3.2 | 2.425 ~ 4.5 | 2.7 (10%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 8건 · 승률 50% · 합산 PnL 258원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 사후합격 1위: trial #80 · 거래 3건 · 승률 100.0% · PF 9999.00 · PnL 27,539원
|
||||
- 승률이 비정상적으로 높고 표본이 작습니다 → **해당 장에만 맞는 과적합** 신호.
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 사후합격이 있어도 ‘내일도 같은 장’이 아닙니다. 페이퍼/소액·모의로 1~2일 관찰 후 확대하세요.
|
||||
|
||||
_생성: 2026-08-21 11:48:18 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
@@ -0,0 +1,46 @@
|
||||
# Optuna 브리핑 — 돌파 (tpe)
|
||||
기간: 2026-08-18 ~ 2026-08-20 (거래일≈3일) · trials 200/200
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 175건 · 사후합격(results_gated) 51건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 66.0%** · **적용 가능도 34.0%** · 판정: **주의** — 적용 가능도 중간 — 다일(≥5일) 재검증·웹백테 후 소액만
|
||||
- 표본 장일: +16.0p — 거래일≈3일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +25.0p — 상위 후보 거래 1건 — 우연 승·과적합 가능
|
||||
- 승률·PF 이상치: +25.0p — 승률 100.0% + 거래 1건 · PF 9999.00 (소수 거래 폭증)
|
||||
- 게이트 커버: +0.0p — 사후합격 51건 · stable 14건
|
||||
- PnL 고원: +0.0p — 고원 비율 2% (1건)
|
||||
- 임계값 분포 표본: results_gated 상위 30건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `max_daily_chg` | 25.0 | 23.0 ~ 27.0 | 27.0 (23%) |
|
||||
| `vol_mult` | 2.4 | 2.125 ~ 2.775 | 2.3 (13%) |
|
||||
| `vol_window` | 10.5 | 9.25 ~ 12.0 | 10 (23%) |
|
||||
| `min_turnover_1m_pct` | 0.25 | 0.2 ~ 0.35 | 0.25 (23%) |
|
||||
| `prev_chg_min` | 0.9 | 0.9 ~ 1.0 | 1.0 (40%) |
|
||||
| `prev_chg_max` | 17.75 | 13.375 ~ 22.75 | 23.0 (10%) |
|
||||
| `min_price` | 2000.0 | 1500.0 ~ 2875.0 | 1000 (23%) |
|
||||
| `tp_pct` | 10.75 | 6.25 ~ 15.0 | 3.0 (7%) |
|
||||
| `sl_mode` | — | — | atr (100%) |
|
||||
| `trail_pct` | 0.65 | 0.225 ~ 1.2 | 0.1 (20%) |
|
||||
| `trail_arm_pct` | 2.8 | 2.125 ~ 3.875 | 2.1 (10%) |
|
||||
| `shoulder_min_high_pct` | 4.4 | 3.0 ~ 5.3 | 5.3 (10%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 8건 · 승률 50% · 합산 PnL 258원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 사후합격 1위: trial #141 · 거래 1건 · 승률 100.0% · PF 9999.00 · PnL 10,752원
|
||||
- 승률이 비정상적으로 높고 표본이 작습니다 → **해당 장에만 맞는 과적합** 신호.
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 사후합격이 있어도 ‘내일도 같은 장’이 아닙니다. 페이퍼/소액·모의로 1~2일 관찰 후 확대하세요.
|
||||
|
||||
_생성: 2026-08-21 12:01:54 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
@@ -0,0 +1,46 @@
|
||||
# Optuna 브리핑 — 모멘텀 (tpe)
|
||||
기간: 2026-08-17 ~ 2026-08-20 (거래일≈4일) · trials 15/5
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 10건 · 사후합격(results_gated) 0건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 28.0%** · **적용 가능도 72.0%** · 판정: **상대적으로낮음** — 휴리스틱상 위험 상대적 낮음 — 그래도 다일 확인 권장
|
||||
- 표본 장일: +16.0p — 거래일≈4일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +0.0p — 상위 후보 거래 29건 — 상대적 양호
|
||||
- 승률·PF 이상치: +0.0p — 이상치 없음
|
||||
- 게이트 커버: +12.0p — 사후합격 0건 (학습 10) — DB 적용 비권장
|
||||
- PnL 고원: +0.0p — 고원 비율 10% (1건)
|
||||
- 임계값 분포 표본: results(learning) 상위 10건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `use_ema_filter` | 0.0 | 0.0 ~ 0.0 | False (80%) |
|
||||
| `ema_fast_period` | 10.0 | 8.5 ~ 12.5 | 10 (30%) |
|
||||
| `ema_slow_period` | 26.0 | 19.25 ~ 34.5 | 15 (20%) |
|
||||
| `mom_vol_mult` | 7.1 | 4.925 ~ 8.0 | 8.1 (10%) |
|
||||
| `mom_vol_win` | 4.5 | 3.25 ~ 8.25 | 3 (30%) |
|
||||
| `e_min_chg_pct` | 1.4 | 0.625 ~ 2.025 | 1.6 (10%) |
|
||||
| `tp_pct` | 3.65 | 2.375 ~ 6.35 | 5.0 (10%) |
|
||||
| `tp_max_pct` | 14.0 | 13.125 ~ 16.25 | 14.0 (20%) |
|
||||
| `sl_pct` | 2.1 | 1.25 ~ 3.775 | 1.7 (20%) |
|
||||
| `shoulder_min_high` | 2.9 | 2.275 ~ 3.4 | 2.2 (10%) |
|
||||
| `shoulder_cut_pct` | 0.325 | 0.05 ~ 0.525 | 0.05 (40%) |
|
||||
| `trail_pct` | 2.35 | 0.85 ~ 3.575 | 3.7 (10%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 51건 · 승률 33% · 합산 PnL 104,435원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 학습 1위(사후게이트 미달 가능): trial #13 · 거래 29건 · 승률 41.4% · PF 0.75 · PnL -25,068원
|
||||
- 플러스/학습 후보는 있으나 승률·PF 사후 기준은 못 넘김 → **당장 DB 적용은 비권장.**
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 현재 사후합격 0건 → 파라미터 유지(현행 DB) + 유니버스/데이터 점검이 우선입니다.
|
||||
|
||||
_생성: 2026-08-20 12:17:45 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
@@ -0,0 +1,45 @@
|
||||
# Optuna 브리핑 — 모멘텀 (tpe)
|
||||
기간: 2026-08-18 ~ 2026-08-20 (거래일≈3일) · trials 200/200
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 188건 · 사후합격(results_gated) 21건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 16.0%** · **적용 가능도 84.0%** · 판정: **상대적으로낮음** — 휴리스틱상 위험 상대적 낮음 — 그래도 다일 확인 권장
|
||||
- 표본 장일: +16.0p — 거래일≈3일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +0.0p — 상위 후보 거래 30건 — 상대적 양호
|
||||
- 승률·PF 이상치: +0.0p — 이상치 없음
|
||||
- 게이트 커버: +0.0p — 사후합격 21건 · stable 3건
|
||||
- PnL 고원: +0.0p — 고원 비율 5% (1건)
|
||||
- 임계값 분포 표본: results_gated 상위 21건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `use_ema_filter` | 0.0 | 0.0 ~ 0.0 | False (95%) |
|
||||
| `ema_fast_period` | 9.0 | 8.0 ~ 10.0 | 10 (29%) |
|
||||
| `ema_slow_period` | 33.0 | 30.0 ~ 39.0 | 30 (24%) |
|
||||
| `mom_vol_mult` | 9.1 | 8.8 ~ 9.2 | 9.2 (33%) |
|
||||
| `mom_vol_win` | 5.0 | 5.0 ~ 5.0 | 5 (100%) |
|
||||
| `e_min_chg_pct` | 1.9 | 1.8 ~ 2.1 | 1.7 (19%) |
|
||||
| `tp_pct` | 10.3 | 9.7 ~ 11.1 | 11.4 (19%) |
|
||||
| `tp_max_pct` | 15.5 | 14.0 ~ 16.0 | 16.0 (24%) |
|
||||
| `sl_pct` | 6.9 | 6.4 ~ 7.2 | 7.3 (19%) |
|
||||
| `shoulder_min_high` | 4.5 | 4.4 ~ 4.6 | 4.6 (29%) |
|
||||
| `shoulder_cut_pct` | 0.2 | 0.2 ~ 0.25 | 0.2 (52%) |
|
||||
| `trail_pct` | 3.2 | 2.9 ~ 3.3 | 3.3 (24%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 53건 · 승률 32% · 합산 PnL 104,435원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 사후합격 1위: trial #103 · 거래 30건 · 승률 53.3% · PF 1.16 · PnL 19,877원
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 사후합격이 있어도 ‘내일도 같은 장’이 아닙니다. 페이퍼/소액·모의로 1~2일 관찰 후 확대하세요.
|
||||
|
||||
_생성: 2026-08-21 10:51:32 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
@@ -0,0 +1,46 @@
|
||||
# Optuna 브리핑 — 모멘텀 (tpe)
|
||||
기간: 2026-08-18 ~ 2026-08-20 (거래일≈3일) · trials 200/200
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 185건 · 사후합격(results_gated) 0건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 28.0%** · **적용 가능도 72.0%** · 판정: **상대적으로낮음** — 휴리스틱상 위험 상대적 낮음 — 그래도 다일 확인 권장
|
||||
- 표본 장일: +16.0p — 거래일≈3일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +0.0p — 상위 후보 거래 53건 — 상대적 양호
|
||||
- 승률·PF 이상치: +0.0p — 이상치 없음
|
||||
- 게이트 커버: +12.0p — 사후합격 0건 (학습 185) — DB 적용 비권장
|
||||
- PnL 고원: +0.0p — 고원 비율 1% (1건)
|
||||
- 임계값 분포 표본: results(learning) 상위 30건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `use_ema_filter` | 1.0 | 1.0 ~ 1.0 | True (83%) |
|
||||
| `ema_fast_period` | 14.0 | 12.0 ~ 15.0 | 15 (37%) |
|
||||
| `ema_slow_period` | 40.0 | 37.25 ~ 42.0 | 41 (17%) |
|
||||
| `mom_vol_mult` | 6.9 | 6.3 ~ 7.3 | 7.7 (13%) |
|
||||
| `mom_vol_win` | 3.0 | 3.0 ~ 4.0 | 3 (70%) |
|
||||
| `e_min_chg_pct` | 0.9 | 0.7 ~ 1.2 | 1.2 (17%) |
|
||||
| `tp_pct` | 1.5 | 1.5 ~ 1.6 | 1.5 (57%) |
|
||||
| `tp_max_pct` | 7.0 | 4.5 ~ 9.375 | 3.5 (13%) |
|
||||
| `sl_pct` | 2.85 | 2.125 ~ 3.875 | 1.7 (7%) |
|
||||
| `shoulder_min_high` | 3.2 | 3.0 ~ 3.7 | 3.2 (17%) |
|
||||
| `shoulder_cut_pct` | 0.3 | 0.25 ~ 0.3375 | 0.3 (40%) |
|
||||
| `trail_pct` | 0.95 | 0.625 ~ 1.175 | 1.1 (17%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 53건 · 승률 32% · 합산 PnL 104,435원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 학습 1위(사후게이트 미달 가능): trial #143 · 거래 53건 · 승률 45.3% · PF 0.79 · PnL -29,365원
|
||||
- 플러스/학습 후보는 있으나 승률·PF 사후 기준은 못 넘김 → **당장 DB 적용은 비권장.**
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 현재 사후합격 0건 → 파라미터 유지(현행 DB) + 유니버스/데이터 점검이 우선입니다.
|
||||
|
||||
_생성: 2026-08-21 15:12:24 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
@@ -0,0 +1,46 @@
|
||||
# Optuna 브리핑 — 스캘핑 (tpe)
|
||||
기간: 2026-08-18 ~ 2026-08-20 (거래일≈3일) · trials 200/200
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 143건 · 사후합격(results_gated) 28건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 72.0%** · **적용 가능도 28.0%** · 판정: **비권장** — 과적합·표본부족 위험 높음 — 실매 DB 즉시 적용 비권장
|
||||
- 표본 장일: +16.0p — 거래일≈3일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +25.0p — 상위 후보 거래 1건 — 우연 승·과적합 가능
|
||||
- 승률·PF 이상치: +25.0p — 승률 100.0% + 거래 1건 · PF 9999.00 (소수 거래 폭증)
|
||||
- 게이트 커버: +0.0p — 사후합격 28건 · stable 2건
|
||||
- PnL 고원: +6.0p — PnL 고원 8/28 (29%)
|
||||
- 임계값 분포 표본: results_gated 상위 28건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `rsi_period` | 14.0 | 13.75 ~ 14.0 | 14 (75%) |
|
||||
| `rsi_oversold` | 18.5 | 18.0 ~ 18.5 | 18.5 (32%) |
|
||||
| `rsi_overbought` | 70.0 | 68.375 ~ 72.75 | 69.0 (11%) |
|
||||
| `sl_pct` | 1.65 | 1.2 ~ 2.3 | 1.5 (18%) |
|
||||
| `tp_pct` | 2.5 | 2.1 ~ 3.225 | 2.3 (11%) |
|
||||
| `tp_max_pct` | 6.5 | 6.0 ~ 7.5 | 6.0 (25%) |
|
||||
| `drop_rate` | 8.55 | 7.9 ~ 8.825 | 10.0 (14%) |
|
||||
| `shoulder_min_high` | 0.7 | 0.7 ~ 0.825 | 0.7 (39%) |
|
||||
| `shoulder_cut_pct` | 0.15 | 0.1 ~ 0.25 | 0.15 (25%) |
|
||||
| `cooldown_min` | 3.0 | 3.0 ~ 4.0 | 4 (39%) |
|
||||
| `high_chase_thr` | 0.97 | 0.965 ~ 0.975 | 0.97 (29%) |
|
||||
| `max_daily_chg` | 42.0 | 26.75 ~ 44.25 | 45.0 (14%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 8건 · 승률 0% · 합산 PnL -32,761원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 사후합격 1위: trial #130 · 거래 1건 · 승률 100.0% · PF 9999.00 · PnL 1,542원
|
||||
- 승률이 비정상적으로 높고 표본이 작습니다 → **해당 장에만 맞는 과적합** 신호.
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 사후합격이 있어도 ‘내일도 같은 장’이 아닙니다. 페이퍼/소액·모의로 1~2일 관찰 후 확대하세요.
|
||||
|
||||
_생성: 2026-08-21 12:21:56 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
@@ -0,0 +1,45 @@
|
||||
# Optuna 브리핑 — 꼬리 (tpe)
|
||||
기간: 2026-08-18 ~ 2026-08-20 (거래일≈3일) · trials 200/200
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 178건 · 사후합격(results_gated) 68건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 26.0%** · **적용 가능도 74.0%** · 판정: **상대적으로낮음** — 휴리스틱상 위험 상대적 낮음 — 그래도 다일 확인 권장
|
||||
- 표본 장일: +16.0p — 거래일≈3일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +10.0p — 상위 후보 거래 8건 — 해석 시 주의
|
||||
- 승률·PF 이상치: +0.0p — 이상치 없음
|
||||
- 게이트 커버: +0.0p — 사후합격 68건 · stable 56건
|
||||
- PnL 고원: +0.0p — 고원 비율 1% (1건)
|
||||
- 임계값 분포 표본: results_gated 상위 30건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `entry_mode` | — | — | align (100%) |
|
||||
| `cand_limit` | 20.0 | 0.0 ~ 20.0 | 20 (63%) |
|
||||
| `max_daily_change` | 25.0 | 21.5 ~ 28.0 | 28.0 (13%) |
|
||||
| `min_drop_rate` | 0.085 | 0.06 ~ 0.11375 | 0.085 (10%) |
|
||||
| `min_recovery_ratio` | 0.17 | 0.1125 ~ 0.2 | 0.2 (23%) |
|
||||
| `tail_ratio_min` | 0.7 | 0.5 ~ 0.8 | 0.7 (23%) |
|
||||
| `tail_pct_min` | 0.00775 | 0.006125 ~ 0.009 | 0.0075 (13%) |
|
||||
| `max_rec_3m` | 0.78 | 0.74 ~ 0.8375 | 0.73 (10%) |
|
||||
| `shoulder_min_high` | 0.005 | 0.004 ~ 0.006 | 0.006 (27%) |
|
||||
| `shoulder_cut_pct` | 0.002 | 0.001 ~ 0.0025 | 0.002 (23%) |
|
||||
| `stop_atr_mult` | 1.4 | 1.1 ~ 1.5 | 1.5 (20%) |
|
||||
| `target_atr_mult` | 2.35 | 1.925 ~ 2.6 | 2.6 (17%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 1건 · 승률 0% · 합산 PnL 0원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 사후합격 1위: trial #144 · 거래 8건 · 승률 87.5% · PF 10.31 · PnL 16,887원
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 사후합격이 있어도 ‘내일도 같은 장’이 아닙니다. 페이퍼/소액·모의로 1~2일 관찰 후 확대하세요.
|
||||
|
||||
_생성: 2026-08-21 11:15:39 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
@@ -0,0 +1,46 @@
|
||||
# Optuna 브리핑 — 꼬리 (tpe)
|
||||
기간: 2026-08-18 ~ 2026-08-20 (거래일≈3일) · trials 200/200
|
||||
탐색 게이트: WR≥0% PF≥0 · min_trades≥1 | 후보 게이트: WR≥40% PF≥1 · min_trades≥1
|
||||
- min_trades=1: **합격 인정 최소 거래 건수**(표본 부족·우연 승률 방지). 이보다 적은 조합은 학습/후보 집계에서 제외됩니다.
|
||||
학습용 통과 96건 · 사후합격(results_gated) 88건
|
||||
|
||||
## 과적합·적용 가능도 (휴리스틱)
|
||||
- **과적합 위험 72.0%** · **적용 가능도 28.0%** · 판정: **비권장** — 과적합·표본부족 위험 높음 — 실매 DB 즉시 적용 비권장
|
||||
- 표본 장일: +16.0p — 거래일≈3일 — 다일 재검증 권장(≥5일)
|
||||
- 거래 표본: +25.0p — 상위 후보 거래 1건 — 우연 승·과적합 가능
|
||||
- 승률·PF 이상치: +25.0p — 승률 100.0% + 거래 1건 · PF 9999.00 (소수 거래 폭증)
|
||||
- 게이트 커버: +0.0p — 사후합격 88건 · stable 0건
|
||||
- PnL 고원: +6.0p — PnL 고원 22/88 (25%)
|
||||
- 임계값 분포 표본: results_gated 상위 30건
|
||||
| 파라미터 | median | p25~p75 | mode(비율) |
|
||||
|---|---:|---|---|
|
||||
| `entry_mode` | — | — | limit_atr (100%) |
|
||||
| `cand_limit` | 20.0 | 20.0 ~ 20.0 | 20 (80%) |
|
||||
| `max_daily_change` | 32.0 | 24.25 ~ 39.0 | 40.0 (10%) |
|
||||
| `min_drop_rate` | 0.0675 | 0.035 ~ 0.12375 | 0.15 (13%) |
|
||||
| `min_recovery_ratio` | 0.15 | 0.1125 ~ 0.1975 | 0.12 (13%) |
|
||||
| `tail_ratio_min` | 0.8 | 0.5 ~ 1.0 | 1.0 (23%) |
|
||||
| `tail_pct_min` | 0.0025 | 0.001125 ~ 0.003875 | 0.001 (20%) |
|
||||
| `max_rec_3m` | 0.755 | 0.7325 ~ 0.7975 | 0.76 (13%) |
|
||||
| `shoulder_min_high` | 0.012 | 0.00825 ~ 0.013 | 0.013 (23%) |
|
||||
| `shoulder_cut_pct` | 0.0015 | 0.001 ~ 0.002 | 0.001 (27%) |
|
||||
| `stop_atr_mult` | 2.55 | 1.525 ~ 2.8 | 2.7 (17%) |
|
||||
| `target_atr_mult` | 1.15 | 0.9 ~ 1.475 | 0.8 (20%) |
|
||||
- _참고: 과적합%는 교차검증 점수가 아니라 표본·이상치·고원 휴리스틱입니다. 적용 가능도%=100−과적합위험%. DB 적용 버튼 활성 조건(gated PnL>0)과는 별개입니다._
|
||||
|
||||
## 이전 장에서는
|
||||
- 실매 동기간 청산 1건 · 승률 0% · 합산 PnL 0원 (백테 Optuna와 숫자 달라도 정상 — 고스트·유니버스·틱 경로 차이).
|
||||
- 사후합격 1위: trial #34 · 거래 1건 · 승률 100.0% · PF 9999.00 · PnL 2,061원
|
||||
- 승률이 비정상적으로 높고 표본이 작습니다 → **해당 장에만 맞는 과적합** 신호.
|
||||
|
||||
## 앞으로 장에서는
|
||||
- **1~2일 Optuna best를 바로 실매에 넣지 마세요.** 다일(≥5거래일) 재검증·웹백테 1회 후 검토.
|
||||
- 적용 시에는 `results_gated` 후보만. 탐색용 best(objective)와 다를 수 있습니다.
|
||||
- 장이 좁아지거나 변동성이 커지면: 손절·트레일·시간창이 먼저 깨집니다. 승률 자랑보다 **손절이 살아 있는지**를 보세요.
|
||||
- 사후합격이 있어도 ‘내일도 같은 장’이 아닙니다. 페이퍼/소액·모의로 1~2일 관찰 후 확대하세요.
|
||||
|
||||
_생성: 2026-08-21 11:31:32 (rule)_
|
||||
|
||||
## AI 코멘트
|
||||
|
||||
_(미생성: api_call_failed. 구글 키는 GEMINI_API_KEY 를 DB/환경에 넣으세요 — kis_trader/backtest/optuna_briefing.py 모듈 docstring 참고)_
|
||||
Reference in New Issue
Block a user