투자 자동화에서 제일 무서운 건 모델이 멍청한 순간보다 내가 너무 편해진 순간이다.
한 번 잘 돌아가면 사람 마음이 금방 풀린다.
- 확인 한 번 덜 하고 싶고
- preview 한 번 건너뛰고 싶고
- 승인 토큰도 자동으로 넘기고 싶고
- 로그도 대충 남기고 싶다
바로 거기서 사고 냄새가 난다.
바로 답
- 개인 투자 자동화는
수익 전략보다안전장치 구조가 먼저다. - 최소한
기본 off -> 짧은 권한 -> dry-run -> preview -> 명시 실행 -> 상세 로그여섯 단계는 있어야 덜 위험하다. - 사람이 마지막 승인 루프에서 빠지는 순간, 자동화는 편해지지만 사고 범위도 같이 커진다.
좋은 투자 자동화는 빨리 사는 시스템이 아니라, 함부로 못 사게 만드는 시스템이다.
사례 원글 먼저 보기
이 6단계는 추상론만으로 나온 게 아니다. tossinvest-cli처럼 실계좌와 비공식 CLI가 만나는 사례를 보면 왜 dry-run, preview, explicit execute가 필요한지 더 빨리 보인다. 사례부터 보려면 비공식 증권 CLI를 실전에 붙이기 전에 봐야 할 것 2026을 먼저 열어두면 된다.
먼저 보면 좋은 사람
- 계좌 조회나 주문 보조 자동화를 고민 중인 사람
- 에이전트나 CLI로 투자 루프를 만들고 싶은데 찜찜한 사람
- “위험하니 하지 마” 말고 구체적인 안전장치 구조가 필요한 사람
지금 결론
| 단계 | 왜 필요한가 |
|---|---|
| 1. 기본 off | 설치만 했다고 실행되면 안 됨 |
| 2. TTL 권한 | 오래 열린 문은 사고를 키움 |
| 3. dry-run | 실행 전 계산 검증 |
| 4. preview | 실제 주문 형태 확인 |
| 5. explicit execute | 실행 의사 재확인 |
| 6. 로그/감사 흔적 | 사고 시 복구와 회고 가능 |
이 여섯 칸은 생각보다 단순하지만, 없으면 바로 체감되는 종류의 안전장치다.
1. 기본값은 무조건 off
가장 먼저 봐야 할 건 설치 직후 상태다.
거래 관련 기능이 기본 on이면 그건 자동화 도구라기보다 위험한 지름길에 가깝다.
내 기준에선 민감 동작은 항상 이래야 한다.
- 기본 비활성화
- 별도 설정 파일에서 opt-in
- 기능별 분리 허용
자동화 세계에서 귀찮음은 종종 미덕이다.
2. 권한은 짧게 열고 빨리 닫기
투자 자동화에서 TTL은 진짜 중요하다.
영구 권한은 편하다. 근데 사람은 편한 걸 계속 켜둔다.
짧은 권한이 좋은 이유는 간단하다.
- 사고 시간창이 줄어든다
- 작업이 끝나면 자동으로 닫힌다
- “지금 정말 실행할 거냐”를 다시 묻게 된다
즉 권한 TTL은 귀찮음 추가가 아니라 사고 반경 축소다.
3. dry-run은 장식이 아니다
개인 투자 자동화에서 dry-run이 빠지면 사실상 테스트 없는 배포랑 비슷하다.
dry-run 단계에서 봐야 할 건 이런 것들이다.
- 종목
- 수량
- 가격
- 환율/시장 구분
- 계좌 선택
- 예상 부작용
이 중 하나라도 이상하면 실행으로 넘어가면 안 된다.
4. preview는 사람 눈 검수다
preview는 “거의 끝났다”가 아니라 아직 사람 차례가 남아 있다는 뜻이다.
투자 자동화에서 preview가 중요한 이유는 실수 대부분이 아주 사소한 입력 차이에서 나오기 때문이다.
- 10주와 100주
- 달러와 원화
- 국내와 미국
- 매수와 매도
모델은 똑똑해 보여도 이런 건 가끔 시원하게 틀린다. 그러니까 preview가 필요하다.
5. 실행은 항상 명시 플래그로
실행 명령은 조회 명령과 표면이 비슷하면 안 된다.
place나 execute가 명확히 드러나야 하고, 위험 플래그 이름도 숨기지 않는 게 좋다.
이름이 정책이라는 말이 괜히 있는 게 아니다.
force, skip, dangerous 같은 단어는 사용자 뇌를 한 번 더 멈추게 만든다.
그 한 박자가 꽤 비싼 사고를 막아준다.
6. 로그는 사고 뒤를 위한 보험이다
로그는 성공 자랑용이 아니라 실패 해부용이다.
최소한 아래는 남아야 한다.
- 언제 실행했는지
- 어떤 입력이었는지
- dry-run과 preview 결과가 뭐였는지
- 누가 승인했는지
- 실제 실행 결과가 뭐였는지
개인 시스템도 예외 아니다. 사고 나면 결국 과거의 나를 심문해야 하는데, 로그가 없으면 기억 수사만 하게 된다.
내가 추천하는 최소 6단계 흐름
기본 off
-> 짧은 권한 grant
-> dry-run
-> preview
-> explicit execute
-> structured log
이 흐름에서 사람 승인 루프는 보통 preview와 execute 사이에 둔다.
즉 좋은 구조는 대충 이런 모양이다.
| 구간 | 주체 |
|---|---|
| 계산/조회 | 시스템 |
| dry-run/preview | 시스템 + 사람 검토 |
| execute | 사람 승인 후 시스템 |
| 로그/회고 | 시스템 |
이렇게 역할을 나누면 자동화도 살고 사람도 안 빠진다.
실행 로그 템플릿
개인 투자 자동화에서 로그는 거창할 필요가 없다.
처음에는 아래 정도만 남겨도 사고를 되짚을 수 있다.
| 필드 | 예시 | 왜 남기나 |
|---|---|---|
run_id |
2026-05-08-0730-dryrun |
같은 명령 반복 여부 확인 |
mode |
dry-run |
실제 실행과 연습 실행 분리 |
source |
manual |
사람이 눌렀는지 스케줄러인지 확인 |
account_scope |
read-only |
계좌 권한 범위 확인 |
preview_result |
no order generated |
주문 후보가 생겼는지 확인 |
approval |
none |
승인자가 있었는지 확인 |
side_effect |
local json saved |
외부 부작용 확인 |
이 표가 있어야 나중에 “왜 이 주문이 나갔지?” 같은 질문을 덜 하게 된다.
더 좋은 건 애초에 주문이 안 나가게 만드는 거다.
read-only에서 멈추는 예시
처음 2주 동안은 아래처럼 끝내는 게 낫다.
portfolio read
-> allocation calculate
-> risk memo create
-> human review
-> no trade
여기서 no trade는 실패가 아니다.
안전장치가 정상 작동했다는 뜻이다.
돈이 오가는 자동화에서는 아무 일도 안 일어나는 날이 꽤 좋은 날이다.
주문 후보가 생겼을 때의 추가 게이트
만약 시스템이 주문 후보까지 만들었다면 게이트를 한 단계 더 올린다.
| 질문 | 통과 기준 |
|---|---|
| 계좌가 맞나 | 계좌명과 계좌 종류가 사람 눈으로 확인됨 |
| 종목이 맞나 | 티커, 시장, 통화가 맞음 |
| 수량이 맞나 | 10과 100을 헷갈리지 않음 |
| 가격 조건이 맞나 | 시장가/지정가가 의도와 맞음 |
| 취소 기준이 있나 | 실행 뒤 되돌릴 계획이 있음 |
| 로그가 남나 | preview와 승인 기록이 저장됨 |
하나라도 애매하면 실행하지 않는다.
자동화에서 가장 싸게 먹히는 손절은 주문 전에 멈추는 것이다.
2026-05-08 보강 메모
이번 보강에서는 tossinvest-cli 원글로 돌아가는 브리지를 상단에 붙였다.
이 글은 일반론이고, 원글은 실제 사례다.
둘을 붙여야 독자가 추상 원칙에서 끝나지 않고 실제 CLI 표면, TOS 경고, 권한 게이트를 같이 확인할 수 있다.
언제 자동화를 멈춰야 하나
아래 중 하나라도 보이면 속도보다 안전을 택하는 게 맞다.
1. preview를 건너뛰고 싶어질 때
익숙함이 사고를 부른다.
2. 권한을 길게 열어두고 싶어질 때
편의는 늘지만 방심도 같이 는다.
3. 로그가 귀찮게 느껴질 때
보통 이때부터 운영이 흐려진다.
4. 승인 루프를 자동화하고 싶어질 때
그건 거의 마지막 안전핀을 뽑는 거다.
실수 TOP 5
1. 전략이 좋으면 안전장치는 나중에 붙여도 된다고 믿는 실수
반대다. 안전장치가 먼저다.
2. dry-run을 테스트 환경 전용으로 보는 실수
실전일수록 더 필요하다.
3. preview를 귀찮은 중간 단계로 보는 실수
그게 사람 눈 검수다.
4. TTL 없는 권한을 상시로 두는 실수
편하지만 위험하다.
5. 로그 없이 “대충 기억나”로 운영하는 실수
사고 나면 제일 아프다.
실전 운영에서 단계별로 끊어야 하는 이유
투자 자동화는 기능이 늘수록 멋있어 보이지만, 실제 운영에서는 단계가 잘게 끊겨 있을수록 더 오래 버틴다. 조회, 계산, 주문 후보 생성, 사람 검토, 실제 실행, 로그 저장이 한 명령 안에 섞이면 편하긴 하다. 대신 어느 지점에서 잘못됐는지 되짚기 어렵고, 한 번의 입력 실수가 바로 계좌 변화로 이어질 수 있다.
그래서 첫 번째 경계는 조회와 주문 후보 생성 사이에 둔다. 조회 명령은 계좌와 시세를 읽기만 해야 하고, 계산 명령은 주문을 만들더라도 파일이나 화면에만 남겨야 한다. 이 두 단계가 분리되어 있으면 모델이 종목을 잘못 해석하거나 환율을 잘못 반영해도 아직 돈은 움직이지 않는다.
두 번째 경계는 주문 후보와 preview 사이에 둔다. 주문 후보는 시스템이 만든 초안이고, preview는 사람이 읽을 수 있게 번역된 실행 직전 문서다. 사람이 보는 화면에는 종목명, 티커, 시장, 통화, 수량, 주문 방식, 예상 체결 금액, 수수료와 세금 메모가 함께 보여야 한다.
세 번째 경계는 preview와 execute 사이에 둔다. 여기서 승인 문구를 길게 만드는 건 쓸데없는 의식이 아니라 사고 방지 장치다. 예를 들어 approve BUY AAPL 10 shares limit 180 USD처럼 의도를 다시 쓰게 하면, 사용자는 최소 한 번 더 수량과 방향을 읽게 된다.
네 번째 경계는 execute와 log 사이에 둔다. 실행이 끝났다고 해서 자동화 작업이 끝난 게 아니다. 실제 응답, 실패 코드, 주문 번호, 취소 가능 여부, 사람이 승인한 문자열까지 남겨야 다음 회고가 가능하다. 로그가 없다면 운영자는 성공한 날에는 신나고 실패한 날에는 기억력 테스트를 하게 된다.
운영 정책은 코드보다 먼저 문서로 정해두는 편이 좋다. 어떤 계좌는 read-only만 허용하고, 어떤 계좌는 preview까지만 허용하며, 어떤 계좌는 explicit execute까지 허용할지 미리 적어야 한다. 이 정책표가 있으면 새 기능을 붙일 때도 “가능한가”보다 “어느 단계까지 허용할 것인가”를 먼저 묻게 된다.
특히 가족 생활비, 비상금, 장기 투자 계좌가 섞인 사람은 계좌별 권한을 더 작게 나눠야 한다. 비상금 계좌는 조회만 하고, 장기 투자 계좌는 리밸런싱 후보까지만 만들고, 소액 실험 계좌에서만 제한적 실행을 허용하는 식이다. 자동화는 계좌 전체를 한 번에 똑똑하게 만들려고 할 때보다, 작은 범위를 지루하게 안전하게 만들 때 더 현실적이다.
모델이나 에이전트를 붙일 때는 “판단”과 “행동”도 분리해야 한다. 모델은 리스크 메모와 후보안을 만들 수 있지만, 실제 주문 실행은 별도 명령과 별도 권한을 통과해야 한다. 이 분리가 없으면 프롬프트 한 줄이 곧 주문 버튼이 되는 구조가 되고, 그건 개인 투자 자동화에서 너무 큰 힘이다.
마지막으로 자동화의 성공 기준을 수익률 하나로 두면 안전장치가 계속 밀린다. 더 좋은 성공 기준은 “잘못된 주문 후보가 실제 주문으로 넘어가지 않았다”, “권한이 만료되어 실행이 차단됐다”, “preview에서 사람이 취소했다” 같은 사건이다. 이런 날은 아무 돈도 벌지 못한 것처럼 보이지만, 장기적으로는 계좌를 지킨 날이다.
따라서 개인 투자 자동화의 핵심은 빠른 실행이 아니라 느린 승인이다. 빨라야 하는 것은 조회와 기록이고, 느려야 하는 것은 주문과 권한 상승이다. 이 리듬만 지켜도 자동화는 훨씬 덜 위험해지고, 사용자는 편의와 통제감을 동시에 가져갈 수 있다.
FAQ
Q. 개인 투자 자동화에도 이렇게까지 해야 하나
개인 계좌라 더 그래야 한다. 잘못되면 네 돈이 바로 움직인다.
Q. 완전 자동매매는 절대 안 되나
기술적으로 가능한 것과 운영상 감당 가능한 건 다르다.
Q. 가장 먼저 붙일 안전장치 하나만 고르라면
preview + 사람 승인 조합이다.
관련 글
- 비공식 증권 CLI를 실전에 붙이기 전에 봐야 할 것 2026 — tossinvest-cli의 6단계 안전 게이트와 TOS 리스크
- 토스증권 자동화 어디까지 허용될까 2026 — 조회 봇과 주문 봇을 가르는 TOS·보안 경계 체크리스트
- 비공식 증권 CLI 운영 기준 2026 — JSON 출력은 써도 주문 자동화는 멈춰야 하는 이유
참고 자료/공식 출처
- 이 글의 6단계 패턴은 비공식 증권 CLI 원글의 게이트 구조를 개인 투자 자동화 일반론으로 추상화한 것이다.
- 종목 추천 글이 아니라 운영 안전장치 설계 메모다.
- JungHoon Ghae, tossinvest-cli GitHub 저장소
- JungHoon Ghae, tossinvest-cli README
- 토스증권, 투자 유의사항
- 금융투자협회, 전자금융거래 이용에 관한 기본약관