You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
4.4 KiB
Markdown
108 lines
4.4 KiB
Markdown
# Phase 4 개발문서 패키지
|
|
|
|
이 문서는 **Phase 0의 전략/리스크/데이터 정책**, **Phase 1의 저장소 구조/DB/서비스 계약**, **Phase 2의 ingestion 파이프라인**, **Phase 3의 parser/feature/label 규칙**을 바탕으로,
|
|
AI 코딩 에이전트가 **누수 없는 event-driven 백테스터와 실험/평가 체계**를 구현할 수 있도록 만든 **Phase 4 상세 개발문서**입니다.
|
|
|
|
## 목표
|
|
|
|
Phase 4의 목표는 아래 9가지를 실제 코드 수준으로 구현하는 것입니다.
|
|
|
|
1. **event-driven backtest engine**을 구현한다.
|
|
2. **reaction day / entry day / holding horizon**을 정확히 처리한다.
|
|
3. **look-ahead bias / survivorship bias / timestamp leakage**를 방지한다.
|
|
4. **포트폴리오/리스크/자금 배분 규칙**을 백테스트에 반영한다.
|
|
5. **point-in-time feature snapshot**만으로 시뮬레이션한다.
|
|
6. **실험 정의(manifest), 결과 저장, 재현 가능한 실행 규칙**을 만든다.
|
|
7. **평가 지표와 리포트 산출물**을 고정한다.
|
|
8. **ablation / walk-forward / regime split** 실험 체계를 만든다.
|
|
9. **Phase 6 paper trading과 비교 가능한 output contract**를 만든다.
|
|
|
|
## 포함 문서
|
|
|
|
- `backtest_architecture.md`
|
|
- Phase 4 전체 아키텍처
|
|
- 입력/출력 데이터 계약
|
|
- engine 경계와 상태 전이
|
|
- `simulation_engine_design.md`
|
|
- 백테스터 내부 동작 상세
|
|
- event queue / calendar / fill logic / price lookup 규칙
|
|
- `portfolio_and_risk_model.md`
|
|
- 포지션 sizing
|
|
- 동시보유 수
|
|
- 섹터 집중 제한
|
|
- 손절/익절/시간청산 모델
|
|
- `experiment_and_evaluation_plan.md`
|
|
- 실험 정의 방식
|
|
- evaluation metrics
|
|
- ablation / walk-forward / split 규칙
|
|
- `configuration_and_schemas.md`
|
|
- config 파일 구조
|
|
- manifest 사용 규칙
|
|
- 결과 저장 포맷
|
|
- `implementation_plan.md`
|
|
- AI 코딩 에이전트용 구현 순서
|
|
- 작업 분할
|
|
- 완료 기준
|
|
- 금지사항
|
|
- `testing_checklist.md`
|
|
- 단위/통합/replay/통계/운영 전 테스트 체크리스트
|
|
- `operator_research_runbook.md`
|
|
- 연구자가 백테스트를 실행하고 결과를 검증하는 절차
|
|
- `backtest_config.schema.json`
|
|
- 백테스트 설정 JSON Schema
|
|
- `experiment_manifest.schema.json`
|
|
- 실험 실행 manifest JSON Schema
|
|
|
|
## Phase 4 범위
|
|
|
|
Phase 4에서는 아래까지만 구현합니다.
|
|
|
|
- event-driven 백테스터
|
|
- point-in-time feature snapshot reader
|
|
- signal ranking / candidate selection
|
|
- portfolio / risk / sizing engine
|
|
- execution approximation (next open / close / stop / trailing / time exit)
|
|
- evaluation / report writer
|
|
- experiment registry / manifest runner
|
|
- walk-forward / split utilities
|
|
|
|
Phase 4에서는 아직 아래를 구현하지 않습니다.
|
|
|
|
- 실시간 주문 전송
|
|
- broker API live execution
|
|
- paper trading orchestration
|
|
- human approval workflow
|
|
- 실전 알림/모니터링
|
|
|
|
## 핵심 원칙
|
|
|
|
1. **백테스트는 live가 나중에 따라와야 할 기준이 아니라, live와 같은 제약을 최대한 먼저 반영하는 장치**여야 한다.
|
|
2. **미래 정보는 단 1바이트도 사용하지 않는다.**
|
|
3. **event timestamp와 market session 경계를 정확히 처리한다.**
|
|
4. **문서/피처/라벨이 생성된 시각을 명시적으로 관리한다.**
|
|
5. **모든 실험은 manifest 기반으로 재현 가능해야 한다.**
|
|
6. **좋아 보이는 결과보다, 설명 가능한 결과를 우선한다.**
|
|
7. **Phase 0 정책(무료 데이터 전용, 공식 이벤트 우선, 소셜 overlay only)을 절대 깨지 않는다.**
|
|
|
|
## 권장 구현 순서
|
|
|
|
1. `backtest_architecture.md`
|
|
2. `simulation_engine_design.md`
|
|
3. `portfolio_and_risk_model.md`
|
|
4. `configuration_and_schemas.md`
|
|
5. `backtest_config.schema.json`
|
|
6. `experiment_manifest.schema.json`
|
|
7. `implementation_plan.md`
|
|
8. `testing_checklist.md`
|
|
|
|
## 완료 기준
|
|
|
|
Phase 4 완료의 최소 기준은 다음과 같습니다.
|
|
|
|
- 1D / 3D / 5D horizon 전략을 같은 엔진에서 재현 가능하게 실행할 수 있다.
|
|
- event timestamp와 session alignment가 테스트로 검증되어 있다.
|
|
- candidate ranking → position sizing → fills → exits → metrics pipeline이 끝까지 동작한다.
|
|
- 하나의 manifest로 동일 실험을 다시 실행했을 때 같은 결과가 나온다.
|
|
- Phase 5 attention overlay 전/후 ablation이 비교 가능하다.
|
|
- 실험 리포트에 주요 KPI와 trade blotter, attribution, failure cases가 포함된다.
|