일일 리포트 — 12거래 승4패8 -164,936원 / 섹터필터버그 발견 + ENTRY_START 09:20 제안서 작성
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"date": "2026-05-27",
|
||||
"generated_at": "11:20:14",
|
||||
"lunch_trade_allowed": true,
|
||||
"position_size_multiplier": 0.7,
|
||||
"hot_sectors": ["금융업", "반도체", "유통업"],
|
||||
"avoid_sectors": ["전기전자", "화학", "의약품"],
|
||||
"strategy_note": "시초가 갭업 오버슈팅 주의 — 점심 진입 시 추세 안정 확인 후 진입",
|
||||
"reason": "KOSPI +4.43% 강세이나 중소형 돌파 실패 연속, 연손절1회 배율0.7×"
|
||||
"date": "2026-05-28",
|
||||
"generated_at": "11:20:18",
|
||||
"lunch_trade_allowed": false,
|
||||
"position_size_multiplier": 0.3,
|
||||
"hot_sectors": [],
|
||||
"avoid_sectors": ["전기전자", "반도체", "전기가스업", "기계", "의약품"],
|
||||
"strategy_note": "인버스ETF 거래량 1~3위, 전업종 하락. 오전 강세 예측 완전 빗나감. 현재 보유 2종목(흥아해운·SFA반도체)만 관리, 신규 진입 없음.",
|
||||
"reason": "연속손절6회·전업종약세·인버스거래량1위→점심진입중단"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
# 일일 매매 리포트 — 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) 승인 대기 → 미승인 시 현행 09:15 유지
|
||||
- 섹터 필터 버그 수정 승인 대기 → 미수정 시 avoid_sectors 비작동 지속
|
||||
- 오전 신호 신뢰 낮음 — L3-B 0.3× 상태로 출발 (전날 연속손절 미회복 시)
|
||||
@@ -0,0 +1,127 @@
|
||||
# 전략 파라미터 변경 제안 — 2026-05-28
|
||||
|
||||
**상태: 승인 대기 (수동 검토 필요)**
|
||||
**작성: Claude Evening / 2026-05-28**
|
||||
|
||||
---
|
||||
|
||||
## 제안 1: ENTRY_START 추가 지연 — 09:15 → 09:20
|
||||
|
||||
### 현재값
|
||||
```python
|
||||
ENTRY_START = "09:15"
|
||||
```
|
||||
|
||||
### 제안값
|
||||
```python
|
||||
ENTRY_START = "09:20"
|
||||
```
|
||||
|
||||
### 근거
|
||||
|
||||
2026-05-27 제안을 적용해 09:05 → 09:15로 변경했으나, 오늘(05/28) 09:15:21(세미파이브), 09:15:30(LG디스플레이)에서 2건 모두 SL.
|
||||
|
||||
| 날짜 | 09:05~09:10 SL | 09:15~09:20 SL | 구간 손실 |
|
||||
|------|----------------|----------------|-----------|
|
||||
| 05/27 | 4건 (09:05 이전 기준) | — | -183,969 |
|
||||
| 05/28 | — | 2건 | -88,364 |
|
||||
|
||||
이틀 연속으로 장 시작 직후 5분 내 진입 건이 전패. 변동성 돌파 신호가 개장 직후에는
|
||||
호가 스프레드 확대 + 단기 허수 갭에 의해 오염된다는 패턴이 반복 확인됨.
|
||||
|
||||
09:20 이후 구간 오늘 성과: 10거래 / 승률 40% / -76,572원
|
||||
→ SL 비율이 낮아지고 TP 비율이 높아지는 경향.
|
||||
|
||||
### 기대 효과
|
||||
- 장 초반 허수 브레이크아웃 추가 필터링
|
||||
- 일 손실의 50%+ 를 차지하는 09:15~09:20 구간 회피
|
||||
|
||||
### 위험
|
||||
- 09:15~09:20 진짜 모멘텀 신호 포기 가능
|
||||
- 근거: 이틀(2일) 데이터 → 여전히 통계적으로 불충분
|
||||
|
||||
### 증거 충분성
|
||||
**불충분하나 패턴 일관성 높음.** 2거래일 연속 동일 구간 전패. 즉시 적용 권장.
|
||||
|
||||
### 구현
|
||||
`app/config.py` 1줄 수정 — 승인 후 즉시 반영 가능.
|
||||
|
||||
---
|
||||
|
||||
## 제안 2: 섹터 필터 버그 수정 (main.py 수정 필요)
|
||||
|
||||
### 현상
|
||||
`daily_context.json`에 `avoid_sectors: ["건설업", ...]` 명시에도 불구하고
|
||||
대우건설(건설업, 047040)이 09:29에 진입됨. 손실 -31,752원.
|
||||
|
||||
### 근본 원인
|
||||
|
||||
**`app/main.py:736`** 의 `check_entry()` 호출:
|
||||
```python
|
||||
# 현재 코드
|
||||
signal = self.strategy.check_entry(
|
||||
ticker=ticker,
|
||||
name=name,
|
||||
current_price=current,
|
||||
)
|
||||
```
|
||||
|
||||
`sector=` 인수가 누락되어 기본값 `""` 전달.
|
||||
`app/strategy/volatility_breakout.py:173`:
|
||||
```python
|
||||
if sector and any(s in sector for s in avoid): # sector가 ""이면 항상 스킵
|
||||
```
|
||||
→ **avoid_sectors 필터가 현재 완전히 비작동 상태**.
|
||||
|
||||
### 해결 방안
|
||||
|
||||
섹터 정보를 ticker에 매핑해야 한다. 두 가지 옵션:
|
||||
|
||||
**옵션 A (권장 — 즉시 구현 가능)**: 유니버스 선정 시 KIS 종목 정보 API로 섹터를 받아
|
||||
`ticker_sectors` dict를 빌드하고 `check_entry` 호출 시 전달.
|
||||
|
||||
**옵션 B (단순)**: 섹터 체크를 `check_entry` 내부가 아닌 main.py 루프에서 직접 수행.
|
||||
`ticker_sectors` dict가 없는 경우 universe 필터 단계에서 종목별 섹터 정보를 저장.
|
||||
|
||||
### 제안 수정 (옵션 A)
|
||||
|
||||
`app/main.py` 수정 — **별도 승인 필요**.
|
||||
|
||||
```python
|
||||
# main.py 유니버스 빌드 시 섹터 저장 (기존 코드 확장)
|
||||
# self.ticker_sectors: dict[str, str] = {}
|
||||
|
||||
# check_entry 호출 변경
|
||||
signal = self.strategy.check_entry(
|
||||
ticker=ticker,
|
||||
name=name,
|
||||
current_price=current,
|
||||
sector=self.ticker_sectors.get(ticker, ""),
|
||||
)
|
||||
```
|
||||
|
||||
### 증거 충분성
|
||||
**버그 확인됨.** 코드 레벨 확증. 수정 즉시 효과 발휘.
|
||||
|
||||
### 리스크
|
||||
- main.py 수정이 필요하므로 별도 승인 필요
|
||||
- 섹터 데이터 미확보 시 여전히 공백 — ticker_sectors 빌드 로직 추가 필요
|
||||
|
||||
---
|
||||
|
||||
## 우선순위 권고
|
||||
|
||||
| 순위 | 제안 | 난이도 | 즉시 적용 |
|
||||
|------|------|--------|-----------|
|
||||
| 1 | 섹터 필터 버그 수정 | 중간 (main.py) | X (승인 필요) |
|
||||
| 2 | ENTRY_START → 09:20 | 낮음 (config.py) | O |
|
||||
|
||||
버그 수정이 더 중요하나 승인 필요. ENTRY_START는 바로 반영 가능.
|
||||
|
||||
---
|
||||
|
||||
## 검토 항목 (승인 전)
|
||||
|
||||
- [ ] `ticker_sectors` 데이터를 어디서 채울지 확인 (KIS 종목 마스터 API 또는 universe fetch 시)
|
||||
- [ ] 옵션 A vs B 선택
|
||||
- [ ] ENTRY_START 09:20 적용 후 최소 3거래일 관찰
|
||||
Reference in New Issue
Block a user