ADR-001 자동매매 범위와 실행 모드 (ADR-005·006 개정)
상태
결정 (확정) — ADR-005·ADR-006을 대체한다.
맥락
부 증식 로드맵에서 두 건이 확정돼 있었다.
- ADR-005: 완전 자동 미채택. 시스템은 제안만 만들고 전건 사용자 승인 후 집행.
- ADR-006: 페이퍼 선행.
live는 별도 게이트로 당시 범위 밖.
자동매매봇을 신규 독립 과제로 착수하면서 사용자가 두 결정을 다시 판단했다(2026-08-27). 판단의 배경은 ① 전건 승인은 paper 구간에서 데이터 수집 속도만 늦춘다는 점, ② 집행 인프라를 만드는 이상 live 경로를 설계에서 배제하면 나중에 구조를 다시 짜야 한다는 점이다.
동시에 제약도 새로 드러났다. 토스 Open API에는 sandbox가 없다 — 스펙의 servers가 프로덕션 1개뿐이고 sandbox·모의투자 언급이 0건이다. 같은 자격증명·같은 엔드포인트로 실주문이 나간다.
결정
조건부 자동을 채택하고, paper·live를 모두 설계 범위에 넣는다. 기본값은 PAPER이며 live 전환은 정책 행의 값 변경으로만 이뤄진다.
- 조건부 자동: 산출 투입 금액이 자동 집행 임계 이하면 무승인 집행, 초과면 제안→승인.
paper구간의 임계는 종목당 상한과 같게 두어 사실상 전건 자동으로 돌린다. - 실행 모드:
PAPER(모의 체결 기록) /LIVE(토스 실주문). 기본값PAPER. - 입금 전까지
live를 켜지 않는다 — 입금은 앱 완성 후로 결정됐고(2026-08-27), M1~M3는paper전용이다.
근거
paper는 돈이 나가지 않는다. 실손실 위험이 없는 구간에서 전건 승인을 요구하면 승인 대기가 곧 병목이 되고, 집행 지연이 슬리피지 측정을 오염시킨다. 측정이 목적인 구간에서 승인 게이트는 비용만 있고 이득이 없다.live경로를 나중에 붙이면 구조가 두 번 바뀐다. 제안·게이트·포지션·체결 모델은 두 모드가 공유해야 하고, 집행부만 갈리는 것이 맞다. 설계에 처음부터 넣되 켜지 않는 것이 재작업을 없앤다.- 임계 기반 조건부 자동은 역방향 호환이다. 임계를 0으로 두면 전건 승인(ADR-005 원안)이 되고, 종목당 상한과 같게 두면 전건 자동이 된다. 하나의 메커니즘이 두 정책을 다 표현한다.
고려한 대안
| 대안 | 미채택 사유 |
|---|---|
| ADR-005 유지 (전건 수동 승인) | paper에서 승인 게이트는 데이터 수집 속도만 늦춘다. 실손실이 없는 구간에 사람 게이트를 두는 것은 비용만 발생 |
| 완전 자동 (임계 없음) | 신호·리스크 오류가 live에서 즉시 실손실로 이어진다. 임계라는 안전 눈금을 없앨 이유가 없다 |
ADR-006 유지 (live 범위 밖) | 집행부만 다른 두 모드를 시차를 두고 만들면 제안·포지션 모델을 두 번 설계하게 된다 |
영향
- PRD FR-1(실행 모드)·FR-12~FR-15(조건부 자동)로 구체화됐다.
- sandbox 부재로
paper안전성이 코드에만 의존하게 됐다 → ADR-003에서 의존성 분리로 해결한다. - 로드맵 P4 티켓(
WEALTH-P4-01~05)은 폐기하지 않고 설계 입력으로 재검토한다.OrderProposal·paper_fills개념은 본 설계에 승계됐다. live전환은 배포가 아니라 정책 행 값 변경이다 — 재기동 없이 즉시 반영·롤백된다.