본문 바로가기
Project Archive/Quant & Auto Trading

[자동매매] 실전운영 20일차 - -232,400원, 이상 급등장 첫 영업일에 TIME_STOP 3건 + STOP_LOSS 1건 동시 발동

by 병헤는 밤 2026. 5. 7.
반응형

5월 6일 매매 일지 -- -232,400원, 이상 급등장 첫 영업일에 TIME_STOP 3건 + STOP_LOSS 1건 동시 발동

수요일. KOSPI/KOSDAQ 모두 BULL(BOTH_BULL) 환경에서 청산 4건·매수 2건. 순손익 -232,400원(승률 0%, PF 0.00). KOSPI +5.99% 강세장 시초에 4/29 변경한 새 TIME_STOP 룰(7일/-3%)이 첫 동시 발동(삼성E&A/현대차/알테오젠), 그 직후 HD현대중공업 -7.11% 갭하락 STOP_LOSS까지 09:32 안에 232,400원 실현 손실 확정. 동시에 LG전자/포스코퓨처엠 신규 매수가 진입 직후 일중 고가 97~99% 위치로 들어가 이상 급등장의 정점 진입 패턴이 또 한 번 정량 기록됐다.

시장 환경

지수 현재 / 20MA 판정
KOSPI(KODEX 200) 105,295 → 111,755 / 95,571 BULL
KOSDAQ(KODEX 코스닥150) 20,175 → 20,145 / 19,523 BULL

3팩터 ALL_BULL 100% 예산 스케일. KOSPI 일중 등락 +5.99% / ATR% 4.52%로 1년치 평균(±0.46% / 1.87%) 대비 5배·2.4배. 5/4(+5.12%)에 이은 두 번째 이상 급등 영업일이며 한 달 1~2회 빈도로 발생하는 환경. pension v1은 데이터 소스 결함으로 529건 "BEAR 비활성" 누적 — 같은 날 universe builder의 휴장일(5/5) fallback 버그를 발견·수정하고 ka10172 + ka10173 구독 검증까지 완료해 5/7부터 자동 검증 트랙 가동 예정.

청산 내역 (4건)

시각 종목 진입가 청산가 PnL 사유 보유 K
09:00:46 삼성E&A (028050) 56,800 55,000 -50,400 (-3.17%) TIME_STOP D+7 0.56
09:00:50 현대차 (005380) 562,000 539,000 -46,000 (-4.09%) TIME_STOP D+7 0.57
09:00:54 알테오젠 (196170) 385,000 373,000 -36,000 (-3.12%) TIME_STOP D+8 0.50
09:32:27 HD현대중공업 (329180) 703,000 653,000 -100,000 (-7.11%) STOP_LOSS D+6 0.55

청산 손익 합계: -232,400원 (0W/4L, 승률 0%, PF 0.00, 평균 -4.37%)

  • TIME_STOP 3건 동시 발동 (-132,400원) — 4/29 룰 변경(5일/+1% → 7일/-3%) 후 첫 동시 컷. 셋 다 D+7~D+8 보유 + 5/6 시초 약세로 -3% 미만 진입 → 자동 청산. 알고리즘 측면에선 룰 그대로 작동했고, 보유일 한도가 더 길었다면 회복 여부는 별개 관찰 대상. 셋 모두 직전 사이클 강세 섹터(자동차/조선·플랜트/바이오) 종목으로 5/6 이상 급등 테마(전선/전력기기·반도체 부품)와 misalign.
  • HD현대중공업 -7.11%(-100,000원) STOP_LOSS — 4/29 09:34 진입 @703,000 후 5/6 09:32 STOP_LOSS @653,000. 보유 D+6에 -7.11%로 처분된 사례로, 5/6 시초 갭하락이 발동 트리거. VB 진입 정점 패턴(project_vb_peak_entry_pattern.md)에 누적된 사례. 4/29 진입 직후부터 D+1 -2.56% / D+5 -2.13%로 일관 약세였고, 5/4 이상 급등 + 5/6 추가 갭하락에 손절선 깨짐.
  • 실시간 분해능 한계 — 09:00:46~09:00:54 안에 TIME_STOP 3건이 0.5초 간격으로 처리됐고, HD현대중공업도 09:32:27 단발 청산. 매도 판정 자체는 정상 동작. 다만 갭하락 시초의 즉시 컷(이벤트 드리븐)이 가능했다면 STOP_LOSS 진입가는 더 좋았을 가능성 — 보유 종목 손절만 ws 가격 push 트리거로 분리하는 E안 후속 검토 항목.

매수 내역 (2건)

시각 종목 진입가 수량 금액 K 비고
09:19:18 LG전자 (066570) 153,300 9 1,379,700 0.59 가짜돌파 1회 → 167s 확인 후 매수, 거래량 10.13x
09:33:18 포스코퓨처엠 (003670) 286,000 5 1,430,000 0.66 F4 6회 차단 후 우회 진입, 거래량 7.60x

총 매수 2,809,700원. 2종목 모두 BOTH_BULL 100% 예산 스케일 + 예수금/9슬롯 동적 분배 정상 작동. 단 진입 직후 추이는 두 건 모두 일중 고가 97~99% 위치(LG전자 98.8% / 포스코퓨처엠 97.1%)로 VB 정점 진입 패턴의 표본을 추가했다.

🔭 특이 분석 — pension v2 인프라 정상 검증 + universe builder fix

5/4부터 매일 발생하던 build_pension_universe.py "K 필터 0종목" 실패의 root cause 확인 — `_fetch_market_cap`이 5/5(어린이날) 빈 데이터(시총 컬럼 모두 0인 row 948개)를 ".empty=False"로 통과시켜 5/4 정상 데이터로 fallback 못 함. 1줄 패치(시가총액 합계 0이면 휴장일로 판정)로 수정 후 09:17 수동 빌드에서 5/4 기준 KOSPI 948+KOSDAQ 1823 → K 필터 통과 1744 → DB 적재 822종목 정상 회복.

같은 날 ka10172(조건검색 일반 조회) + ka10173(실시간 push 구독) 둘 다 검증 완료:

  • ka10172: 09:07 시점 pension_v1 (seq=92) 60건 응답, 09:27 시점 42건 응답 — 시간대 따라 자연 변동
  • ka10173: 02:34 시점 초기 매칭 36개 + 30초 listen — 장 외라 push 0건이지만 구독/응답 형식 정상
  • shadow + event 별도 App Key 동시 가동 시 라이브 봇 R10001 0건 — 5/5 검증 결과와 동일

5/7부터 cron 자동 검증 셋업 완료(평일 08:50 subscribe_condition / 08:55 pension v2 dry-run / 09:10·09:30 자동 종료). 라이브 봇 영향 0 보장 위에서 pension v2 첫 매수 후보 포착 + ka10173 실시간 push 검증을 동시 진행할 수 있는 인프라가 이날 마무리됐다.

보유 종목 현황 (4종목)

종목 진입가 진입일 D+ 5/6 종가 평가손익 K
한미반도체 (042700) 385,000 04/30 D+6 379,500 -22,000 (-1.43%) 0.62
현대로템 (064350) 274,500 04/30 D+6 259,500 -45,000 (-5.46%) 0.56
LG전자 (066570) 153,300 05/06 D+0 151,900 -12,600 (-0.91%) 0.59
포스코퓨처엠 (003670) 286,000 05/06 D+0 285,500 -2,500 (-0.18%) 0.66

평가손익 합계 -82,100원. 4종목 모두 마이너스이지만 LG전자/포스코퓨처엠은 진입 당일이라 자연스러운 분산 안. 한미반도체/현대로템은 4/30 진입 후 D+6 시점 -1.43%·-5.46%로 7일 TIME_STOP 룰의 다음 발동 후보 위치. 5/7 시점 회복 여부가 관건.

📊 인사이트

  • 이상 급등장 + 정적 WATCHING 결합 메커니즘 정량 확인. KOSPI 일중 +5.99% / ATR% 4.52%는 1년치 평균의 5배·2.4배 수준이며 한 달 1~2회 빈도로 발생. 이 환경에서 직전 사이클 강세 종목(자동차/조선/바이오)이 새 테마(전선/반도체 부품)에 자리를 내주며 갭하락 STOP_LOSS와 TIME_STOP 동시 발동. 5/4(매수 0건)와 5/6(청산 4건) 모두 같은 메커니즘.
  • VB 정점 진입 패턴 표본 추가. LG전자 98.8% / 포스코퓨처엠 97.1% 위치. 9건 누적 표본 중 5/6 두 건이 가장 정점 근접. F4(고점이탈 1.05x)에 6번 차단 후 우회 진입한 포스코퓨처엠은 "차단 의도와 결과의 갭"을 다시 한 번 보여줌. 즉시 룰 변경 금지(case-fit 위험), 표본 30+ 누적 후 통계 분석.
  • 승률·PF 단독 해석 무의미. 5/6은 4건 청산 모두 손실로 PF 0.00이지만 모두 같은 강세장 환경에서 발생. 4/21~5/6 누적은 실현 +283K(이미 -240K 5/4 + -232K 5/6 흡수 후) — 정상장 평균 작동을 1~2개 outlier 사건이 깎는 구조의 정량 사례.
  • K 분포 0.50~0.66. 청산 4건은 0.50~0.57의 좁은 분포, 매수 2건은 0.59~0.66로 약간 높은 변동성 구간. 동일 사이클 내에서도 K 분포가 시기에 따라 다른 점을 시사.

🐛 미해결 숙제

  • pension v1 매수 0건 지속 — 5/6 universe builder fix로 데이터 측 차단은 풀었지만 v1 자체는 별도 이슈. v2 dry-run에서 첫 매수 후보 포착 검증이 5/7 본 검증 항목.
  • WATCHING 자동 큐레이션 미도입 — 5/4부터 합의된 옵션 ① 1단계(pykrx 일봉 기반) 미진행. C 트랙(조건식 ws push) 안정화 후 진입 예정.
  • HD현대중공업 케이스 — 결함 진입 수동 청산 원칙 미적용 검토 — 4/29 진입 직후부터 D+1 -2.56%로 약세 일관됐고 5/4 이상 급등에 -2.13%로 보유 부담 누적. 휴장 직전 손실 룰 후보군에 들어갈 수 있는 사례 (대우건설 케이스와 메커니즘은 다르지만 결과 유사 -7%+ 손실).

오늘의 교훈

확인한 것

  • 이상 급등장(KOSPI 등락 +3% AND ATR% +2.5% 임계) = 한 달 1~2회 빈도. 1년치 데이터로 임계값 sweep 결과 +3.0% / 2.5%가 sweet spot으로 확인됨. 정상장 영향 거의 0.
  • universe builder의 휴장일 fallback 버그가 매일 cron 침묵 실패의 원인이었고 1줄 패치로 해결. "조용히 실패하는 cron"의 위험성을 다시 확인 — 다음 비슷한 도구 작성 시 결과 검증 + 알림 필수.
  • shadow + event 별도 App Key 패턴이 동시 가동에서도 라이브 봇 영향 0 — 향후 추가 dry-run 트랙 확장의 표준 패턴 확정.

경계할 것

  • 5/6 4건 손실을 룰 변경의 동기로 삼지 말 것 — TIME_STOP 룰은 정상 동작했고 4/29 변경 결과 1차 검증 진행 중. 표본 누적 전 추가 변경 금지.
  • VB 정점 진입 표본 9건이 모두 단기 약세로 시작하지만 회복 여부와 D+5/D+7 추이는 별개 — "매수 직후 약세"만으로 진입 룰 변경하면 다음 outlier에서 또 다른 case-fit.
  • 5/6 universe fix가 즉시 작동하더라도 5/7 첫 매수 후보 포착 결과 한 번에 의미 부여 금지 — 며칠 누적 후 평가.

내일 체크포인트

  1. 🔴 5/7 09:30 자동 검증 결과 분석 — `logs/subscribe_condition.log`(ka10173 push 이벤트 수신 여부 + action=I/D 분포) / `logs/pension_v2_dryrun.log`(universe fix 후 매수 후보 포착) / `logs/bunt_trader.log`(R10001 0건 확인). 라이브 + shadow + event 3개 봇 동시 가동의 실측 첫날.
  2. 🔴 한미반도체/현대로템 D+7 TIME_STOP 가능성 — 4/30 진입이라 5/7~5/8이 D+7 도달. 회복 못 하면 다음 동시 컷 후보. 현재 -1.43% / -5.46%.
  3. 🟡 LG전자/포스코퓨처엠 D+1 추이 — VB 정점 진입 표본이 D+1에 어떻게 움직이는지 정량 추가. 회복 시 표본 1건씩 정점 진입 원인의 본성 가설 강화, 약세 지속 시 outlier 사례.
  4. 🟡 WATCHING 자동 큐레이션 1단계 시작 여부 — pension v2 검증 결과 양호하면 다음 트랙 진입.
  5. 일반 — 손절 정밀화 E안(보유 종목 ws 가격 push 트리거 매도) 검토. HD현대중공업 케이스가 갭하락 즉시 컷 효과의 정량 사례로 누적됨.

소감

강세장에서 4건 동시 손절이 09:32 안에 처리된 답답한 하루였지만, 같은 시간대에 universe builder 버그 fix와 ka10172/ka10173 검증 + 별도 키 분리 + 5/7 자동 검증 셋업까지 마무리된 인프라 진척의 하루이기도 했다. 손실은 정상장 평균을 1~2개 outlier가 깎는 구조의 정량 사례로 누적되고, 그 outlier를 다루는 본질적 방법(이상 급등장 게이트, 조건식 ws push 이벤트 드리븐 진입)은 라이브 룰을 건드리지 않고 별도 트랙에서 차근차근 검증되는 중이다. 룰을 바꾸지 않고 데이터만 누적하는 것이 case-fit 함정의 가장 강한 방어다.

 

5/6 매매요약

 

5/6 관심종목교체내역

반응형

댓글