docs: seed peak probability model plan (#86)
Some checks failed
Gitea CI / test (pull_request) Failing after 5s
Some checks failed
Gitea CI / test (pull_request) Failing after 5s
This commit is contained in:
168
docs/ouroboros/86_peak_probability_model_plan.md
Normal file
168
docs/ouroboros/86_peak_probability_model_plan.md
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
<!--
|
||||||
|
Doc-ID: DOC-PLAN-086
|
||||||
|
Version: 0.1.0
|
||||||
|
Status: draft
|
||||||
|
Owner: strategy
|
||||||
|
Updated: 2026-03-02
|
||||||
|
-->
|
||||||
|
|
||||||
|
# 고점 확률 모델 도입 계획 (초안)
|
||||||
|
|
||||||
|
작성일: 2026-03-02
|
||||||
|
목적: 기존 계획(v2)의 "모델 보조 신호"를, 실운용 가능한 단순한 형태로 재정의한다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 한 줄 요약
|
||||||
|
|
||||||
|
- 목표는 "지금이 고점(또는 고점 근처)일 확률"을 예측해 익절/축소/오버나잇 리스크 결정을 보조하는 것이다.
|
||||||
|
- 1차는 정규장 중심으로 시작하고, NXT/US_PRE 등 확장세션은 이후 분리 대응한다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 왜 바꾸는가
|
||||||
|
|
||||||
|
- 기존 논의는 범위가 넓어 구현/검증 비용이 컸다.
|
||||||
|
- 현재 로그 구조에서도 빠르게 시작 가능한 타깃이 필요하다.
|
||||||
|
- 실거래 효용 기준에서 "고점 근처 감지"는 청산 품질 개선에 직접 연결된다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 이번 계획의 핵심 결정
|
||||||
|
|
||||||
|
### 3.1 예측 타깃 (2개)
|
||||||
|
|
||||||
|
- `p_top_d0`: 현재 시점이 "오늘 정규장 고점(근접 포함)"일 확률
|
||||||
|
- `p_top_d1`: 현재 시점이 "내일 정규장 마감까지 포함한 고점(근접 포함)"일 확률
|
||||||
|
|
||||||
|
### 3.2 모델 역할
|
||||||
|
|
||||||
|
- 단독 매도 트리거가 아니라 보조 신호로 사용한다.
|
||||||
|
- Hard stop / ATR trailing / Kill Switch 우선 원칙은 유지한다.
|
||||||
|
|
||||||
|
### 3.3 적용 순서
|
||||||
|
|
||||||
|
1. KR/US 정규장만 대상으로 MVP 구축
|
||||||
|
2. 성능/운영 안정화 후 NXT, US_PRE, US_AFTER 분리 확장
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 데이터/라벨 정의 (MVP)
|
||||||
|
|
||||||
|
### 4.1 샘플 단위
|
||||||
|
|
||||||
|
- 단위: "시점 t의 관측값 1개"
|
||||||
|
- 대상: 주문 가능 시점 중 정책 게이트를 통과하는 시점
|
||||||
|
|
||||||
|
### 4.2 라벨 정의
|
||||||
|
|
||||||
|
- `y_d0 = 1` if `max_high(t ~ 오늘 정규장 마감) <= price_t * (1 + eps_d0)` else `0`
|
||||||
|
- `y_d1 = 1` if `max_high(t ~ 내일 정규장 마감) <= price_t * (1 + eps_d1)` else `0`
|
||||||
|
|
||||||
|
### 4.3 필수 피처 (초기)
|
||||||
|
|
||||||
|
- 가격/수익률: `current_price`, `price_change_pct`
|
||||||
|
- 미시지표: `rsi`, `volume_ratio`, `signal`, `score`
|
||||||
|
- 포트폴리오: `portfolio_pnl_pct`, `total_cash`(선택)
|
||||||
|
- 상태: `market`, `session_id`, `minutes_to_close`, `is_tradeable_now`
|
||||||
|
|
||||||
|
### 4.4 데이터 제외 규칙 (초기)
|
||||||
|
|
||||||
|
- `session_id in ('', 'UNKNOWN')` 제외
|
||||||
|
- `price <= 0` 또는 `quantity <= 0` 제외
|
||||||
|
- `rationale LIKE '[startup-sync]%'` 제외
|
||||||
|
- 라벨 윈도우 불완전(휴장/데이터 누락) 샘플 제외
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 추론/실행 규칙 (초안)
|
||||||
|
|
||||||
|
### 5.1 추론 출력
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"p_top_d0": 0.00,
|
||||||
|
"p_top_d1": 0.00,
|
||||||
|
"model_version": "TBD"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.2 실행 반영 원칙
|
||||||
|
|
||||||
|
- `p_top_d0`가 높으면: 당일 익절/트레일링 강화
|
||||||
|
- `p_top_d1`가 높으면: 오버나잇 보유 축소/청산 우선
|
||||||
|
- 확장세션(NXT/US_PRE)은 초기엔 보수 임계치 또는 실행 제한
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. 세션 이슈 대응 원칙
|
||||||
|
|
||||||
|
### 6.1 거래 가능 세션 기준
|
||||||
|
|
||||||
|
- 달력 시간이 아니라 "종목이 실제 거래 가능한 세션" 기준으로 라벨/추론을 구성한다.
|
||||||
|
|
||||||
|
### 6.2 정규장 vs 확장세션 분리
|
||||||
|
|
||||||
|
- MVP: 정규장 전용 라벨/모델
|
||||||
|
- 확장: 세션별 헤드 또는 세션별 모델 분리 검토
|
||||||
|
|
||||||
|
### 6.3 고점 정의 분리
|
||||||
|
|
||||||
|
- `reg_high`: 정규장 고점 (주 라벨)
|
||||||
|
- `ext_high`: 확장세션 포함 고점 (보조 분석)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. 단계별 구현 계획
|
||||||
|
|
||||||
|
### Phase A: 계약 고정
|
||||||
|
|
||||||
|
- 학습용 canonical dataset 스키마 확정
|
||||||
|
- 시점 정렬(as-of) 규칙 문서화
|
||||||
|
- 라벨 생성 함수/검증 테스트 추가
|
||||||
|
|
||||||
|
### Phase B: 오프라인 검증
|
||||||
|
|
||||||
|
- Walk-forward + Purge/Embargo 평가
|
||||||
|
- `d0`, `d1` 분리 리포트
|
||||||
|
- B1(모델 없음) 대비 개선 여부 확인
|
||||||
|
|
||||||
|
### Phase C: 런타임 통합
|
||||||
|
|
||||||
|
- 추론 결과를 `pred_top_d0/pred_top_d1`로 주입
|
||||||
|
- 매도/축소 보조 규칙 연결
|
||||||
|
- Shadow 모드로 관측 후 제한적 활성화
|
||||||
|
|
||||||
|
### Phase D: 세션 확장
|
||||||
|
|
||||||
|
- NXT/US_PRE/US_AFTER 정책 분리
|
||||||
|
- 실행 게이트/임계치 세션별 튜닝
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. 지금 당장 결정할 최소 항목 (TBD)
|
||||||
|
|
||||||
|
- [ ] `eps_d0`, `eps_d1` 기본값 (`TBD`)
|
||||||
|
- [ ] `p_top_d0`, `p_top_d1` 실행 임계치 (`TBD`)
|
||||||
|
- [ ] 정규장/확장세션 대상 시장 범위 (`TBD`)
|
||||||
|
- [ ] 최소 학습 샘플 수 기준 (`TBD`)
|
||||||
|
- [ ] Shadow 관측 기간 (`TBD`)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. 리스크 및 완화
|
||||||
|
|
||||||
|
- 라벨 불균형: class weight, threshold 튜닝
|
||||||
|
- 시간대 편향(장마감 근처): 시간 피처 추가 + 구간별 성능 보고
|
||||||
|
- 데이터 무결성: 제외 규칙 강제 + CI 검증
|
||||||
|
- 복잡도 증가: 정규장 MVP를 먼저 잠그고 확장세션은 후속 분리
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. 후속 문서 연결 (예정)
|
||||||
|
|
||||||
|
- requirements registry: 신규 REQ/TASK/TEST 매핑 추가
|
||||||
|
- code-level work orders: 구현 작업 분해
|
||||||
|
- acceptance/test plan: `p_top_d0/d1` 검증 항목 추가
|
||||||
|
- implementation audit: 기존 "모델 보조 신호" 항목 업데이트
|
||||||
|
|
||||||
Reference in New Issue
Block a user