# Phase: 백테스트 루프

## 상태

[진행중]

## 목표

사용자가 정한 종목군을 자동으로 수집하고 매일 갱신할 수 있는 데이터 파이프라인을 기준으로, 정제 데이터 저장, strategy execution, run lifecycle, result persistence, 기본 분석 표면을 만든다. ALT 확장의 중심축이 되는 반복 가능한 백테스트 인프라와 실행 루프를 안정화한다.

## Milestone 흐름

완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획, 스케치 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.

- [완료] Backtest Engine Baseline
  - 경로: `agent-roadmap/archive/phase/backtest-loop/milestones/backtest-engine-baseline.md`
  - 요약: 일봉 데이터를 기준으로 재현 가능한 backtest execution loop와 결과 저장을 만든다.
- [완료] Backtest Analysis Surface
  - 경로: `agent-roadmap/archive/phase/backtest-loop/milestones/backtest-analysis-surface.md`
  - 요약: backtest 결과를 operator가 비교하고 해석할 수 있는 기본 분석 표면을 만든다.
- [완료] Backtest Data Collection Infrastructure
  - 경로: `agent-roadmap/archive/phase/backtest-loop/milestones/backtest-data-collection-infrastructure.md`
  - 요약: 선택 종목을 자동/일별로 수집하고 정제된 백테스트 입력 데이터만 DB에 남기는 headless 인프라를 만든다.
- [완료] Backtest Scenario Automation
  - 경로: `agent-roadmap/archive/phase/backtest-loop/milestones/backtest-scenario-automation.md`
  - 요약: 선택 universe와 기간 조합을 반복 가능한 backtest scenario로 실행하고, 원격 runner에서 migration/runtime/secret 주입/결과 handoff를 안정화한다.
- [진행중] Backtest Multi-Timeframe Coverage
  - 경로: `agent-roadmap/phase/backtest-loop/milestones/backtest-multi-timeframe-coverage.md`
  - 요약: 월봉, 일봉, 분봉을 백테스트 기본 분석 timeframe으로 정리하고 data import/store/backtest/freshness 검증을 맞춘다.
- [계획] Scheduled Market Data Refresh
  - 경로: `agent-roadmap/phase/backtest-loop/milestones/scheduled-market-data-refresh.md`
  - 요약: 원격 서버에서 선택 universe의 market data import를 주기 실행하고 freshness/backfill/readiness를 headless로 확인한다.

## Phase 경계

- 이 Phase는 deterministic backtest와 기본 result analysis에 집중한다.
- 선택 종목 수집, 일별 갱신, 정제 데이터 저장은 백테스트 실행 가능성의 선행 인프라로 이 Phase에서 다룬다.
- 에이전트 도입, 에이전트 skillset, `../iop`/`../agent-shell` 연결은 이 Phase의 책임이 아니며 `agent-tooling` Phase에서 별도로 정의한다.
- paper/live order routing, 실시간 전략 실행, 고급 리스크 모델 전체는 거래 확장 Phase에서 다룬다.
- worker가 backtest 실행을 소유하고 API는 실행 요청과 조회 경계를 담당한다.
