Files
Stock-trading-programming/reports/daily/2026-05-28.md
T

132 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 일일 매매 리포트 — 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_START` 09: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개뿐이므로 진입 차단/비중 조절에 사용하지 않음.