71 lines
2.4 KiB
Markdown
71 lines
2.4 KiB
Markdown
# Milestone: Backtest Engine Baseline
|
|
|
|
## 위치
|
|
|
|
- Roadmap: `agent-ops/roadmap/ROADMAP.md`
|
|
- Phase: `agent-ops/roadmap/phase/backtest-loop/PHASE.md`
|
|
|
|
## 목표
|
|
|
|
정규화된 일봉 데이터를 사용해 전략 실행, portfolio state, result summary가 재현 가능한 backtest loop를 만든다. 이 milestone은 백테스트 기반을 ALT 확장의 중심축으로 고정한다.
|
|
|
|
## 상태
|
|
|
|
[계획]
|
|
|
|
## 구현 잠금
|
|
|
|
- 상태: 해제
|
|
- 결정 필요: 없음
|
|
|
|
## 범위
|
|
|
|
- daily bar 기반 strategy execution skeleton
|
|
- deterministic backtest run lifecycle
|
|
- starting cash, ending equity, trades/positions summary
|
|
- result persistence and query
|
|
- fixture data 기반 검증
|
|
|
|
## 필수 기능
|
|
|
|
### Epic: [backtest-engine] Deterministic backtest engine
|
|
|
|
일봉 기반 전략 실행, portfolio state, result 저장과 fixture 검증 흐름을 묶는다.
|
|
|
|
- [ ] [run-lifecycle] backtest run의 pending/running/succeeded/failed/canceled lifecycle이 있다.
|
|
- [ ] [strategy-port] strategy를 engine에 주입할 port 또는 interface가 있다.
|
|
- [ ] [portfolio-state] cash, position, equity를 계산하는 최소 portfolio state가 있다.
|
|
- [ ] [result-store] backtest result가 저장되고 조회된다.
|
|
- [ ] [fixture-test] fixture daily bars로 deterministic test가 통과한다.
|
|
|
|
## 완료 기준
|
|
|
|
- [ ] 동일한 fixture와 strategy 입력으로 동일한 result가 나온다.
|
|
- [ ] worker가 backtest 실행을 소유하고 API는 실행 요청/조회 경계만 담당한다.
|
|
- [ ] 결과가 contracts/client에서 조회 가능한 형태로 연결될 수 있다.
|
|
- [ ] `bin/test`와 `bin/lint`가 통과한다.
|
|
|
|
## 완료 리뷰
|
|
|
|
- 상태: 없음
|
|
- 요청일: 없음
|
|
- 완료 근거: 아직 필수 기능과 완료 기준이 충족되지 않았다.
|
|
- 리뷰 필요:
|
|
- [ ] 사용자가 완료 결과를 확인했다
|
|
- [ ] archive 이동을 승인했다
|
|
- 리뷰 코멘트: 없음
|
|
|
|
## 범위 제외
|
|
|
|
- 실시간 전략 실행
|
|
- paper/live order routing
|
|
- 고급 리스크 모델
|
|
- 고급 성과 분석 지표 전체
|
|
|
|
## 작업 컨텍스트
|
|
|
|
- 관련 경로: `packages/domain/backtest/`, `services/worker/`, `packages/contracts/proto/alt/v1/backtest.proto`
|
|
- 표준선(선택): Go는 Hexagonal Architecture, light CQRS, domain event 표현을 기본 설계 프레임으로 삼는다.
|
|
- 선행 작업: Korea Daily Data Foundation
|
|
- 후속 작업: Backtest Analysis Surface
|
|
- 확인 필요: 없음
|