HERMES 쥬는 지금 어디까지 왔나: 추천보다 먼저, 관제와 안전장치
지난 글에서는 백테스트의 마지막 하루를 맞추는 일을 썼다. 오늘은 그보다 조금 넓게, 그래서 쥬가 지금 실제로 무엇을 할 수 있는 상태인지를 정리해 본다.
한 줄로 말하면 이렇다.
쥬는 종목을 찍어 주는 자동매매 봇이 아니라, 자료를 읽고 검증되지 않은 판단에는 자본을 붙이지 않도록 만든 개인 운용 시스템이다.
이 글은 2026-08-09 18:55 KST의 HERMES v3 코드 스냅샷과 그때까지의 구현 기록을 기준으로 썼다. 계좌 잔고, 보유 종목, 실제 주문 정보는 넣지 않았다.

먼저, 쥬가 하려는 일
예전 버전은 종목을 살펴보는 일부터 LLM에게 많이 맡겼다. 설명을 듣기에는 편했지만, 같은 날 같은 자료를 넣어도 결과를 완전히 재현하기 어렵다. 그러면 과거에 다시 돌려 검증하기도 어렵고, 왜 판단이 바뀌었는지도 추적하기 힘들다.
v3에서는 순서를 뒤집었다.
- 가격, 거래량, 리서치, 파생시장 자료는 프로그램이 같은 규칙으로 넓게 읽는다.
- 그 결과를 과거 구간에서 다시 재생해, 비용을 빼고도 의미가 있는지 검사한다.
- 그 다음에야 쥬가 “이번에는 관찰할 이유가 있는가”를 읽는다.
- 검증 문턱을 통과하지 못하면 결론은 매수가 아니라
shadow, 즉 관찰만이다.
LLM은 전 종목을 무작정 훑어 추천을 만드는 사람이 아니라, 이미 계산된 후보를 비판적으로 읽고 보수적으로 줄이는 쪽에 가깝다. 쥬의 역할도 “정답을 맞히기”보다, 내가 시장을 볼 때 불필요하게 흔들리지 않도록 근거와 반대 근거를 한곳에 모으는 쪽이다.
한 덩어리로 보지 않는 세 시장
쥬는 한국 주식, 미국 주식, 코인 시장을 하나의 규칙으로 뭉개지 않는다. 통화, 거래 시간, 세금, 호가 단위, 데이터의 성격이 다르기 때문이다.
| 시장 | 쥬가 주로 읽는 것 | 따로 다루는 이유 |
|---|---|---|
| 한국 주식 | 가격·거래량, 리서치 의견, 공시와 시장 분위기 | 원화 기준 장 시간과 국내 시장 맥락이 중요하다. |
| 미국 주식 | 달러 기준 가격과 거래소·세션 정보 | 한국 장과 시간이 다르고, 환전·정산·세금의 규칙도 다르다. |
| Binance 현물·선물 | 가격·거래량, 펀딩비, 미결제약정 같은 파생 신호 | 24시간 시장이라 하루의 끝과 위험 관리 기준도 따로 필요하다. |
이 분리는 보기 좋게 탭을 나눈 정도가 아니다. 한국 주식의 기준을 코인 선물에 그대로 쓰거나, 미국 주식의 거래 시간을 국내장처럼 해석하는 실수를 코드 구조에서부터 피하려는 선택이다.
통과하지 못한 신호는 shadow에 남긴다
여기서 가장 중요한 기능은 화려한 매수 버튼이 아니라 게이트다.
신호가 실제 자본에 가까워지려면, 과거 구간을 여러 조각으로 나누어 재생했을 때 표본이 충분해야 하고, 거래 비용을 빼고도 기대값이 양수여야 하며, 손익비와 일관성 같은 조건도 만족해야 한다. 과거 데이터를 고를 때 미리 알 수 없었던 정보를 섞지 않도록 기간 사이에 완충 구간을 두고, 실험을 너무 많이 돌려 우연히 좋은 결과 하나만 고르는 일도 기록한다.
그래서 지금 보이는 후보 중에는 점수가 높아도 shadow인 것이 있다. 이것은 고장이 아니라, 아직 자본을 붙일 근거가 부족하다는 뜻이다.
지난번 코인 선물 전략 다섯 가지도 이 원칙으로 모두 관찰 단계에 남겼다. 마지막 하루의 데이터 증거가 맞지 않는 문제나 수익성 문턱이 남아 있었기 때문이다. 좋은 숫자 하나를 골라 통과시키는 대신, 불편한 근거가 하나라도 남으면 멈추는 쪽을 택했다.
이번에 생긴 것은 ‘매매 화면’보다 ‘운영 화면’
이번 며칠 사이 가장 눈에 보이는 변화는 HERMES.app이다. 맥에서 켜 두는 작은 관제 앱인데, 처음에는 화면 설계와 가짜 데이터로만 확인하던 것을 이제 로컬 백엔드의 실제 운영 기록을 읽는 방식으로 연결했다.
앱에는 다음 일곱 화면이 있다.
| 화면 | 쉬운 설명 |
|---|---|
| Command | 지금 어떤 프로세스가 돌고 있는지 보고, 로그를 읽고, 필요하면 멈추는 곳 |
| Blocks | 주문과 포지션이 생겼을 때 어떤 상태로 쌓이는지 보는 원장 화면 |
| Alpha | 시장별 후보와 그 후보가 shadow인지 통과 상태인지 보는 곳 |
| Assets | 자산의 변화와 계좌별 요약을 보는 곳 |
| Review | 하루 동안 무슨 판단과 예외가 있었는지 다시 읽는 일지 |
| Edge | 백테스트 통과 여부와 이후 관찰 결과를 비교하는 성적표 |
| Cost | LLM 사용량과 거래 비용을 따로 보는 비용 화면 |
중요한 점은, 이 앱에 수동으로 매수·매도하는 화면은 일부러 없다는 것이다. 앱은 리모컨과 계기판에 가깝다. 시장을 읽는 프로세스와 손절을 지키는 가드 루프는 앱을 꺼도 따로 살아 있어야 하고, 앱에서 데몬을 멈추거나 비상 정지를 하려면 두 번 확인하는 절차를 거치게 만들었다.
또 하나의 작은 원칙도 지켰다. 화면이 가짜 자료를 읽는 중이면 그 사실을 배너로 표시하고, 아직 주문·성과 원장이 없는 shadow 상태라면 빨간 오류처럼 꾸미지 않고 “아직 원장이 없음”이라는 이유를 보여 준다. 멋있어 보이는 빈 대시보드보다, 지금 무엇이 없고 왜 없는지를 알 수 있는 대시보드가 더 쓸모 있기 때문이다.
뒤에서 돌아가는 안전장치들
관제 화면 밖에도 몇 가지 기반 작업이 쌓였다.
- 각 시장의 현재가를 따로 받아 가드 루프가 보호선을 확인할 수 있게 했다.
- 주문이 생겼을 때 같은 요청을 두 번 보내지 않도록, 식별자와 변경 이력을 원장 형태로 남길 준비를 했다.
- 실제 돈을 쓰지 않는 모의 왕복 경로를 만들어 주문·체결·정산이 연결되는 방식을 점검할 수 있게 했다.
- 국내·미국·코인 관찰 프로세스를 분리하고, 운영 알림은 Telegram에서 받기만 하도록 단방향으로 만들었다. 메시지로 주문을 내리는 명령 기능은 넣지 않았다.
- 미국 주식 쪽은 거래소 구분과 연장 세션을 별도 점검 대상으로 잡았다. ‘미국 주식도 된다’고 먼저 말하기보다 시간대와 주문 규칙을 맞추는 중이다.
이런 변화는 겉으로는 느리게 보일 수 있다. 하지만 쥬의 목적이 수익률 숫자를 급하게 만드는 것이 아니라, 내가 시장을 대하는 과정에서 감정과 기억의 빈틈을 줄이는 것이라면 이 순서가 맞다고 생각한다.
아직 하지 않은 것
이 글에서 가장 분명하게 남겨야 할 경계도 있다.
- 현재 신호는 검증과 관찰을 중심으로 돌고 있으며, 실주문을 열었다는 뜻이 아니다.
- 주문·성과 원장은
shadow운전에서는 비어 있을 수 있다. 빈 화면을 실적이 없다는 말과 섞지 않는다. - 백테스트 통과 여부와 실제 성과는 다른 문제다. 과거에서 통과한 신호도 이후의 관찰 결과를 계속 따로 채점해야 한다.
- Telegram 알림과 앱의 제어 기능은 운영을 돕는 장치지, 투자 판단을 대신하는 권한이 아니다.
결국 지금의 HERMES 쥬는 “돈을 알아서 벌어 주는 무언가”보다, 자료를 빠뜨리지 않고 읽고, 근거가 모자라면 멈추며, 나중에 왜 그렇게 했는지 다시 볼 수 있게 하는 작은 운용실에 더 가깝다.
이번 구현에서 가장 마음에 드는 것도 그래서다. 화면이 일곱 개가 되었지만, 어느 화면도 ‘지금 사라’고 재촉하지 않는다. 쥬는 일단 내가 판단을 잃지 않도록 옆자리를 지키는 쪽으로 만들어지고 있다.
이 글은 개인 프로젝트의 개발 기록이며 투자 권유가 아니다. 언급한 시장·전략·기능은 매수·매도 추천이 아니며, 백테스트와 관찰 기록은 미래 성과를 보장하지 않는다.
HERMES 쥬는 지금 어디까지 왔나: 추천보다 먼저, 관제와 안전장치
https://poul.kr/2026/08/09/20260809-hermes-v3-implemented-now/



