# D-013: Stop Order 에뮬레이션

> Ante 설계 결정 기록.
> 인덱스: [README.md](README.md)

**결정**: Stop/Stop-Limit 주문은 시스템 내 에뮬레이션으로 처리한다.

**배경**:
- KRX(한국거래소)는 stop order를 네이티브로 지원하지 않음 — 지정가/시장가만 제공
- TSE(일본), HKEX(홍콩) 등 아시아 주요 거래소도 동일
- 미국 거래소(NYSE/NASDAQ)는 네이티브 지원하나, KIS Open API가 이를 노출하지 않음
- KIS 예약주문 API는 시간 기반 예약이지, 가격 조건 트리거가 아님
- python-kis(pykis) 라이브러리도 stop order 미구현

**방안**:
- EventBus의 `OrderRequestEvent`에 정의된 `order_type: "stop" | "stop_limit"`, `stop_price` 필드를 그대로 활용
- 상위 계층(StopOrderManager)이 가격 모니터링 → 트리거 가격 도달 시 market/limit으로 변환 → BrokerAdapter 호출
- BrokerAdapter 인터페이스에 `stop_price` 파라미터를 예비하되, KIS 구현체는 stop/stop_limit 직접 호출 시 ValueError 발생
- 향후 네이티브 stop을 지원하는 브로커(예: Interactive Brokers) 추가 시 파라미터 직접 활용 가능

**미결**: StopOrderManager 상세 설계는 Phase 3 구현 단계에서 확정

**영향 범위**:
- `broker-adapter.md`: place_order() 인터페이스에 stop_price 추가, KIS 구현체에 stop 거부 로직, 에뮬레이션 흐름도 추가
- `trade.md`: TradeRecord.order_type에 stop/stop_limit 추가
