DayBot

2026-08-12 (수) 회고

7거래 만에 첫 승, 그런데 같은 조건의 재생은 두 번 이겼다

KODEX 200 눌림 진입 1건이 +1.0% 목표에 걸려 순 +11,753원(+0.118%)으로 첫 승을 기록했고 mfe_pct가 처음 채워졌으나, 같은 날 v4 재생은 11:10에 두 번째 진입으로 한 번 더 이겼고 실전이 그 신호를 왜 내지 않았는지 원자료가 설명하지 않는다.

결과

항목 값
레짐GREEN (09:30:02) · 코스피 +2.539% · 기울기 +1.183%p · 전일 +0.728%
대상069500 KODEX 200 (코스피 +2.54% ≥ 코스닥 −1.86%)
신호 / 주문 / 체결 / 미체결2 / 2 / 1 / 1
거래1건, 1승 0패
총손익 → 순손익12,120원 → 11,752.9원 (+0.118%)
비용367.09원 (거래당 0.030%p, 세금 0)
누적 수익률 / MDD−0.793% / 0.909% (MDD 변동 없음)
워치독 / API 오류0 / 0
관찰정적 25 → 동적 6 (ETF 3종은 동적 평가 없음)
지수최저 +1.164%, 최고 +5.074% (종일 플러스)
아카이브25종목 9,794봉

시간 순서

시각 일
09:30:02GREEN 판정 → 대상 KODEX 200
09:36:50신호 101,750 (고가 102,170 / 눌림 0.411% / VWAP 101,231.8) → 지정가 101,745 / 12주
—위 주문 미체결 → 취소 (취소 시각 없음)
09:42:54신호 101,470 (눌림 0.685% / VWAP 101,258.7) → 지정가 101,465
09:42:59체결 101,465 (지정가와 동일, 슬리피지 −0.0049%)
10:33:29익절 102,475 (보유 50분) · gross +0.995% → 순 +0.965%
이후실전 신호 0건. 지수는 최고 +5.07%까지 더 올랐다

주문금액 101,465 × 12 = 1,217,580원, 자본의 12.18%. 수량은 floor(자본×13% / 지정가)와 일치한다(1,300,000/101,745 = 12.78 → 12). 8/11도 1,300,000/1,145 = 1,135.4 → 1,135으로 일치 — 13% 사이징은 2표본에서 재현됐다.

어제 못 푼 산식 두 개가 오늘 표본을 얻었다

주문가 = 직전가에서 1틱 내려 호가격자로 내림. 오늘 2건(101,750→101,745 / 101,470→101,465)과 8/11 3건(1,151→1,145 / 1,152→1,145 ×2)이 모두 이 규칙에 맞는다. 5표본 일치이고 코드는 확인하지 않았다.

이게 맞으면 8/11 회고의 "신호 로직과 주문가 로직이 다른 지점을 본다"는 해석은 틀렸다. 원인은 틱의 상대 크기다.

날 대상 가격대 5원 틱의 상대값 지정가 −신호가 체결
8/111,150원0.43%−0.52 ~ −0.61%0/3
8/12101,700원0.005%−0.005%1/2

같은 "1틱 아래" 규칙이 1,150원 ETF에서는 눌림 밴드(0.4~1.2%)의 절반을 건너뛰게 만들고, 10만원 ETF에서는 사실상 시장가다. 8/11의 3연속 미체결과 오늘의 5초 체결은 같은 원인의 양쪽 끝일 수 있다. 단, 8/11 신호가 1,151·1,152는 ETF 호가단위 5원의 배수가 아니다 — 가격 피드가 호가격자를 따르지 않는 정황이며 확인하지 못했다.

목표가는 체결가 기준으로 계산됐다. 101,465 × 1.01 = 102,479.65 → 격자 내림 102,475 = 실제 청산가. 신호가 기준(101,470 × 1.01 = 102,484.7 → 102,480)과는 5원 다르고, 실제는 체결가 쪽이다. 8/10에 "손절선은 신호가 기준으로 보인다"고 적었던 것과 방향이 반대다. 표본 1건, 전략도 다르다. 어느 쪽도 결론이 아니다.

비용이 달라졌다. ETF라 거래세 0, 왕복 수수료만 367원 = 거래당 0.030%p. v2 시절 개별주식은 0.229%p였다. 같은 gross +0.995%를 옛 비용으로 치르면 순 +0.766%다 — 오늘 순손익의 0.20%p는 종목군이 ETF로 바뀐 데서 왔다. 이익 구조가 아니라 비용 구조의 차이이므로 전략 우열의 근거로 쓰지 않는다.

replay 비교 — 이틀째 2종, 그리고 실전이 재생보다 1건 적다

재생 관찰 거래 결과
v4 ETF 레짐 (현재)—2+23,681원 (+0.24%), 기대값 +0.966%/거래, take_profit 2건
v2 반사실 (구 VWAP 회귀)62+11,883원 (+0.12%), time_exit 2건 (+1.02% / −0.12%)
실전 v4 재생
1차09:42:59 101,465 → 10:33 102,475, +0.965%09:43 101,460 → 10:31 102,470, +0.97%
2차없음11:10 102,880 → 11:35 103,905, +0.97%
순손익+11,753원+23,681원

1차는 진입·청산이 정확히 1틱(5원)씩 낮은 것 말고는 일치한다. 8/10의 0.35~0.47% 괴리와 비교하면 충실도가 크게 올랐다. 문제는 2차다. 재생은 11:10에 두 번째 진입 신호를 봤고 실전은 보지 않았다. 실전 order 이벤트는 3건(진입 2 + 청산 1)뿐이다. 원인 후보는 (i) 하루 진입 한도 2회에 미체결 1건이 포함됐다, (ii) 청산 후 재진입 금지, (iii) 재생과 실전의 신호 조건·가격 계열 차이 — 어느 것도 원자료로 구분할 수 없다. 8/11에는 미체결 3건 뒤에도 신호가 계속 났으므로 (i)이면 8/11과 규칙이 어긋난다. 차이는 +11,928원, 자본의 0.12%다.

(a) 트레일링을 껐을 때 차이 — 대조군이 이틀째 없다. 다만 오늘 처음으로 우회 근거가 생겼다: mfe_pct = 1.005%. 목표 +1.0%가 먼저 걸리는 구조이므로 무장선 +3.0%에 닿은 거래는 오늘도 0건이고, v4에서는 원리상 닿을 수 없다. 재생 헤더의 v4 파라미터에도 트레일링 항목이 없다(손절 -0.6 / 추세 VWAP-0.3 / 목표 +1.0). 트레일링이 코드에 남아 있는지는 확인하지 못했다.

(b) 옛 유니버스 상한 재생 — 이틀째 없다. 오늘 실거래 대상은 KODEX 200이고 이 종목은 애초에 동적 필터 밖에서 선정된다(아래 결함 #4). 유니버스 상한과 무관한 거래일 가능성이 높지만 재생이 없어 판정하지 못했다. v2 반사실이 거래한 산일전기(변동폭 3.37)·제룡전기(3.01)는 둘 다 옛 상한 2.5를 넘으므로 옛 상한이면 v2도 0건이었을 정황이다 — 변동폭 대조에 의한 추론이고 재생은 돌지 않았다.

(c) 3·4단계 예정값 재생 — 이틀째 없다. 3단계(지수차단 −1.5)는 오늘 지수가 종일 +1.16% 이상이어서 −1.0이든 −1.5든 결과가 같다. 4단계(손절 −1.5 / 익절 +2.5 / 13%)는 판정 자료가 없다. 다만 오늘 mae는 −0.286%로 손절 −0.6%에도 닿지 않았고, 청산 후 이 ETF는 11:35에 103,905까지 갔다(재생 2차 청산가) — 우리 청산가 102,475보다 +1.40% 위다. 익절선을 올렸으면 유리했을 정황이지만, 표본은 강한 상승일 하루 1건이고 그 값을 판정할 재생이 없다.

한 가지 진전 — v2 반사실 관찰 6종목이 실전 동적 통과 6종목과 일치하고, 거래한 2종목도 그 안에 있다. 유니버스 산출 일치 3거래일 연속. 슬롯 배분은 오늘도 시험되지 않았다(레짐 대상 1종목 고정, 8/6 결함 #1 5거래일째 대기).

조건 C — 0분, 지수가 종일 플러스였다

blocked_minutes = 0, 임계 −1.0%, 지수 최저 +1.164%.

날짜 blocked 진입창(271분) 기준 지수 최저
8/4134분49%−2.83%
8/50분0%+4.57%
8/647분17%−1.82%
8/7271분100%−6.51%
8/100분0%−0.987%
8/114분1.5%−1.363%
8/120분0%+1.164%

지수가 −1.0 ~ −1.5 구간에 들어간 적이 없다. 3단계 미충족(7거래일 연속). 분모 문제(8/7 #2)도 값이 0이어서 또 판별 못 했다. 8/11에 제기한 "조건 C가 인버스 매수에도 걸리는지"는 오늘 대상이 정방향 ETF라 시험되지 않았다.

유니버스

정적 25 → 동적 6. 통과: 코리아써키트·SK텔레콤·제룡전기·두산에너빌리티·한화오션·산일전기.

사유 건수
변동폭 (>5.0)10
거래량비 (<0.8)8
갭 (범위 밖)0
동적 평가 없음(ETF 3종)—

22개 평가 종목 변동폭 중앙값 4.58%. 5.64 → 3.30 → 5.27 → 4.45 → 5.20 → 4.58. 여섯 번째 표본에서도 중앙값은 4.4~5.6 사이를 오간다. 상한 5.0을 건드릴 근거 없음. 갭 탈락이 처음으로 0건이다(최대 제룡전기 +3.52). 거래량비 탈락 8건 중 4건이 0.4 미만(에스피지 0.23, 현대건설 0.33, 클로봇 0.34)으로 임계 근처가 아니다 — 0.8 완화 여부와 무관한 탈락이다.

한국콜마 변동폭 13.90%, 일진전기 거래량비 12.75 — 정적 통과 종목의 분산은 여전히 크다. 결론 없음.

결함

# 징후 원인 조치
1재생 2건 vs 실전 1건 — 11:10 두 번째 진입이 실전에 없다(차이 +11,928원)진입 한도·재진입 금지·신호 조건 차이 중 무엇인지 구분 불가. 8/11(미체결 3건 뒤에도 신호 발생)과 어긋난다기록만
21차 주문이 미체결인데 가격은 지정가 아래로 갔다 — 지정가 101,745, 6분 뒤 직전가 101,470주문 유효시간이 짧거나 취소 로직이 먼저 돈다. 취소 시각 없어 확정 불가기록만
3주문 취소 시각·유효시간 미기록cancel 1건, 언제인지 없음 (8/11 #6 재현)기록만 (2거래일째)
4동적 필터 미통과(069500, dynamic_detail: null)에 신호·주문·체결레짐 대상 선정이 동적 유니버스와 별도 경로 (8/11 #4 재현)기록만
5재생 5종 → 2종 유지 — 트레일링·옛 상한·3·4단계 대조군 이틀째 소실사유 원자료에 없음 (8/11 #3)기록만. 단계 판정 수단 없음
6daily.trades_count = 1 인데 trades 배열은 2행미체결 행의 집계 포함 규칙이 두 곳에서 다르다기록만
7재생 진입·청산가가 실전보다 정확히 1틱(5원) 낮다체결 판정 기준이 미세하게 다르다. 손익 차 0.005%p 수준기록만
8목표가는 체결가 기준, 8/10 손절가는 신호가 기준 추정 — 방향이 반대진입·청산 기준가가 항목마다 다를 가능성. 각각 표본 1~2건기록만
94단계 익절 조건("고점 +3.0% 도달 1건")이 구조적으로 충족 불가목표 +1.0%가 먼저 걸려 mfe_pct 상한이 ≈1.0%로 고정된다기록만. 조건 자체의 유효성 확인 필요
10재생과 실전의 전일 등락률 불일치(8/11 #2) 검증 불가v4 재생 출력이 전일 등락 값을 찍지 않는다기록만
11blocked_minutes 시각·분모 미검증값이 0 (8/7 #1·#2)기록만 (6거래일째)
12손절 누적 카운트 원자료 재집계 불가당일분만 제공 (8/7 #6)기록만

warnings 0건. by_type 총 15건 — order 3(진입 2 + 청산 1), fill 2(진입·청산), cancel 1(미체결 1건과 일치), bot·universe·watchdog 각 2, archive·gate·report 각 1. 루프 징후 없음. watchdog 2건이 6거래일째 유지되고, gate 1건은 내용이 없어 이틀째 읽을 수 없다.

mfe_pct / mae_pct 가 처음 채워졌다

값 대응 파라미터
mfe+1.005%목표 +1.0 (여기서 청산)
mae−0.286%손절 −0.6 (닿지 않음)

8/6부터 여섯 거래일간 요구한 항목이 실제로 동작한다. 다만 청산 이후의 가격은 담지 않으므로 "그 뒤 얼마나 더 갔는지"는 여전히 재생에서만 보인다.

지난 회고가 남긴 질문에 대한 답

질문 답
v4 주문가 산식부분 답. 직전가 −1틱 → 격자 내림. 5표본 일치, 코드 미확인
8/11 미체결이 가격 미도달인가 유효시간인가오늘 건은 가격이 왔다. 지정가 101,745를 아래로 통과했는데 체결 없이 취소됐다 → 유효시간/취소 로직 쪽 정황. 8/11 건에 그대로 적용할 수는 없다
체결 시 mfe/mae 가 채워지는가채워진다. +1.005% / −0.286%
조건 C가 ETF 레짐(인버스)에도 걸리는가미검증. 오늘 지수가 종일 플러스, 대상도 정방향
blocked_minutes 의 시각없다. 값이 0이라 오늘은 물을 대상도 없음
재생 목록이 2종으로 고정인가이틀 연속 2종. 고정인지는 원자료에 없음
v4에 트레일링이 있는가재생 파라미터 표기에는 없다. 목표 +1.0이 먼저 걸리므로 있어도 발동 불가. 코드 미확인
손절선 기준가 (v4)미검증. 오늘 손절 0건, mae −0.286%로 근처도 안 갔다
슬롯 배분 재현또 시험 못 했다 (5거래일째 대기)

내일 확인할 것

  • 실전이 11:10 신호를 왜 내지 않았는가. 하루 진입 한도, 청산 후 쿨다운/재진입 금지, 미체결의 한도 소진 여부 — 이 셋 중 무엇인지
  • 주문 유효시간(TTL)과 취소 시각. 8/11 3건과 오늘 1건의 미체결이 같은 원인인가
  • 목표가·손절가가 각각 체결가 기준인가 신호가 기준인가 — 손절이 발동하는 날의 표본 필요
  • 재생 목록 복구 여부. 4단계 익절 판정은 대조군 없이는 불가능하다
  • 4단계 익절 조건을 목표 +1.0% 구조에서 어떻게 측정할지(조건 자체가 v4에 유효한가)
  • 대상이 저가 ETF(1,150원대)로 다시 잡히는 날, 1틱 주문 규칙이 또 미체결을 만드는가

조치 — 없다

파라미터를 바꾸지 않는다. 오늘 얻은 것은 이익 1건이고, 그 1건은 강한 상승일(지수 +2.54% → 최고 +5.07%)에 정방향 ETF를 산 결과다. 표본은 하루 1건이다.

단계 조건 현재
3 조건 C −1.5지수가 −1.0 ~ −1.5 구간에 머문 분에 진입 조건 성립 1회오늘 지수 최저 +1.164% — 미충족 (7거래일 연속)
4 손절 −1.5손절 거래 10건 누적6건 (오늘 손절 0건, 결함 #12로 미검증)
4 익절 +2.5고점 +3.0% 도달 거래 1건 이상0건. 측정 수단은 생겼으나 목표 +1.0%가 상한을 만들어 구조적으로 충족 불가(결함 #9)
5 거래량비재생이 실전을 재현한 뒤 판정보류 — 오늘 재생이 실전보다 1건 많았다(결함 #1)

8/11에 적은 대로 이 단계표는 v2를 대상으로 세운 계획이고, 4단계 익절 조건은 v4 아래에서 영구 미충족임이 오늘 드러났다. 그럼에도 임의로 새 조건을 세우거나 단계를 건너뛰지 않는다. 단계표의 v4 유효성 확인이 선행 과제라는 판단을 유지한다.

7거래일 정리

날짜 전략 거래 승 순손익률 지수 최저 진입창 차단
8/4v20—0%−2.83%49%
8/5v220−0.42%+4.57%0%
8/6v220−0.25%−1.82%17%
8/7v20—0%−6.51%100%
8/10v220−0.232%−0.987%0%
8/11v40—0%−1.363%1.5%
8/12v411+0.118%+1.164%0%

누적 7거래 1승 6패, −0.793%, MDD 0.909%(변동 없음). 승이 났지만 규모는 손실 6건 평균(−0.9%대)의 8분의 1이다 — 목표 +1.0 / 손절 −0.6 구조에서는 승률이 62% 넘어야 본전이라는 뜻이고, 그 승률을 말할 표본은 없다.

오늘의 가장 큰 소득은 이익이 아니라 주문가 산식의 5표본 일치와 mfe/mae의 실동작이다. 가장 큰 미결은 재생이 본 두 번째 진입을 실전이 놓친 이유다. 그것이 규칙이라면 규칙을 몰랐던 것이고, 버그라면 오늘 손익은 절반이 사라진 값이다. 어느 쪽인지 모른다.