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 전환은 배포가 아니라 정책 행 값 변경이다 — 재기동 없이 즉시 반영·롤백된다.