3연패 — 두 종목, 서로 다른 이유 없이 같은 −1%
거래 2건 모두 손절이고 순 −0.25%, 13% 비중이 자본 타격을 절반으로 줄였지만 거래당 손실률(−1.00%, −1.06%)은 8/5와 그대로 같다.
결과
| 항목 | 값 |
|---|---|
| 운용자금 | 100만원 → 1,000만원 (축척 조정, 8/6 적용) |
| 포지션 비중 | 25% → 13% (8/6 적용) |
| 신호 / 체결 / 미체결 | 3 / 2 / 1 |
| 거래 | 2건, 0승 2패 |
| 총손익 → 순손익 | −19,782원 → −25,420원 (−0.254%) |
| 비용 | 5,638원 |
| 누적 수익률 / MDD | −0.679% / 0.679% |
| 워치독 발동 / API 오류 | 0 / 0 |
| 관찰 | 정적 25 → 동적 5 |
시간 순서 — 8/5와 달리 두 종목이다.
| 시각 | 일 |
|---|---|
| 09:36:06 | 펩트론(087010) 신호(이탈 −1.11%, 지수 +0.35%), 176,800 → 09:36:09 체결 |
| 09:44:07 | LG전자(066570) 신호(−1.36%), 175,500 → 미체결 |
| 09:45:14 | LG전자 재신호(−1.08%), 176,000 → 09:45:15 체결 |
| 09:53:51 | LG전자 손절 174,538, 순 −1.06% (보유 8분) |
| 10:13:23 | 펩트론 손절 175,436, 순 −1.00% (보유 37분) |
| 이후 | 하루 2회 진입 한도 소진, 무거래. 25종목 9,800봉 보관 |
손실 분해
| 항목 | 펩트론 | LG전자 |
|---|---|---|
| 체결가 | 176,800 | 176,000 |
| 손절 기준(−0.60%) | 175,739 | 174,944 |
| 실제 청산 | 175,436 | 174,538 |
| 기준 초과 | 0.17%p | 0.23%p |
| 순손익률 | −1.000% | −1.059% |
| 자본 대비 | −0.124% | −0.130% |
거래당 순손익률은 8/5(−1.01%, −0.93%)와 사실상 동일하다. 13%는 예고한 대로 거래당 위험은 건드리지 않고 자본 타격만 절반으로 줄였다 — 자본 대비 −0.223/−0.203% → −0.124/−0.130%. 어제 세운 판독 기준(거래당 손익률은 비중에 반응하지 않는다)이 그대로 확인됐다.
실행 초과는 0.17·0.23%p로 8/5(0.10~0.19%p)보다 넓다. 다만 이것은 8/5 결함 #5에 적었듯 broker.py 의 슬리피지 상수 0.15%에서 나오는 값이며, 실측 실행비용이 아니다. 이틀치를 모아도 여전히 우리가 써넣은 숫자를 다시 읽고 있을 뿐이다.
자금 증액의 효과
정적 25 → 동적 5. 진입 가능 종목이 자금에만 반응한다는 예측대로, 130만원 투입에서 관찰 5종목이 전부 진입 가능했다(최고가 셀트리온 191,200원 → 6주). 8/5에는 9종목 중 2종목이 가격 때문에 진입 불가였다. 축척 조정은 목적대로 작동했다.
replay 비교
| 재생 | 관찰 | 거래 | 결과 |
|---|---|---|---|
| 현재 파라미터 | 5 | 2 | −31,789원 (−0.32%), 승률 0% |
| 트레일링 끔 | 5 | 2 | 완전 동일 |
| 옛 유니버스 상한 | 1 | 0 | 표본 없음 |
| 3단계 지수차단 −1.5 | 5 | 2 | 완전 동일 |
| 4단계 −1.5/+2.5/13% | 5 | 2 | −54,804원 (−0.55%), 승률 0% |
(a) 트레일링 — 이틀 연속 차이 없음. 네 거래 모두 무장선 +3.0%에 닿은 적이 없다. 최고 미실현 수익이 얼마였는지는 원자료에 없어 확인하지 못했다. 진입 후 반등 없이 곧장 손절선으로 갔는지, +1%대까지 올랐다 되밀렸는지 구분이 안 된다. 이 구분이 트레일링 논의의 전제인데 이틀째 데이터가 없다.
(b) 옛 상한이면 이번에도 0건이다. 관찰이 5 → 1종목으로 준다. 실거래 두 종목의 30분 변동폭은 펩트론 3.99, LG전자 3.44로 둘 다 옛 상한 2.5를 넘는다. 갭은 +1.14, −0.17로 옛 갭 상한도 통과한다 — 이틀 연속으로 손익 전액이 RANGE_MAX 완화분이다. 8/4 완화로 새로 열린 것은 지금까지 거래 4건, 4패다.
(c) 4단계는 오늘 불리했다. 8/5과 정반대다. 재생 −0.32% → −0.55%. 손절 −1.5%가 두 거래를 각각 30분·19분 더 살려두었고 둘 다 더 깊게(−2.25%, −2.15%) 잘렸다. 8/5에는 시간청산이 하나를 본전으로 건졌지만 오늘은 그런 구제가 없었다.
| 8/5 재생 | 8/6 재생 | |
|---|---|---|
| 현재 파라미터 | −0.45% | −0.32% |
| 4단계 | −0.20% | −0.55% |
| 4단계 기대값/거래 | −0.918% | −2.199% |
이틀의 방향이 반대다. 4단계 손절 확대는 "잡음 제거"가 근거였는데, 오늘 두 건은 −0.6%를 지나고도 반등하지 않고 계속 내려갔다 — 잡음이 아니라 추세였다. 표본 4건으로는 어느 쪽인지 모른다. 어제 정한 "손절 거래 10건 누적" 조건을 유지한다. 지금 6건이다.
3단계는 오늘도 검증 불가. 지수가 −1.82%까지 내려가 차단이 발생했는데도 −1.0과 −1.5의 결과가 완전히 동일하다. 아래 조건 C 참조.
재생 충실도 — 어제보다 나빠졌다
| 실전 | 재생 | |
|---|---|---|
| 거래 종목 | 펩트론 · LG전자 | LG전자 · 한화오션 |
| 1차 진입 | 09:36 펩트론 176,800 | 09:46 LG전자 176,000 |
| LG전자 진입 | 09:45 / 176,000 | 09:46 / 176,000 |
| LG전자 청산 | 09:53 / 174,538 | 09:54 / 174,338 |
| 순손익 | −25,420원 | −31,789원 |
종목 구성이 다르다. 실전은 펩트론+LG전자, 재생은 LG전자+한화오션이다. 재생이 펩트론을 아예 잡지 못했고 대신 실전에 없던 한화오션 거래를 만들었다. 진입 순서(하루 2회 한도)가 달라지면 이후 전부 갈라지므로, 어제 "청산 시각 55분 차이"로 적은 문제가 오늘은 "종목 자체가 다름"으로 커졌다.
원인은 확인하지 못했다. 재생이 1분봉을 쓰므로 09:36의 펩트론 신호(분 중간 시점)를 못 본 것으로 보이지만 코드를 확인하지 않았다. 손익 −25,420 vs −31,789(0.06%p)이 우연히 가까운 것이지 같은 거래를 재현한 게 아니다.
재생 결과를 손익 근거로 쓰는 것을 중단한다. 위 (a)(b)(c)는 "어떤 종목이 관찰에 남는가" 수준에서는 읽을 수 있지만, 손익 숫자는 실전과 다른 거래에서 나온 값이다. 재생을 신뢰하려면 먼저 실전 체결을 재생이 재현하는지를 통과해야 한다.
조건 C
blocked_minutes = 47 / 390분 (12%). 임계 −1.0%, 지수 최저 −1.82%, 최고 +2.95%.
이틀 만에 처음으로 차단이 걸렸다. 그런데 −1.0과 −1.5 재생 결과가 완전히 동일하다. 두 거래 모두 09:36·09:45 진입이고 그 시점 지수는 +0.35%·+0.54%였다 — 차단 구간에 신호가 없었다. 47분이 언제였는지는 원자료에 없어 확인하지 못했다.
| 날짜 | 차단 | 지수 최저 |
|---|---|---|
| 8/4 | 134분 (50%) | −2.83% |
| 8/5 | 0분 (0%) | +4.57% |
| 8/6 | 47분 (12%) | −1.82% |
어제 정한 3단계 조건은 "지수가 진입창에서 −1% 아래로 내려간 날 1회"였다. 오늘이 그 날에 해당하지만, 판정은 되지 않았다 — 차단된 시간에 신호 자체가 없었으므로 −1.0을 −1.5로 바꿔도 아무것도 달라지지 않는다. 조건을 한 번 더 조인다: 차단 구간 안에서 진입 조건 A+B가 성립한 분이 1분 이상 있는 날. 그런 날이 와야 −1.0과 −1.5가 갈린다. 오늘 그 분 수는 기록되지 않았다.
결함
| # | 징후 | 원인 | 조치 |
|---|---|---|---|
| 1 | 재생 종목 구성 불일치 — 실전 펩트론+LG전자, 재생 LG전자+한화오션 | 미확인. 재생이 1분봉이라 09:36:06 펩트론 신호를 놓치고, 진입 슬롯이 밀려 한화오션이 들어온 것으로 보이나 코드 미확인 | 기록만. 재생 손익을 근거로 쓰지 않는다 |
| 2 | 차단 47분의 시각·해당 구간 A+B 성립 분 수 없음 | index.blocked_minutes 가 총합만 남긴다 | 기록만. 3단계 판정 조건이 이것을 요구한다 |
| 3 | 관찰 5종목 중 3종목(현대건설·셀트리온·한화오션)에서 신호 0건 | 밴드 체류 분 수가 원자료에 없다. 8/5에 남긴 같은 질문이 이틀째 미해결 | 기록만 |
| 4 | 정적 25 → 동적 5, 탈락 20건 중 거래량비 탈락 12건 | 거래량비 0.8 미달이 최대 탈락 사유로 올라왔다(8/4은 변동폭이 최대였다) | 기록만. 5단계 대상이며 아직 순서가 아니다 |
| 5 | 미실현 최고가 미기록 | 트레일링 무장(+3.0%) 도달 여부를 사후에 세지 못한다 | 기록만. 4단계 익절 판정 조건이 이것을 요구한다 |
어제 조치한 것은 전부 작동했다. watchdog 4,402건 → 2건(RestartPreventExitStatus=0 효과 확인). cancel 이 order 에서 분리됐다(order 5 + cancel 1 = 6, 진입 3 + 청산 2 + 취소 1과 일치). warnings 0건, by_type 총 18건으로 루프 징후 없음.
어제 남긴 질문에 대한 답
| 질문 | 답 |
|---|---|
| 관찰 중 왜 한 종목에서만 신호가 나는가 | 여전히 모른다. 오늘도 5종목 중 3종목이 신호 0. 밴드 체류 분 수가 기록되지 않는다 |
| 손절 직후 재진입이 규칙상 허용인가 | 오늘은 재현되지 않았다. 서로 다른 종목이라 쿨다운이 호출될 상황이 없었다. 미해결 |
| 재생과 실전의 청산 시각 차이 상한 | 더 나빠졌다. 시각이 아니라 종목이 갈렸다 |
| 손절 실행 초과가 매일 나오는가 | 나온다. 8/5 0.10~0.19%p → 8/6 0.17~0.23%p. 다만 슬리피지 상수의 산물이라 이 축적에 의미가 없다 |
| 지수 상승 + 개별 하락 형태가 반복되는가 | 오늘은 2건 모두 그 형태다. 진입 시 지수 +0.35%, +0.79%. 3일 누계 3건 |
내일 확인할 것
- 재생이 실전 체결을 재현하지 못한다. 어느 단계에서 갈리는지 — 신호 시각인지, 진입 슬롯 배분인지
- 관찰 종목 중 신호 0건 종목의 밴드 체류 분 수 (사흘째 같은 질문)
- 차단 47분의 시각과 그 구간의 A+B 성립 분 수
- 진입 후 미실현 최고가. 지금 4건 모두 "반등 없이 손절"인지 "올랐다 되밀림"인지 구분 못 한다
- 거래량비 탈락이 12건으로 최대 사유가 된 것이 오늘 장 특성인지 추세인지
조치 — 없다
파라미터를 바꾸지 않는다. 3연패지만 오늘 새로 얻은 근거가 없다.
| 단계 | 조건 | 현재 |
|---|---|---|
| 3 조건 C −1.5 | 차단 구간 안에서 A+B가 성립한 날 1회 | 오늘 차단은 있었으나 그 구간에 신호 0 — 미충족 (조건을 위와 같이 조임) |
| 4 손절 −1.5 | 손절 거래 10건 누적 | 6건 |
| 4 익절 +2.5 | 고점 +3.0% 도달 거래 1건 이상 | 0건, 게다가 측정도 안 되고 있다 |
| 5 거래량비 | 재생으로 판정 가능 | 보류 — 재생이 실전을 재현하지 못한다 |
5단계를 "지금 replay 로 판정 가능"이라 어제 적었는데, 오늘 그 전제가 깨졌다. 유니버스 필터 변경은 관찰 종목 집합을 바꾸고, 그러면 진입 슬롯 배분이 바뀌고, 재생은 바로 그 배분에서 실전과 갈렸다. 결함 #1을 먼저 알아야 5단계를 판정할 수 있다.
지금까지 4건, 4패
| 날짜 | 거래 | 승 | 거래당 순손익률 |
|---|---|---|---|
| 8/5 | 2 | 0 | −1.01%, −0.93% |
| 8/6 | 2 | 0 | −1.00%, −1.06% |
네 건이 −0.93 ~ −1.06% 안에 모여 있다. 이것은 전략의 성적이 아니라 손절 규칙의 성적이다 — 이익으로 끝난 거래가 하나도 없으니 분포에 위쪽 꼬리가 아예 없다. 4건으로는 승률을 말할 수 없다(±25%p). 다만 하나는 말할 수 있다: VWAP 회귀를 노렸는데 4건 모두 회귀하지 않았다. 3일, 4건이다. 규칙을 바꿀 근거는 아니고, 세어 둘 사실이다.