5.1 KiB
일일 매매 리포트 — 2026-05-28
요약
| 항목 | 값 |
|---|---|
| 거래 수 | 12 |
| 승 / 패 | 4 / 8 |
| 승률 | 33.3% |
| 순손익 | -164,936원 |
| 수수료 | 32,826원 |
| SL 비율 | 58.3% (7/12) |
청산 사유 분포
| 사유 | 건수 | 비율 |
|---|---|---|
| SL (손절) | 7 | 58.3% |
| TP1 (1차 익절) | 2 | 16.7% |
| TP2 (2차 익절) | 1 | 8.3% |
| TIME (시간 종료) | 2 | 16.7% |
| FORCE (강제 청산) | 0 | 0.0% |
거래 내역
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 사유 | 손익 |
|---|---|---|---|---|---|---|---|
| 세미파이브(490470) | 09:15:21 | 09:39:16 | 41,300 | 40,700 | 62 | SL | -42,504 |
| LG디스플레이(034220) | 09:15:30 | 09:18:16 | 15,990 | 15,740 | 162 | SL | -45,860 |
| 한성크린텍(066980) | 09:18:21 | 09:23:50 | 2,170 | 2,220 | 586 | TP1 | +26,572 |
| 한성크린텍(066980) | 09:18:21 | 09:23:55 | 2,170 | 2,235 | 252 | TP2 | +15,199 |
| SK네트웍스(001740) | 09:24:06 | 09:29:18 | 11,040 | 10,870 | 235 | SL | -45,320 |
| 대우건설(047040) | 09:29:24 | 09:50:12 | 25,900 | 25,500 | 70 | SL | -31,752 |
| 차백신연구소(261780) | 09:39:31 | 09:57:17 | 3,850 | 3,785 | 334 | SL | -24,368 |
| 녹십자엠에스(142280) | 09:50:24 | 10:16:56 | 4,890 | 4,815 | 159 | SL | -13,534 |
| 라온로보틱스(232680) | 09:57:26 | 10:03:27 | 21,700 | 21,350 | 35 | SL | -13,821 |
| 흥아해운(003280) | 10:03:35 | 11:55:20 | 2,240 | 2,295 | 243 | TP1 | +12,195 |
| 흥아해운(003280) | 10:03:35 | 12:03:39 | 2,240 | 2,260 | 105 | TIME | +1,601 |
| SFA반도체(036540) | 10:17:11 | 12:17:12 | 9,010 | 8,990 | 86 | TIME | -3,343 |
핵심 분석
1. 09:15 허수 신호 — 이틀째 재현
ENTRY_START를 09:05 → 09:15로 변경(2026-05-27 제안 1 적용) 후 첫날,
09:15:21 세미파이브, 09:15:30 LG디스플레이 — 2건 모두 SL.
첫 5분 손실: -88,364원 (전체의 53.6%).
| 구간 | 거래 | 승률 | 손익 |
|---|---|---|---|
| 09:15~09:20 | 2 | 0% | -88,364 |
| 09:20~14:20 | 10 | 40% | -76,572 |
변동성 돌파 전략은 09:15 개장 직후에도 여전히 허수 브레이크아웃에 취약.
→ 제안서 참조 (ENTRY_START 09:20 추가 지연).
2. 섹터 필터 버그 발견 (중요)
daily_context.json의 avoid_sectors: ["건설업", ...]에 건설업이 명시되어 있음에도
대우건설(047040)이 09:29에 진입됨. 손실 -31,752원.
원인: app/main.py:736의 check_entry() 호출에서 sector= 인수가 전달되지 않음.
check_entry(ticker, name, current_price) — sector 기본값 "" → 필터 조건 if sector and ... 항상 False.
→ avoid_sectors 필터가 현재 완전히 비작동 상태.
→ 제안서에 main.py 수정 포함 (승인 필요).
3. 연속 손절 7회 → L3-B 0.3× 도달
10:17까지 7건 연속 SL (경고 로그: ENTRY warning: 7 stop losses in last 60 minutes).
L3-B 배율 0.3× 최저 도달 → midday 점심 진입 중단.
midday 이후 기존 보유 2종목(흥아해운, SFA반도체)만 정리.
4. 오전 예측 완전 실패
daily_context의 강세 예측(점수 72, hot: 반도체/AI/방산)과 실제 전업종 하락 완전 불일치.
인버스 ETF 거래량 1~3위 → 기관/외인 공매도 우세 장세를 새벽 뉴스 크롤링으로 감지 못함.
최근 30일 누적 (7거래일)
| 항목 | 값 | 기준 | 통과 |
|---|---|---|---|
| 거래일 | 7 | 30일 | ❌ |
| 승률 | 39.8% | >48% | ❌ |
| MDD | -8.0% | <10% | ✅ |
| 샤프 | -23.14 | >1.0 | ❌ |
| L3 이벤트 | 0회 | ≤2회 | ✅ |
누적 손익 (05/19~05/28): 약 -799,056원
실전 전환 조건
전환 불가 (7/5 조건 미충족, 거래일 7/30)
내일 운영 참고
- ENTRY_START 제안(09:20) 승인 후 적용 완료.
- 섹터 필터 버그 수정 승인 후 적용 완료.
avoid_sectors가check_entry()에 전달됨. - 오전 신호 신뢰 낮음 — L3-B 0.3× 상태로 출발 (전날 연속손절 미회복 시)
사후 적용 내역 - 2026-05-28
사용자 승인 후 다음 변경을 적용함.
app/config.py:ENTRY_START09:15 → 09:20.app/main.py:ticker_sectors캐시 추가,check_entry()에sector전달.app/main.py: KIS 랭킹 row에 섹터 필드가 없을 때를 위한 보수적 종목명 기반 회피 섹터 힌트 추가.FORCE_EXIT = "14:50"유지 확인.- 외부 데이터 기반 AI 사전학습 파이프라인 복구 및 end-to-end 검증.
- 학습 feature에서 미래/결과 누수 컬럼 제거:
price_*,ret_*,mfe_*,mae_*,pnl,exit_price. - 미사용
scripts/_send_midday_discord.py삭제.
학습 결과:
data/external_training_dataset.csv: 3,146 rows.data/training_dataset.csv: 10 rows.models/scalping_model.joblib: 생성 완료.models/scalping_model.metrics.json: 2026-05-28 20:24 생성.label_stop_loss: ROC-AUC 0.851, accuracy 0.750.label_win: ROC-AUC 0.719, accuracy 0.635.
주의:
- AI는 계속 observation-only.
- 현재 모델은 외부 사전학습 row 비중이 높고 실제 봇 row는 10개뿐이므로 진입 차단/비중 조절에 사용하지 않음.