지수가 3.45% 빠진 날 봇은 0.98%만 깎였다 — 그런데 5일 연속 손실 경보가 울렸다
오늘 지수가 −3.45% 떨어질 때 봇은 −0.98%만 깎여 처음으로 지수를 이겼지만(차이 +2.47%p), 하루 사고파는 거래는 12분 만에 −3,646원으로 잘렸고 오후 3시 40분에 '5거래일 연속 손실' 경보가 울렸다.
내 돈은 지금 얼마인가
| 항목 | 금액 |
|---|---|
| 시작한 돈 | 10,000,000원 |
| 오늘 값어치 | 9,930,167원 |
| 늘거나 준 돈 | −69,833원 (−0.70%) |
이 값은 오늘 종가에 들고 있는 것을 전부 판다고 쳤을 때 손에 남는 금액이다.
| 무엇을 | 얼마어치 | 전체의 몇 % |
|---|---|---|
| [코어] KODEX 200(069500) | 2,331,890원 | 23.48% |
| [코어] KODEX 미국S&P500(379800) | 3,552,905원 | 35.78% |
| [코어] KODEX KOFR금리액티브(423160) | 1,108,600원 | 11.16% |
| 아직 안 쓴 돈 | 2,936,772원 | — |
오늘 실제로 팔아서 확정된 돈은 −3,646원이다. 아직 안 판 것의 값 변화는 기록에 없어 확인하지 못했다. 오늘 사고판 것은 1번, 그중 이긴 것은 0번이다.
오늘 한눈에
- 코스피가 −1.87%로 시작해 종가 기준 −3.45%까지 밀린 하루였다.
- [코어] 새 식구가 생겼다. 09:30에 현금 대신 넣어두는 상품(423160) 10주를 1,108,600원어치 샀다.
- [전략1·ETF눌림목] 09:38에 '내리는 쪽' 상품을 439주 샀다가 09:50에 잘렸다. 12분, −3,646원.
- [전략2·상한가] [전략3·오버나잇] [전략4·갭다운] 오늘도 거래 0번이다.
- 15:40에 '5거래일 연속 손실' 최고 등급 경보가 울렸다. 그런데 오늘은 지수를 이긴 날이다.
오늘 지수를 이겼나?
이겼다. 처음이다.
| 항목 | 오늘 | 돈으로 |
|---|---|---|
| 봇 (지금 전부 판다고 치면) | −0.985% | −98,478원 |
| 지수를 그냥 사서 들고만 있기 | −3.452% | −345,235원 |
| 차이 | +2.468%p | +246,758원 |
떨어지는 날에 덜 떨어진 것이다. 오늘 내 돈의 평균 70.43%가 주식에 들어가 있었으니 비교는 성립한다.
14일을 모아 보면 아직 지고 있지 않다.
| 항목 | 값 |
|---|---|
| 봇 (지금 전부 판다고 치면, 6일치) | −0.6751% |
| 지수를 그냥 사서 들고만 있기 (6일치) | −1.0627% |
| 차이 (6일치) | +0.3876%p |
실제로 팔아서 확정한 쪽은 14일 동안 −1.0792%다. 14번 사고팔아 2번 이겼다. 지수 자체는 같은 기간 +1.2856%였다.
오래 들고 가는 계좌는 왜 덜 깎였나?
해외 상품 덕이다. 다리별로 보면 답이 나온다.
| 무엇 | 오늘 값 변화 | 하루 등락 |
|---|---|---|
| [코어] KODEX 200(069500) | −87,670원 | −3.62% |
| [코어] KODEX 미국S&P500(379800) | −9,685원 | −0.27% |
| [코어] KODEX KOFR금리액티브(423160) | 오늘 처음 산 것이라 없음 | — |
지수를 그냥 사서 들고만 있기가 재는 것은 위의 첫 줄 하나뿐이다. 코스피를 따라가는 상품은 −3.62% 빠졌는데, 미국 것은 −0.27%만 빠졌다. 둘을 섞어 들고 있으니 계좌 전체가 덜 깎였다. 이건 설계대로 된 것이다.
이 다리별 값이 오늘 기록에 처음 들어왔다. 8/21에 열었던 D22(코어가 지수와 반대로 움직인 이유를 모른다)는 이제 답을 볼 수 있게 됐다.
무슨 일이 있었나?
| 시각 | 일 |
|---|---|
| 09:30:00 | 코스피 −1.87%·기울기 −1.20%p → '살 수 없는 날'. 내리는 쪽 상품(114800) 지정 |
| 09:30:14 | [코어] 423160 10주를 110,860원에 삼 (1,108,600원) |
| 09:38:06 | [전략1·ETF눌림목] 114800 439주를 1,025원에 삼 (약 449,975원) |
| 09:50:00 | [전략1·ETF눌림목] 1,017원에 팔림. 산 지 12분 |
- 가격에서 3,512원, 수수료 134원 → 합쳐 3,646원 손해 (−0.810%)
- 사고 나서 제일 좋았을 때가 +0.098% (1,026원), 제일 나빴을 때가 −0.683% (1,018원)
- 팔린 값 1,017원이 제일 나빴을 때 1,018원보다 낮은데, 이건 정상이다. 극값은 3초마다 본 값이고, 실제로 팔 때는 값이 조금 밀린다. 기록에도 판정가 1,018원이 남아 있다
아침 판단은 오늘 맞았다. 코스피는 종가 −3.45%까지 밀렸다. 내리는 쪽을 산 것 자체는 방향이 옳았다. 그런데 봇이 산 자리가 나빴다. 아침 고점 1,030원에서 0.485% 눌린 1,025원에 들어갔는데, 그 뒤 1,026원까지만 오르고 계속 밀렸다. 방향은 맞고 진입 자리가 틀린 날이다. 하루 한 건뿐이라 규칙 탓이라 말할 수 없다.
나머지 세 전략은?
| 꼬리표 | 오늘 | 최근 9일 |
|---|---|---|
| [전략2·상한가] | 0번 | 0번 |
| [전략3·오버나잇] | 0번 | 0번 |
| [전략4·갭다운] | 0번 | 0번 |
셋 다 9일 동안 한 번도 안 샀다. 맡긴 돈은 각각 200,000원·1,800,000원·450,000원이다. 1,800,000원이 9일째 아무 일도 안 하고 있다. 조건이 까다로운 것인지 조건 자체가 안 돌아가는 것인지 오늘 기록으로는 확인하지 못했다. 새 문제로 연다.
봇이 남긴 기록에 이상한 건?
두 가지가 있다. 둘 다 심각하다.
첫째, 새벽 5시 19분~31분에 "마감가 없음" 경고가 10번 찍혔다. 두 종목(069500·379800)의 값을 못 받아서 평가에서 뺐다는 뜻이고, 기록에 "자본 곡선이 낙관된다"고 적혀 있다. 다만 오늘 최종 기록에는 두 종목 종가가 다 들어와 있다. 새벽에 미리 만든 보고서만 틀렸던 것으로 보인다.
둘째, 15:40:40에 최고 등급 경보 '5거래일 연속 손실'이 울렸다. 그런데 오늘은 지수를 2.47%p 이긴 날이다. 지수를 이기고도 손실이면 경보가 울리는 구조다. 이 경보가 무엇을 멈추게 하는지, 아니면 알림만인지 오늘 기록으로는 확인하지 못했다.
나머지는 이상 없다. 주문 3·체결 3으로 오늘 산 2건·판 1건에 맞는다.
지난 기록으로 다시 돌려보면?
오늘은 아무것도 비교하지 못했다.
| 다시 돌려본 것 | 결과 |
|---|---|
| 지금 쓰는 방식 | 오류로 멈춤 — 8/24가 날짜 목록에 없다 |
| 지금 쓰는 방식 + 자동 매도선 끄기 | 오류로 멈춤 — 같은 이유 |
| 옛날 방식 6가지 | 전부 거래 0번 (분봉 없음) |
| 전략2·3·4 재생 6가지 | 전부 건너뜀 (분봉 없음) |
오늘 저장한 분봉이 0종목·0개다. 실제 거래는 3번 있었는데 되돌리기용 자료가 하나도 안 쌓였다. 어제까지는 지금 쓰는 방식의 되돌리기가 실제와 원 단위까지 맞았는데, 오늘은 아예 돌지도 않았다. 자료 저장이 끊긴 것이 명백하고 하루치로 확정할 수 있는 잘못이다. 새 문제로 연다.
지수 떨어지면 멈추는 규칙은?
0분이다. 오늘은 하루 중 지수 최고·최저 자체가 기록에 없어(둘 다 빈 값) 셀 수가 없었다. 이 규칙은 옛날 방식으로 되돌려볼 때만 쓴다. 지금 봇에는 없다.
오래된 문제는 어떻게 됐나?
| 번호 | 나이 | 오늘 상태 |
|---|---|---|
| D22 | 2일 | 오늘 답이 보였다. 다리별 값이 기록에 들어와 미국 상품이 코스피와 따로 논다는 게 확인됐다 |
| D23 | 2일 | 아직. 오늘도 팔린 값(1,017원)이 제일 나빴을 때(1,018원)보다 낮다. 다만 오늘 기록은 이게 체결 비용 때문이라고 설명한다 |
지금까지 고친 것 19건, 버린 것 2건, 안 고친 것 2건이다.
가설은 몇 개나 판정됐나?
3개가 돌았고 셋 다 판정 가능으로 나왔다.
| 한 번에 얼마씩 살까 | 거래 | 121일 합계 |
|---|---|---|
| 절반씩 | 24번 | −609,909원 |
| 4분의 1씩 | 24번 | −304,729원 |
| 8분의 1씩 | 24번 | −152,075원 |
한 번당 손익은 셋 다 −0.514%로 똑같다. 작게 사면 손실 금액만 작아진다. 성적이 좋아지는 게 아니다.
| 하루 변동폭 상한 | 거래 | 121일 합계 |
|---|---|---|
| 5.0% (지금) | 24번 | −609,909원 (한 번당 −0.514%) |
| 3.5% | 21번 | −66,794원 (한 번당 −0.067%) |
| 2.5% | 3번 | −145,688원 (한 번당 −0.977%) |
가운데 값이 눈에 띄게 낫다. 다만 이건 옛날 방식(v2) 되돌리기고 지금 봇은 다르게 돈다. 그리고 셋 다 여전히 마이너스다.
| 목표 익절 폭 | 거래 | 121일 합계 |
|---|---|---|
| +1.0% (지금) | 102번 | −1,179,295원 (한 번당 −0.231%) |
| +2.0% | 93번 | −1,191,986원 (한 번당 −0.257%) |
| +3.0% | 91번 | −1,255,699원 (한 번당 −0.276%) |
넓힐수록 나빠진다. 어제 세운 가설(목표를 넓히면 좋아질까)의 답은 아니오다. 이기는 비율이 27.5%에서 14.3%로 반 토막 난 것이 크다.
조치 — 설정값은 바꾸지 않는다
실제로 사고판 건 다 합쳐 14번이다. 500번이 안 되므로 아무 값도 손대지 않는다.
| 단계 | 조건 | 지금 |
|---|---|---|
| 3 | 지수 −1.0~−1.5 구간에서 살 일 1번 | 14일 연속 못 채움 |
| 4 손절 | 실제 손절 10번 쌓기 | 9번 (오늘 1번 늘었다) |
| 4 목표 | 사고 나서 +3.0%까지 오른 거래 1번 | 0번. 오늘 최고 +0.098% |
| 5 | 되돌리기가 실제를 그대로 재현 | 오늘은 아예 못 돌았다 — 후퇴 |
숫자 출처
| 본문 표현 | 원자료 필드 |
|---|---|
| 오늘 값어치 9,930,167원 · −69,833원 | equity.value / pnl / pnl_pct |
| 다리별 금액·비중 | equity.legs |
| 확정 −3,646원 · 1번 0승 | equity.today |
| 지금 전부 판다고 치면 −0.985% | daily.mtm_pnl_pct |
| 오늘 차이 +2.468%p | daily.alpha_pct / bench_bh_pct |
| 14일 창 −0.6751 / −1.0627 / +0.3876 | rolling.20d.bot_pct / bench_bh_pct / alpha_pct |
| 14일 확정 −1.0792% | rolling.20d.bot_realized_pct |
| 주식 비중 70.43% | daily.exposure_pct |
| 다리별 하루 값 변화 | holdings.legs[].day_change_pnl / day_change_pct |
| 경고 10건 · 경보 1건 | events.warnings |
| 되돌리기 이름 원문 | replay[].label |
| 스윕 결과 원문 | evolution.sweeps_run[].arms |
진화 블록
| 종류 | 내용 | 검증 |
|---|---|---|
| 결함 | 8/24 보관 분봉이 0종목 0개라 v4 재생 2건이 ValueError 로 죽고 v2·전략2·3·4 재생 11건이 모두 거래 0건으로 나왔다 — 실거래는 3건 있었다 | 사람이 archive 적재 작업의 8/24 실행 로그와 분봉 저장 경로를 확인한다 |
| 결함 | 새벽 05:19~05:31 에 069500·379800 마감가 없음 WARN 이 10회 찍혀 그 시점 자본 곡선이 낙관 표시됐다 — 16:01 최종 기록에는 두 종가가 모두 들어와 있다 | 사람이 05시대 리포트 생성이 전일 종가를 기다리지 않고 도는지 확인한다 |
| 결함 | index.min_pct 와 max_pct 가 둘 다 null 이라 조건 C 차단 분수를 계산할 근거가 없는데 blocked_minutes 는 0 으로 출력됐다 | 사람이 index 집계가 값 없음과 0분을 구분해 출력하는지 확인한다 |
| 가설 | 전략3 오버나잇이 9거래일 연속 0건인데 진입 조건 WEAK_CLOSE_PCT 가 과도하게 좁은가 | sweep:replay_overnight.py WEAK_CLOSE_PCT=-0.5,-1.0,-1.5 |
| 가설 | 전략1 진입 눌림 하한을 낮추면 RED_B 일 진입가가 개선되는가 — 오늘 눌림 0.485%에 들어가 mfe 0.098%로 끝났다 | sweep:replay_etf.py PULLBACK_MIN_PCT=0.4,0.8,1.2 |
| 해결 | D22 | holdings.legs 가 069500 day_change_pnl −87,670원(−3.62%)·379800 −9,685원(−0.27%)로 분리 출력됐고 note 에 379800 이 코스피와 상관 0.33 인 환노출 자산이라 명시되어 코어 평가액이 bench_bh 와 따로 움직이는 것이 설계상 정상임이 확인됐다 |