7월 21일 아침 9시 5분. 저는 증권사 계좌 화면을 열어 두고 앉아 있었거든요.

거기엔 제가 팔 수 없는 주식 여섯 종목이 75주 들어 있었습니다.

9시 10분에 같은 화면을 다시 열었습니다. 아무것도 없었습니다.

아침 장 시작 무렵, 계좌 화면을 열어 두고
Photo: Yan Krukau / Pexels

앞 글은 「0건」으로 끝났습니다

개발기 ④에서 이렇게 썼습니다.

“기록을 세어보니 매도 주문 26건 중 성공 0건.

사는 주문은 멀쩡히 나가는데 파는 주문만 전부 거부되고 있었습니다. 그래서 더 못 알아챘습니다. 계좌엔 주식이 쌓이는데 나가는 문이 잠겨 있던 셈입니다.

그 글은 이렇게 닫았습니다. “없는 것보다 나쁜 건, 있다고 믿는 것.”

오늘은 그 뒤 이야기입니다. 닫아 둔 이야기에 결말이 붙었거든요.

매도만 막혀 있던 상태
머니노트 · 정보·교육·참고용
표로 보기
파는 문만 잠겨 있었습니다
항목 설명
시도한 매도 주문 26건 전부 거부
성공한 매도 0건 한 건도 없음
남아 버린 주식 6종목 75주

「유령 물량」이 뭐냐면

여기서 말이 하나 필요합니다. 제가 계속 유령 물량이라고 부르는 것이요.

쉽게 말하면 팔려고 주문을 냈는데 안 팔리고 계좌에 그대로 남은 주식입니다. 봇은 “팔았다”고 생각하고 다음 판단을 하는데, 계좌에는 아직 있는 거죠.

이게 왜 무서운지는 장바구니로 치면 이렇습니다. 계산대에서 물건을 뺐다고 생각했는데 실제로는 안 빠져 있고, 그 상태로 계속 장을 보는 겁니다. 총액이 처음부터 어긋나 있으니 그 뒤 계산이 전부 틀어지거든요.

봇에게는 더 심각합니다. 봇은 “지금 내가 얼마를 들고 있나”를 기준으로 다음에 얼마를 살지 정하는데, 그 기준이 틀려 있으면 모든 판단이 틀린 땅 위에 서 있는 셈입니다.

유령 물량이 만드는 문제
머니노트 · 정보·교육·참고용
표로 보기
한 칸이 틀리면 뒤가 전부 틀립니다
단계 내용 설명
1단계 매도 주문 실패 그런데 성공으로 기록
2단계 보유량이 어긋남 실제보다 적게 알고 있음
3단계 다음 매수 판단 어긋난 숫자를 기준으로
4단계 계좌는 계속 쌓임 아무도 모르는 채

나가는 문을 다시 달았습니다

원인을 손보는 데 시간이 걸렸습니다. 매도 명령이 증권사까지 가는 길이 온전하지 않았습니다.

그리고 7월 21일 아침, 남아 있던 여섯 종목을 정리하는 매도 주문을 냈습니다. 오래 막혀 있던 일이 5분 만에 끝났습니다.

그날 아침 5분
머니노트 · 정보·교육·참고용
표로 보기
9시 5분에서 9시 10분까지
시점 사건 설명
9시 5분 정리 매도 주문 여섯 종목 75주
주문 접수 증권사로 나감 처음으로 거부되지 않음
체결 여섯 건 전부 성공 기록에 남음
9시 10분 계좌 재조회 남은 유령 물량 0종목

주문 기록에 매도 성공 여섯 건이 찍혔습니다. 이 시스템 역사상 처음입니다.

그리고 9시 10분에 계좌를 다시 조회했습니다. 유령 물량 0종목. 전량 체결이었습니다.

숫자로 보면 이렇게 달라졌습니다
머니노트 · 정보·교육·참고용
표로 보기
고치기 전과 후, 같은 항목으로
매도 기능 고치기 전 고친 뒤
성공한 매도 주문 0건 6건
계좌에 남은 유령 물량 6종목 75주 0종목
봇이 아는 보유량 실제와 어긋남 실제와 일치

왜 이 여섯 건이 값어치가 있냐면

솔직히 여섯 건은 큰 숫자가 아닙니다. 금액도 크지 않았고요.

그런데 이 시리즈에서 처음으로 한 바퀴가 완결됐거든요.

이번에 완결된 한 바퀴
머니노트 · 정보·교육·참고용
표로 보기
세 칸이 다 채워진 첫 사례
단계 내용 설명
1단계 발견 매도 26건 중 0건
2단계 수리 나가는 길을 다시 깔았다
3단계 실증 여섯 건 성공·유령 0종목

지금까지 이 시리즈에 쓴 글을 다시 보면 대부분 첫 칸과 두 번째 칸에서 끝났습니다. “여기가 고장이었다”, “그래서 이렇게 고쳤다”까지요.

세 번째 칸이 비어 있었습니다. 고쳤다고 말은 했는데, 고쳐졌다는 증거를 계좌에서 꺼내 보인 적이 없었거든요.

이번엔 그 증거가 있습니다. 9시 5분과 9시 10분, 두 장의 화면이요.

정리된 뒤의 조용한 화면
Photo: Mikhail Nilov / Pexels

그래서 배운 것

바꿔 말하면 이렇습니다. 고쳤다는 말은 고쳐졌다는 증거가 아니거든요.

저는 그동안 코드를 수정하고 “됐다”고 적었습니다. 그런데 그건 제가 짠 쪽에서 본 이야기일 뿐입니다. 증권사 계좌라는 바깥에서 본 숫자가 바뀌기 전까지는, 고쳤다는 것도 제 주장이었어요.

이 시리즈가 실패 이야기로 자주 흐르는 이유도 여기 있었던 것 같습니다. 고친 뒤에 확인하는 칸을 자꾸 비워 뒀거든요. 그래서 다음 고장을 만나면 또 처음부터 의심하게 됐습니다.

이번엔 세 번째 칸을 채워 놓고 갑니다. 다음에 매도가 이상해지면 비교할 정상 기록이 하나 생긴 셈입니다.

여러분도 뭔가를 고쳤을 때, 고쳐졌다는 걸 바깥에서 확인해 보신 적 있으신가요? 저는 이번에 그 화면 두 장이 코드 수정보다 값어치가 컸습니다.

다음 글 예고 — 만들어 놓고 한 번도 채점하지 않은 장치들

이번에 세 번째 칸을 채워 보니, 정작 채워진 적 없는 칸이 스물다섯 개 넘게 있다는 걸 알게 됐습니다. 관찰 장치를 잔뜩 만들어 두고 한 번도 전부 모아서 채점해 본 적이 없었거든요.

▶ 다음 편 예고
만들어 놓고 한 번도 채점하지 않은 장치들
만드는 절차는 있는데 닫는 절차가 없었습니다. 매일 도는데 아무것도 안 들어오는 장치가 넷이었어요.

다음 편을 준비하고 있습니다 ✍️

이 글은 특정 종목의 매수·매도를 권유하는 글이 아니라, 개인이 만든 시스템의 개발 과정을 공유하는 정보·교육·참고용 글입니다. 본문의 기록은 실제 돈이 오가지 않는 모의계좌에서 일어난 일이며, 미래 성과를 보장하지 않습니다. 투자 판단과 책임은 본인에게 있습니다.


근거: StockBot_개발_개요 · 개발기 소재 — cl1 브리지 전달분 2026-07-26 — 본 글은 개발 과정의 경험 공유이며 투자 자문이 아닙니다.