월요일도 쥬한테 맡겼다 — 대신 넘기지 않은 것 하나
이번 주말 두 마디를 했다.
“내가 매번 뭔가 결정해야 하는 게 있어? 다 쥬한테 맡겼는데.”
“월요일도 그냥 네가 알아서 해.”
둘 다 별거 아닌 말처럼 들리지만, HERMES 쥬 입장에서는 코드로 옮겨야 하는 문장이었다. 지금까지 쥬는 배분(자산을 어떤 비중으로 들고 갈지)을 제안만 했고, 그걸 실제로 반영하는 채택 버튼은 항상 내가 눌렀다. 매주 월요일마다.
왜 이게 필요했나
HERMES 쥬가 하는 일 중 하나는 “지금 자산을 이런 비중으로 들고 가자”는 배분 판본을 만드는 것이다. 이건 새 종목을 사는 판단이 아니라, 이미 들고 있는 자산들의 목표 비중을 다시 맞추는 작업에 가깝다.
원래 설계(내부에서는 [자-11]이라고 부르는 작업 항목)는 “쥬가 제안하고 소유자가 채택한다”였다. 그런데 몇 주 굴려 보니 이게 반복되는 잡일이 됐다. 판본이 크게 이상하지 않은데도 매번 화면을 열어 확인 버튼을 눌러야 했다. 지난 7월 글에서 쥬를 만든 이유가 “돈을 더 버는 기계”가 아니라 “투자 앞에서 내가 덜 혼자이게 하는 것”이라고 적었는데, 매주 반복되는 확인 버튼은 그 목적과 반대 방향이었다.
무엇을 넘겼나 — 조건 4개
그래서 이번 주말에 allocation_auto_adopt라는 스테이지를 새로 만들었다. 쥬가 낸 판본이 아래 네 조건을 전부 넘으면, 사람 없이 그대로 반영된다.
- 판본이 지금 보유 중인 자산을 전부 덮는가. 판본에 이름이 없는 보유 종목은 시스템이 “비중 0%”로 읽어서 전량 매도해 버릴 수 있다. 지금까지는 채택 전에 내가 눈으로 봐서 잡아냈던 실수인데, 자동이면 아무도 안 보고 지나간다. 그래서 이 조건이 가장 먼저다.
- 배분을 나누는 축이 그대로인가. 자산군 단위(주식/현금 같은 큰 덩어리)로 나눈 판본과 종목 단위로 나눈 판본은 항목 자체가 달라서 서로 비교할 수 없다. 축이 바뀌면 무조건 사람이 본다.
- 목표 비중이 이전 판본에서 밴드 폭 안에서만 움직였는가. 밴드는 원래 “이 범위 안에서는 사고팔지 않는다”는, 이미 내가 정해둔 값이다. 새 목표가 그 범위를 벗어났다는 건 그냥 숫자가 갱신된 게 아니라 입장 자체가 바뀐 거라서, 그때는 사람이 봐야 한다고 판단했다.
- 비교할 활성 판본이 있는가. 맨 처음 판본은 비교 대상이 없으니 당연히 사람이 본다.
중요한 건 셋째 조건에 새로운 임계값을 넣지 않았다는 점이다. 만약 “몇 %까지는 자동”이라고 새 숫자를 하나 더 만들면, 그 숫자 자체가 나중에 마음대로 조정할 수 있는 손잡이가 된다. 대신 이미 있는 밴드 값을 그대로 재사용했다.
막히면 거부가 아니라 보류
조건을 하나라도 못 넘은 판본은 사라지지 않는다. 원장에 대기 제안으로 남아서 내가 직접 보고 채택하면 된다. “자동으로 못 넘어간다”와 “판본 자체가 틀렸다”는 다른 문제이기 때문이다.
그리고 자동으로 채택된 판본은 원장의 승인자 칸에 사람 이름 대신 auto:safe_refresh라는 값이 남는다. 나중에 이 판본을 사람이 확인한 건지 기계가 넘긴 건지 한 칸만 보면 구분되게 만들었다.
축 전환 하나는 따로 처리했다
만들고 보니 막히는 지점이 하나 있었다. 지금 활성 판본은 자산군 축(주식 35% 같은 큰 단위)인데, 쥬가 새로 내는 제안은 종목 축이다. 그러면 조건 ②(축이 그대로인가)에서 항상 막힌다. 실제로 확인해 보니 쥬가 자산군으로 내면 조건 ①(보유 커버)에서, 종목으로 내면 조건 ②에서 걸려서 — 어느 쪽으로 내도 결국 사람을 불러야 하는 상태였다.
이건 “이번 한 번만” 넘어가야 하는 문제라서, 별도로 1회 무장이라는 걸 추가했다. 마지막 채택 이후로 아직 한 번도 자동 채택이 없었다면, 축이 다르다는 이유만으로는 한 번 막지 않는다. 기준을 메모리가 아니라 원장에 남은 “마지막 채택 시각”으로 잡아서, 프로그램이 재시작돼도 이 허용은 딱 한 번만 쓰인다. 그리고 축 전환이 한 번 일어나면 활성 판본 자체가 종목 축이 되므로, 이 예외 조건은 자연히 다시 쓸 일이 없어진다.
여기서 분명히 해두고 싶은 게 있다. 이 1회 무장이 끄는 건 축 비교 검사 하나뿐이다. 조건 ①(보유를 전부 덮는가)은 그대로 살아 있다. 판본이 지금 들고 있는 걸 다 담지 못하면, 축이 바뀌든 말든 여전히 막힌다. 조용히 전량 매도되는 사고를 막는 건 이 조건이고, 이건 무장 여부와 무관하게 항상 켜져 있어야 한다.
그래도 남는 위험은 정직하게 적는다
축을 넘긴 뒤에는 이전 판본과 목표 비중을 밴드로 비교할 수 없다. 그러니 쥬가 낸 종목별 비중이 지금과 많이 달라도, 그 자체로는 자동 채택을 막지 못한다. 다만 자동 채택 경로는 새 종목을 여는 권한이 없다 — 이미 들고 있는 것의 비중을 줄이거나 늘리는 것까지만 할 수 있다. 그래서 최악의 경우도 “새로운 곳에 잘못 들어간다”가 아니라 “보유를 현금 쪽으로 과하게 줄인다” 정도다. 이 정도 규모는 “푼돈”이라고 내가 직접 정하고 위임한 범위다.
지금 실제로 켜져 있나 — 그렇다
기본값은 꺼짐이다. 스테이지를 새로 만들었다고 저절로 도는 게 아니라, 실행할 때 --auto-adopt 플래그를 따로 줘야 켜지고, 콘솔에는 지금 이게 켜져 있는지 배너로 찍힌다. 확인해보니 실제로 이번 주말부터 라이브 실행 스크립트에 이 플래그가 들어갔다 — 즉 이건 “만들어만 두고 안 켠” 기능이 아니라 지금 이 순간 실제로 돌고 있는 경로다.
다만 효과는 아직 관측하지 못했다. 이 글을 쓰는 시점은 일요일 밤이고, 국내 장은 열리지 않는다. 이 위임이 실제로 첫 번째 채택을 만들어내는 건 내일(월요일) 개장 이후다. 지금까지 확인한 건 회귀 테스트와 코드가 말하는 조건뿐이고, 실전에서 네 조건이 어떻게 걸리는지는 아직 한 번도 보지 못했다.
이건 여전히 매수 버튼이 아니다
혹시 오해할까 봐 적어둔다. 이번에 위임한 건 이미 보유한 자산의 비중을 다시 맞추는 판본 채택이지, 새 종목을 사는 판단이 아니다. 개별 종목을 새로 담는 문은 이 자동 경로에서 여전히 잠겨 있다.
실제로 오늘(2026-08-28 15:41 KST 스냅샷 기준, 지금 시점으로는 stale 상태) KIS 국내장 알파 화면을 다시 열어봐도 마찬가지였다. 상위 20개 후보가 떠 있고 각각 모멘텀·변동성 수축 같은 신호가 붙어 있지만, 전부 gate_status: no_experiment다. 검증을 통과한 신호가 하나도 없다는 뜻이고, 그러니 이 후보들 중 무엇도 자동으로든 수동으로든 새 매수로 이어지지 않는다. 이번 위임과 이 후보 목록은 서로 다른 문 앞에 서 있다.
마무리
이번 작업을 하면서 계속 떠올린 기준은 하나였다. “이게 내 결정 부담을 줄이는가, 아니면 위험을 감추는가.” 채택 버튼을 누르는 매주의 잡일은 줄이고 싶었지만, 그 버튼이 막아주던 사고(판본에 없는 보유가 조용히 팔리는 것 같은)까지 같이 지워버리면 그건 위임이 아니라 그냥 눈을 감는 것이다.
그래서 이번엔 “전부 맡긴다”가 아니라 “이 네 조건 안에서만 맡긴다”로 선을 그었다. 다음에 볼 건 코드가 아니라 로그다 — 월요일 개장 뒤 실제로 대기 제안이 자동 채택으로 넘어가는지, 아니면 조건에 걸려 내 앞으로 다시 돌아오는지.
이 글은 개인 프로젝트의 개발·운영 기록이며 투자 조언이나 매수·매도 추천이 아니다. 실제 계좌 잔고, 보유 종목, 주문 내역은 다루지 않는다.
월요일도 쥬한테 맡겼다 — 대신 넘기지 않은 것 하나



