Compare commits

...

29 Commits

Author SHA1 Message Date
whdwo 1777da1c41 [2026-07-08] 저녁 결산 — 0건 / AI차단·全업종하락·KOSPI-1.68%·건설예측빗나감·샤프-0.98
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-08 15:31:55 +09:00
whdwo 1f2676ba02 [2026-07-08] 장중 분석 — KOSPI-1.68%·全업종하락·인버스ETF1위·오전예측빗나감·점심차단유지 2026-07-08 11:21:29 +09:00
whdwo eaad9dd2df [2026-07-08] 장전 분석 — SOX-4.65%·삼전外人2조매도·WTI+5.66%·trade_allowed=false·건설내수관심 2026-07-08 08:16:44 +09:00
whdwo 7d70a5367d [2026-07-07] 저녁 결산 — 2건 / 2승 0패 / +31,115원 / TP1·TP2·건설섹터순환매 2026-07-07 15:31:55 +09:00
whdwo 8342e3dbb4 [2026-07-07] 장중 분석 — 오전2승·KOSPI-5.38%급락·인버스ETF1위·건설반도체강세유지 2026-07-07 11:21:27 +09:00
whdwo 04ac24b578 [2026-07-07] 장전 분석 — 삼전역대최대실적불구급락·KOSPI-2.82%·인버스ETF1위·글로벌SOX+2.17%긍정 2026-07-07 09:21:51 +09:00
whdwo 2dc29be75e [2026-07-06] 저녁 결산 — 2건 / 0승 2패 / -54,885원 / SL x2·삼성전자우 섹터분류 버그 의심
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 15:32:42 +09:00
whdwo 807f22158d [2026-07-06] 장중 분석 — 연속손절2회·KOSPI-1.74%하락·인버스ETF1위·점심진입중단 2026-07-06 11:21:19 +09:00
whdwo cf258cec87 [2026-07-06] 장전 분석 — SOX-5.44%반도체2연락·달러약세·삼전실적D-1·방산금융순환매 2026-07-06 08:17:17 +09:00
whdwo 73f9d456fb [2026-07-03] 저녁 결산 — 0건 / 거래없음 / SOX-5.44%반도체2연락·글로벌리스크·AI필터패스·자본보존 2026-07-03 15:32:28 +09:00
whdwo c62820ab48 [2026-07-03] 장중 분석 — KOSPI반등+2.01%·금융강세, SOX-5.44%글로벌리스크·인버스ETF1위, 점심진입패스 2026-07-03 11:21:40 +09:00
whdwo ea902f0ce1 [2026-07-03] 장전 분석 — SOX-5.44%·반도체2연락·달러약세, 금융순환매, 거래패스 2026-07-03 08:17:38 +09:00
whdwo 80457fe6c4 Hide Windows scheduler bot execution 2026-07-02 16:06:14 +09:00
whdwo c43163629d [2026-07-02] 저녁 결산 — 0건 / 거래없음 / KOSPI-2.8%·SOX-6.27% 약세장 완전 패스·자본보존 2026-07-02 15:32:40 +09:00
whdwo 054754ad34 [2026-07-02] 장중 분석 — KOSPI-2.8%·인버스폭등·금융급락, 건설·기계 강세, 점심진입중단 2026-07-02 11:21:26 +09:00
whdwo 1395b90a1a [2026-07-02] 장전 분석 — SOX-6.27%·CPI3.2%·外人폭매도, 반도체 급락·거래중단 2026-07-02 08:17:18 +09:00
whdwo f4e99fe106 [2026-07-01] 저녁 결산 — 8건 / 6승2패 / +69,663원 (TP2x3·TP1x3·SLx2, 전선2종목+HPSP 적중) 2026-07-01 15:33:25 +09:00
whdwo 7b2dfa6c25 [2026-07-01] 장중 분석 — KOSPI-3.19%·인버스폭증, 전기전자+4.13%·반도체 실강세, 점심배율x0.7 2026-07-01 11:21:38 +09:00
whdwo 4e56a06210 [2026-07-01] 장전 분석 — SOX+3.92%·미 증시 상반기 초강세·메모리 슈퍼사이클, 반도체·전자부품 집중 2026-07-01 08:17:01 +09:00
whdwo 1f704a6fa4 [2026-06-30] 저녁 결산 — 3건 / 2승1패 / +66,423원 (TP2x1·TP1x1·SLx1, 후성 TP2+SK이터닉스 분할) 2026-06-30 15:31:39 +09:00
whdwo 72e9e1124c [2026-06-30] 장중 분석 — 인버스폭증·전반약세, 오전 2승1패+66k, 반도체·금융 집중 x0.7 2026-06-30 11:21:26 +09:00
whdwo 17aa5b7ea0 [2026-06-30] 장전 분석 — SOX+3.83%·나스닥+2.07%·미이란 긴장완화, 반도체·AI 강세 반등 예상 2026-06-30 08:16:57 +09:00
whdwo 9e079ac1d4 [2026-06-29] 저녁 결산 — 4건 / 1승 3패 / -21,877원 (SL×3·TP2×1, KOSPI -1.93%·SOX 전일 -5.29%)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 15:33:19 +09:00
whdwo c86ef98e30 [2026-06-29] 장중 분석 — 인버스폭증·KOSPI -1.93%·반도체 약세, 전기전자·2차전지 강반전·x0.7 유지 2026-06-29 11:22:00 +09:00
whdwo b3145cb878 [2026-06-29] 장전 분석 — SOX -5.29% 반도체 급락·인버스 폭증, 이재용 1000조 투자 기대감 2026-06-29 08:58:22 +09:00
whdwo cde622606e [2026-06-29] 장전 분석 — SOX -5.29% 반도체 급락·인버스 폭증, 이재용 1000조 투자 기대감 2026-06-29 08:54:08 +09:00
whdwo c17c3cdd1c [2026-06-26] 저녁 결산 — 1건 / 0승 1패 / -47,784원 (삼익제약 SL, KOSPI -5.62% 급락·예측 빗나감)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 15:32:33 +09:00
whdwo 7689ac0ea7 [2026-06-26] 장중 분석 — KOSPI -5.62% 급락·인버스 폭등·예측 빗나감·점심진입중단 x0.7 2026-06-26 11:21:21 +09:00
whdwo c5f87ff77f [2026-06-26] 장전 분석 — 마이크론 실적·SOX +3.6% 반도체 주도, JP모건 코스피 강세론 2026-06-26 08:17:17 +09:00
16 changed files with 1104 additions and 36 deletions
+6
View File
@@ -45,6 +45,8 @@ AI에게 맡기지는 않습니다. AI는 장 전/장중/장후 시장을 분석
- DB: SQLite (`data/stockbot.db`) - DB: SQLite (`data/stockbot.db`)
- 알림: Discord Webhook - 알림: Discord Webhook
- AI/ML: 시장 분석과 관찰용 점수 기록까지만 사용 - AI/ML: 시장 분석과 관찰용 점수 기록까지만 사용
- 스케줄러 작업은 숨김 실행으로 등록하고, 장중 봇 본체는 Windows에서
`pythonw.exe`를 우선 사용해 콘솔 창 없이 백그라운드로 실행합니다.
운영 모드는 아래처럼 나뉩니다. 운영 모드는 아래처럼 나뉩니다.
@@ -79,6 +81,10 @@ powershell -ExecutionPolicy Bypass -File scripts\setup_scheduler.ps1
powershell -ExecutionPolicy Bypass -File scripts\run_training_pipeline.ps1 powershell -ExecutionPolicy Bypass -File scripts\run_training_pipeline.ps1
``` ```
운영 중 봇을 직접 켜야 할 때는 `python app/main.py`보다
`python scripts\start_bot.py`를 사용합니다. 이 경로는 기존 봇을 정리한 뒤
콘솔 없는 백그라운드 프로세스로 새 봇을 띄우고 Discord 시작 알림을 보냅니다.
## 에이전트 운영 문서 ## 에이전트 운영 문서
- `AGENTS.md`: Codex가 읽는 운영 지침 - `AGENTS.md`: Codex가 읽는 운영 지침
+21 -21
View File
@@ -1,26 +1,26 @@
{ {
"date": "2026-06-25", "date": "2026-07-08",
"generated_at": "08:15:10", "generated_at": "08:15:11",
"trade_allowed": true, "trade_allowed": false,
"market_sentiment": "세", "market_sentiment": "세",
"sentiment_score": 62, "sentiment_score": 36,
"domestic_score": 68, "domestic_score": 44,
"global_context": { "global_context": {
"nasdaq_change": -0.43, "nasdaq_change": -1.16,
"sp500_change": -0.1, "sp500_change": -0.45,
"dow_change": 0.35, "dow_change": -0.25,
"sox_change": -0.18, "sox_change": -4.65,
"usdkrw_change": 0.29, "usdkrw_change": -0.98,
"wti_change": -4.48, "wti_change": 5.66,
"us10y": 4.4, "us10y": 4.53,
"global_score": 52, "global_score": 24,
"global_risk": "보통" "global_risk": "높음"
}, },
"risk_level": "보통", "risk_level": "높음",
"hot_sectors": ["반도체", "원전", "항공", "2차전지"], "hot_sectors": ["건설", "내수소비", "바이오"],
"avoid_sectors": ["정유", "물류"], "avoid_sectors": ["반도체", "항공", "방산"],
"boosted_tickers": [], "boosted_tickers": [],
"blacklist_tickers": ["000120"], "blacklist_tickers": [],
"position_size_multiplier": 0.9, "position_size_multiplier": 0.5,
"reason": "마이크론 어닝 서프라이즈 반도체 급등 전망, 유가급락 항공 수혜" "reason": "SOX-4.65%·삼전外人2조매도·WTI+5.66%·KOSPI급락후반등시도·건설내수관심"
} }
+10 -11
View File
@@ -1,19 +1,18 @@
{ {
"date": "2026-06-25", "date": "2026-07-08",
"generated_at": "11:20:17", "generated_at": "11:20:16",
"lunch_trade_allowed": true, "lunch_trade_allowed": false,
"position_size_multiplier": 0.7, "position_size_multiplier": 1.0,
"hot_sectors": [ "hot_sectors": [
"철강금속", "2차전지"
"금융업",
"전기가스업",
"반도체"
], ],
"avoid_sectors": [ "avoid_sectors": [
"전기전자",
"철강금속",
"의약품", "의약품",
"2차전지", "건설업",
"정유" "통신업"
], ],
"strategy_note": "", "strategy_note": "",
"reason": "KOSPI +4.89% 급반등, 철강/금융 주도, 반도체 예측 대비 약세, SL 1회" "reason": "KOSPI-1.68%·全업종하락·인버스ETF1위·오전예측빗나감·점심차단유지"
} }
+127
View File
@@ -0,0 +1,127 @@
# 일일 결산 — 2026-06-26
## 시장 컨텍스트
KOSPI -5.62% 급락. 전일(+4.89%) 급반등 이후 하루 만에 대형 하락 전환.
장전 분석은 마이크론 어닝 서프라이즈·SOX +3.6% 기반의 반도체 강세를 예측했으나, 실제 시장은 급락하며 예측이 빗나감.
인버스 ETF 폭등, 개별 종목 대다수 목표가 미달. 장중 분석 기준 점심 진입 중단 적용.
---
## 오늘 거래 요약
| 항목 | 값 |
|---|---|
| 총 거래 | 1건 |
| 승/패 | 0승 1패 |
| 승률 | 0.0% |
| 순손익 | -47,784원 |
| 수수료 | 4,944원 |
### 거래 상세
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 이유 | PnL | AI부스트 |
|---|---|---|---|---|---|---|---|---|
| 삼익제약 (014950) | 09:29:37 | 09:34:25 | 9,500 | 9,330 | 252주 | SL | -47,784원 | X |
---
## 청산 사유 분포
| 사유 | 건수 | 비율 |
|---|---|---|
| SL | 1 | 100% |
| TP1 | 0 | 0% |
| TP2 | 0 | 0% |
| TIME | 0 | 0% |
| FORCE | 0 | 0% |
---
## 분석
### 거래 품질
- **진입**: 09:29에 삼익제약 진입. ENTRY_START(09:20) 이후 약 9분 뒤 신호 발생.
- **청산**: 진입 후 약 5분 만에 SL 발동. 청산가 9,330원, 하락폭 -1.79%.
- **원인**: KOSPI -5.62% 급락장. 장전 예측(반도체 강세)과 실제 시장 방향이 완전히 불일치. 모든 감시 종목이 장 내내 목표가 미달 상태 유지. 삼익제약은 제약 섹터로 모닝 AI 테마와 직접 연관 없는 종목.
- **SL 이후**: 014950 SL차단 적용 — 이후 재진입 없음 (정상 동작).
- **AI 부스트 평가**: AI 부스트 미적용 종목. 필터 품질 판단 불가 (1건).
### 과매매 여부
1건 거래 — 과매매 없음. SL 후 재진입 없음. 점심 진입 중단 적용으로 오후 신규 진입 차단됨.
### 실행 품질
- 진입/청산가 정상 기록 (9,500 / 9,330).
- KIS 초당 거래 초과(10:39) 발생 — retry 1/4 성공, 영향 없음.
- 14:50 강제 청산 정상 실행 (보유 포지션 없음).
- 15:10 결산 정상 실행. 중복 처리 방지 확인됨.
- midday_context 로드 완료 — 점심 진입 중단·배율 x0.7 반영 확인.
### 연속 손실 패턴
| 날짜 | 거래 | 결과 | 손익 | 시장 |
|---|---|---|---|---|
| 06-24 | 1건 SL | 0승 1패 | -28,244원 | - |
| 06-25 | 1건 SL | 0승 1패 | -32,202원 | KOSPI +4.89% |
| 06-26 | 1건 SL | 0승 1패 | -47,784원 | KOSPI -5.62% |
3일 연속 SL 단건 패배. 공통점: 진입 직후 5~10분 이내 SL 발동.
06-25(강반등)와 06-26(급락)처럼 시장 방향이 정반대임에도 동일한 결과 → 진입 시그널 자체의 타이밍 문제 가능성.
---
## 최근 30일 성과 (14 거래일 기준)
| 지표 | 값 | 전일 |
|---|---|---|
| 거래일 | 14일 | 13일 |
| 승률 | 47.9% | 48.9% |
| MDD | -2.6% | -2.2% |
| 샤프 | -3.72 | -2.72 |
| L3 발동 | 0회 | 0회 |
### 일자별 손익
| 날짜 | 거래수 | 승/패 | 손익 |
|---|---|---|---|
| 2026-06-15 | 9 | 6/3 | +88,648원 |
| 2026-06-16 | 4 | 2/2 | -28,682원 |
| 2026-06-17 | 3 | 1/2 | +36,844원 |
| 2026-06-18 | 3 | 0/3 | -50,524원 |
| 2026-06-19 | 2 | 1/1 | +9,730원 |
| 2026-06-22 | 5 | 2/3 | -110,271원 |
| 2026-06-23 | 3 | 2/1 | -3,943원 |
| 2026-06-24 | 1 | 0/1 | -28,244원 |
| 2026-06-25 | 1 | 0/1 | -32,202원 |
| 2026-06-26 | 1 | 0/1 | -47,784원 |
누적 순손익 (10 거래일): 약 **-166,428원**
샤프 비율 -3.72로 전일(-2.72) 대비 추가 악화. 6/22 이후 5거래일 연속 음수 손익 (6/23 -3,943원 포함).
---
## 전략 변경 제안
**없음.** 표본 부족 (32거래 기록, 30일 미만).
관찰 포인트:
- **AI 시장 예측 정확도**: 장전 반도체 강세 예측 → 실제 KOSPI -5.62% 급락. 시장 방향 오판이 반복되는지 추적 필요.
- **급락장 진입 필터**: KOSPI 장 초반 -3% 이상 갭다운 시 진입 보류 또는 포지션 축소 로직 검토 여지 있음. 단, 확인 표본 미달 — 추후 30거래 이상 확보 후 재검토.
- **단건 SL 연속 패턴**: 3일 연속 1건 진입 → 즉각 SL. 전략의 엔트리 타이밍이 오전 변동성 피크에 집중되는 구조적 원인 여부 확인 필요.
---
## 실거래 준비 체크리스트
| 조건 | 기준 | 현재 | 통과 |
|---|---|---|---|
| 운영 거래일 | >= 30일 | 14일 | X |
| 승률 | > 48% | 47.9% | X |
| MDD | > -10% | -2.6% | O |
| 샤프 | > 1.0 | -3.72 | X |
| L3 월 발동 | <= 2회 | 0회 | O |
**실거래 전환: 미승인** (거래일 부족, 승률·샤프 기준 미달)
+139
View File
@@ -0,0 +1,139 @@
# 일일 결산 — 2026-06-29
## 시장 컨텍스트
전일 SOX -5.29% 반도체 급락. 인버스 ETF 폭증 속 장전 분석은 이재용 1000조 투자 기대감을 근거로 전기전자·2차전지 테마를 주목.
실제 장 중 KOSPI -1.93% 하락. 반도체 섹터 약세 지속, 전기전자·2차전지는 강반전 패턴 일부 확인.
장중 분석 기준 L3-B x0.7 유지 적용.
---
## 오늘 거래 요약
| 항목 | 값 |
|---|---|
| 총 거래 | 4건 |
| 승/패 | 1승 3패 |
| 승률 | 25.0% |
| 순손익 | -21,877원 |
| 수수료 | 7,837원 |
### 거래 상세
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 이유 | PnL | AI부스트 |
|---|---|---|---|---|---|---|---|---|
| 빛과전자 (069540) | 09:24:10 | 09:26:43 | 2,235 | 2,210 | 626주 | SL | -18,558원 | X |
| 대한광통신 (010170) | 10:14:05 | 10:17:22 | 13,830 | 13,670 | 70주 | SL | -13,211원 | X |
| 서산 (079650) | 10:46:13 | 10:48:00 | 6,210 | 6,400 | 112주 | TP2 | +19,778원 | X |
| 세미티에스 (0017J0) | 12:04:34 | 12:11:02 | 4,430 | 4,375 | 154주 | SL | -9,886원 | X |
---
## 청산 사유 분포
| 사유 | 건수 | 비율 |
|---|---|---|
| SL | 3 | 75% |
| TP1 | 0 | 0% |
| TP2 | 1 | 25% |
| TIME | 0 | 0% |
| FORCE | 0 | 0% |
---
## 분석
### 거래 품질
- **빛과전자 (09:24)**: ENTRY_START 4분 뒤 진입. 2분 만에 SL 발동. 하락폭 -1.12%, 광학 부품 섹터.
- **대한광통신 (10:14)**: 3분 만에 SL. 하락폭 -1.16%. 광통신 섹터 — SOX 급락 여파 지속 구간.
- **서산 (10:46)**: 2분 만에 TP2 청산. +3.06% 상승. 오늘 유일 수익 거래. 신속 청산 정상.
- **세미티에스 (12:04)**: 종목명에 "세미" 포함 — 반도체 관련 가능성. 장전 분석에서 반도체 섹터 경계를 명시했음에도 오후 진입. 7분 만에 SL, 하락폭 -1.24%.
**L3-B 추정 순서:**
- 전일(06-26) SL 1건 → 연속 SL 1회 → 오늘 시작 배율 x0.7
- 빛과전자 SL → 연속 2회 → x0.5
- 대한광통신 SL → 연속 3회 → x0.3
- 서산 TP2 → 연속 SL 리셋 → x1.0
- 세미티에스 SL → 연속 1회 → x0.7
세미티에스 진입 직전 TP2로 배율이 x1.0으로 복구된 상태 — 하락폭이 작아 손실이 제한적(미드데이 배율 x0.7 병행 반영).
### 과매매 여부
4건 진입. 과매매 임계 수준은 아님. SL 후 동일 종목 재진입 없음 (정상 동작).
다만 세미티에스(12:04)는 장중 분석의 반도체 경계 권고에도 오후에 진입된 점은 추적 필요.
### 실행 품질
- 4건 모두 진입가·청산가 정상 기록 (0-price 행 없음).
- 14:50 강제 청산 정상 실행 (보유 포지션 없음).
- 15:10 결산 정상 실행. 중복 처리 방지 확인 ("결산 이미 처리됨: 2026-06-29").
- 14:00 이후 ENTRY blocked 정상 적용.
- 강제 청산 → 보유 포지션 없음 확인.
### 연속 손실 패턴
| 날짜 | 거래 | 결과 | 손익 | 시장 |
|---|---|---|---|---|
| 06-24 | 1건 SL | 0승 1패 | -28,244원 | — |
| 06-25 | 1건 SL | 0승 1패 | -32,202원 | KOSPI +4.89% |
| 06-26 | 1건 SL | 0승 1패 | -47,784원 | KOSPI -5.62% |
| 06-29 | 4건 SL×3/TP2×1 | 1승 3패 | -21,877원 | KOSPI -1.93%, SOX 전일 -5.29% |
4 거래일 연속 순손실. 06-22 이후 6 거래일 중 5일 음수. 공통점: 진입 후 2~7분 이내 SL 다수 발동.
---
## 최근 30일 성과 (15 거래일 기준)
| 지표 | 값 | 전일 |
|---|---|---|
| 거래일 | 15일 | 14일 |
| 승률 | 46.2% | 47.9% |
| MDD | -2.9% | -2.6% |
| 샤프 | -4.10 | -3.72 |
| L3 발동 | 0회 | 0회 |
### 일자별 손익
| 날짜 | 거래수 | 승/패 | 손익 |
|---|---|---|---|
| 2026-06-16 | 4 | 2/2 | -28,682원 |
| 2026-06-17 | 3 | 1/2 | +36,844원 |
| 2026-06-18 | 3 | 0/3 | -50,524원 |
| 2026-06-19 | 2 | 1/1 | +9,730원 |
| 2026-06-22 | 5 | 2/3 | -110,271원 |
| 2026-06-23 | 3 | 2/1 | -3,943원 |
| 2026-06-24 | 1 | 0/1 | -28,244원 |
| 2026-06-25 | 1 | 0/1 | -32,202원 |
| 2026-06-26 | 1 | 0/1 | -47,784원 |
| 2026-06-29 | 4 | 1/3 | -21,877원 |
누적 순손익 (위 10 거래일): 약 **-276,953원**
샤프 -4.10 전일(-3.72) 대비 추가 악화. 06-22 이후 6거래일 연속 음수 흐름.
---
## 전략 변경 제안
**없음.** 표본 부족 (15 거래일, 30거래 미달).
관찰 포인트:
- **반도체 섹터 필터 강도**: 장전 분석에서 반도체 경계 명시 → 세미티에스(종목명 "세미") 오후 진입 발생. 섹터 필터가 이름 기반 힌트에 의존하는 경우 오탐·미탐 추적 필요.
- **약세장 진입 필터**: SOX -5% 이상 전일 또는 KOSPI 장 초반 -2% 이상 → 진입 보류·포지션 추가 축소 로직 검토 여지 있음. 확인 표본 미달 — 30거래 이상 후 재검토.
- **L3-B TP2 리셋 후 재진입**: TP2 직후 배율 x1.0 복구로 세미티에스 진입. 약세장 흐름 중 배율 리셋 시 과도 노출 우려. 추후 TP2 리셋 전후 진입 성과 비교 필요.
---
## 실거래 준비 체크리스트
| 조건 | 기준 | 현재 | 통과 |
|---|---|---|---|
| 운영 거래일 | >= 30일 | 15일 | X |
| 승률 | > 48% | 46.2% | X |
| MDD | > -10% | -2.9% | O |
| 샤프 | > 1.0 | -4.10 | X |
| L3 월 발동 | <= 2회 | 0회 | O |
**실거래 전환: 미승인** (거래일 부족, 승률·샤프 기준 미달)
+90
View File
@@ -0,0 +1,90 @@
# 2026-06-30 일간 결산
## 핵심 요약
| 항목 | 값 |
|---|---|
| 총 거래 | 3건 |
| 승/패 | 2승 1패 |
| 승률 | 66.7% |
| 순수익 | **+66,423원** |
| 수수료 | 8,427원 |
| 강제청산 비율 | 0.0% |
## 거래 내역
| 티커 | 종목 | 진입 | 청산 | 수량 | 진입가 | 청산가 | 청산사유 | 손익 |
|---|---|---|---|---|---|---|---|---|
| 093370 | 후성 | 09:20:03 | 09:21:22 | 99 | 20,100 | 20,650 | TP2 | +50,165원 |
| 475150 | SK이터닉스 | 10:14:32 | 10:16:47 | 25 | 52,800 | 54,000 | TP1 | +27,170원 |
| 475150 | SK이터닉스 | 10:14:32 | 10:27:57 | 12 | 52,800 | 52,000 | SL | -10,912원 |
## 청산 사유 분포
- TP2: 1건 (33%)
- TP1: 1건 (33%)
- SL: 1건 (33%)
- TIME/FORCE: 0건
## 거래별 분석
### 후성(093370) — TP2 +50,165원
- 09:20 개장 직후 진입, 79초 만에 TP2 달성
- 장전 SOX +3.83% 반등 환경에서 반도체 소재 모멘텀 포착
- 빠른 TP2 달성은 강한 매수세 확인
### SK이터닉스(475150) — TP1+SL 분할 구조
- 37주 동시 진입 후 분할 청산 (25주 TP1, 12주 SL)
- TP1 2분 만에 달성 (+27,170원), 이후 잔여 물량이 되돌림으로 SL 처리 (-10,912원)
- 순손익 +16,258원 — 분할 청산 구조가 리스크 완충 역할 수행
- 오전 인버스 폭증 환경에서 반도체 변동성 확인
## 과매매 점검
- 일일 진입 횟수: 2종목 (후성, SK이터닉스) — 정상 범위
- 동일 종목 연속 손절: 없음
- TIME/FORCE 집중도: 0% — 양호
## AI 필터 품질
- 오늘 거래 중 ai_boosted 건수: 0건
- 장전 분석에서 반도체·AI 강세 반등 예상이 실제 후성 TP2로 확인됨
- AI 부스트 없이 시스템 시그널만으로 운영됨
## 실행 품질
- 가격 누락/0가격 행: 없음
- 미청산 포지션: 없음 (14:50 강제청산 후 잔여 0)
- 결산 중복 처리 방지 정상 작동 확인
## 30일 누적 지표
| 지표 | 현재값 | 기준 | 통과 |
|---|---|---|---|
| 운영 거래일 | 16일 | ≥ 30일 | ❌ |
| 승률 | 47.3% | > 48% | ❌ |
| MDD | -2.9% | < -10% | ✅ |
| 샤프 지수 | -2.25 | > 1.0 | ❌ |
| L3 월 발동 | 0회 | ≤ 2회 | ✅ |
**실전 전환 판정: 미달 (4개 기준 미충족)**
### 샤프 -2.25 원인 분석
- 2026-06-22 -110,271원, 2026-06-18 -50,524원 등 큰 손실 일이 분산을 높임
- 총 누적 수익이 아직 변동성을 감당하지 못하는 구조
- 거래일 16일은 통계적으로 너무 적어 샤프 값 자체의 신뢰도 낮음
## 전략 변경 제안
오늘 거래 자체는 양호하나, 30일 통계 기반 제안 조건 미달(거래일 16일 < 30일 권장). 별도 proposal 파일 없음.
**관찰 메모 (제안 수준 아님):**
- SK이터닉스처럼 동시 진입 후 분할 청산 구조(TP1 일부 + SL 나머지)는 리스크를 자연스럽게 줄이는 패턴 — 현행 로직이 의도한 대로 작동 중
- 인버스 폭증 환경에서도 개별 모멘텀 강한 종목은 조기 TP2 달성 가능 확인
## 라이브 준비 체크
실전 전환 미달. 다음 달성 조건 대기:
1. 거래일 30일 (현재 16일 — 약 14거래일 남음)
2. 승률 48% 초과 (현재 47.3%)
3. 샤프 1.0 초과 (현재 -2.25 — 안정적 수익 누적 필요)
+115
View File
@@ -0,0 +1,115 @@
# 2026-07-01 일간 결산
## 핵심 요약
| 항목 | 값 |
|---|---|
| 총 거래 | 8건 |
| 승/패 | 6승 2패 |
| 승률 | 75.0% |
| 순수익 | **+69,663원** |
| 수수료 | 21,617원 |
| 강제청산 비율 | 0.0% |
## 거래 내역
| 티커 | 종목 | 진입 | 청산 | 수량 | 진입가 | 청산가 | 청산사유 | 손익 |
|---|---|---|---|---|---|---|---|---|
| 024840 | KBI메탈 | 09:20:03 | 09:21:07 | 386 | 4,345 | 4,445 | TP1 | +35,003원 |
| 024840 | KBI메탈 | 09:20:03 | 09:21:45 | 166 | 4,345 | 4,455 | TP2 | +16,710원 |
| 006340 | 대원전선 | 09:20:14 | 09:24:33 | 144 | 11,600 | 11,860 | TP1 | +33,859원 |
| 006340 | 대원전선 | 09:20:14 | 09:24:56 | 62 | 11,600 | 11,890 | TP2 | +16,435원 |
| 475150 | SK이터닉스 | 09:21:57 | 09:22:35 | 41 | 57,300 | 56,400 | SL | -41,762원 |
| 000500 | 가온전선 | 09:22:49 | 09:24:59 | 5 | 282,000 | 277,500 | SL | -25,417원 |
| 403870 | HPSP | 09:33:17 | 09:53:47 | 20 | 57,300 | 58,500 | TP1 | +21,547원 |
| 403870 | HPSP | 09:33:17 | 09:54:05 | 9 | 57,300 | 58,900 | TP2 | +13,289원 |
**실질 진입 5종목:** KBI메탈 (+51,713원), 대원전선 (+50,294원), SK이터닉스 (-41,762원), 가온전선 (-25,417원), HPSP (+34,836원)
## 청산 사유 분포
- TP1: 3건 (37.5%)
- TP2: 3건 (37.5%)
- SL: 2건 (25.0%)
- TIME/FORCE: 0건
## 거래별 분석
### KBI메탈(024840) — TP1+TP2 +51,713원
- 개장 직후 09:20:03 진입, 64초 만에 TP1 / 102초 만에 TP2 달성
- 전선/소재 섹터가 전기전자 +4.13% 환경에서 강한 모멘텀 포착
- 분할 청산 구조가 정상 작동
### 대원전선(006340) — TP1+TP2 +50,294원
- 09:20:14 진입, 4분 내 TP1/TP2 연속 달성
- 전선 섹터 집중 환경에서 KBI메탈과 동시에 진입하여 섹터 흐름 적중
### SK이터닉스(475150) — SL -41,762원
- 09:21:57 진입 후 38초 만에 SL 처리
- 오픈 변동성으로 빠른 하락. KOSPI -3.19% 급락 환경에서 고가 반도체 종목 변동성 과다
- 손절 속도 정상 (38초) — 추가 손실 방지
### 가온전선(000500) — SL -25,417원
- 09:22:49 진입, 2분 만에 SL 처리
- 전선 섹터 내 종목 간 편차 확인. KBI메탈/대원전선 강세 ≠ 전선 전반 강세
- 단가 282,000원 × 5주로 포지션 규모가 적정하게 제한됨
### HPSP(403870) — TP1+TP2 +34,836원
- 09:33:17 진입, 약 20~21분 보유 후 TP1/TP2 달성
- 반도체 부품 섹터에서 지연 진입이지만 추세 지속 확인 후 TP 달성
- 오전 SL 2건 이후 추가 진입을 자제하고 명확한 모멘텀에서만 진입
## 과매매 점검
- 일일 진입 횟수: 5종목 — 오전 집중 (09:20~09:33)
- 09:20~09:24 구간에 4종목 동시 진입: KBI메탈/대원전선은 성공, SK이터닉스/가온전선은 SL
- 동일 종목 연속 손절: 없음
- TIME/FORCE 집중도: 0% — 양호
- SL 2건 모두 5분 이내 처리 — 빠른 손절 작동 정상
**관찰:** 오픈 4종목 동시 진입은 섹터 내 승패 편차가 클 때 헤지 효과가 있지만, 리스크 집중도가 높다. 전선 2종목 동시 진입은 섹터 베팅과 동일한 효과.
## AI 필터 품질
- 오늘 거래 중 ai_boosted 건수: 0건 (전 종목 시스템 시그널)
- 장전 분석에서 "전기전자·전선 섹터" 집중 예상 → KBI메탈/대원전선 실제 TP2 달성으로 방향 일치
- 장중 분석 "KOSPI -3.19% 급락·인버스 폭증" 경고에도 전기전자 +4.13% 섹터 예외 포착
## 실행 품질
- 가격 누락/0가격 행: 없음
- 미청산 포지션: 없음
- 결산 중복 처리 방지 정상 작동 ("결산 이미 처리됨" 로그 확인)
- 14:50 강제청산 실행 — 대상 포지션 없음 (전 포지션 오전 청산 완료)
## 30일 누적 지표
| 지표 | 현재값 | 기준 | 통과 |
|---|---|---|---|
| 운영 거래일 | 17일 | ≥ 30일 | ❌ |
| 승률 | 50.8% | > 48% | ✅ |
| MDD | -2.9% | < -10% | ✅ |
| 샤프 지수 | -0.72 | > 1.0 | ❌ |
| L3 월 발동 | 0회 | ≤ 2회 | ✅ |
**실전 전환 판정: 미달 (2개 기준 미충족)**
### 샤프 -0.72 개선 경과
- 전일 -2.25에서 -0.72로 큰 폭 개선
- 오늘 +69,663원이 일평균 수익을 끌어올리며 샤프 분모(변동성) 대비 분자(평균) 개선
- 2026-06-22 (-110,271원) 등 초기 대형 손실일이 여전히 분산을 높이는 구조
- 거래일 17일은 통계적으로 불충분 — 샤프 값 자체의 신뢰도 낮음
## 전략 변경 제안
오늘 결과는 우수(승률 75%, +69,663원)하며 30일 통계 기반 제안 조건 미달(거래일 17일 < 30일 권장). 별도 proposal 파일 없음.
**관찰 메모 (제안 수준 아님):**
- 전선 섹터 동시 2종목 진입은 섹터 베팅 효과 — 섹터가 강할 때 증폭, 섹터가 혼조일 때 편차 발생 (오늘은 KBI메탈/대원전선 강세 vs 가온전선 SL)
- SK이터닉스 SL 38초 — 반도체 고가 종목의 오픈 변동성이 큰 것 재확인. KOSPI 급락일 반도체 진입 리스크 관찰 지속
## 라이브 준비 체크
실전 전환 미달. 다음 달성 조건 대기:
1. 거래일 30일 (현재 17일 — 약 13거래일 남음)
2. 샤프 1.0 초과 (현재 -0.72 — 꾸준한 수익 누적 필요)
+101
View File
@@ -0,0 +1,101 @@
# 2026-07-02 일일 결산
## 오늘 결과
| 항목 | 값 |
|---|---|
| 거래 건수 | 0건 |
| 승/패 | 0승 0패 |
| 순손익 | 0원 |
| 수수료 | 0원 |
**오늘 거래 없음 — 강한 약세 환경에서 완전 패스 (정상 방어 행동)**
---
## 장 개요
### 아침 컨텍스트 (08:15 생성)
- **글로벌 리스크**: 높음 | **심리 점수**: 33/100
- SOX **-6.27%** / S&P500 -0.22% / NASDAQ -0.66%
- CPI 3.2% 예상 상회 → 금리 인하 기대 약화
- 외국인 폭매도 지속
- `trade_allowed: false`, `position_size_multiplier: 0.5`
- 회피 섹터: 반도체 / 반도체장비 / 석유화학
### 장중 흐름
- KOSPI **-2.8%** 하락 — 인버스 ETF 폭등
- 금융업 급락, 건설·기계만 강세
- 점심 컨텍스트 `lunch_trade_allowed: false`, 배율 ×0.5 유지
---
## 봇 행동 분석
### 유니버스 및 목표가
- 전체 유니버스: **11종목** (ETF 제외)
- 유효 목표가: **7/11종목** (4종목 거래대금 100억 미달 제외)
- 024840, 010960, 002780, 007610 → 거래대금 미달로 제외
- 유효 7종목 모두 장중 목표가 미달 (시장 전체 하락으로 돌파 없음)
### AI 필터 동작
| 종목 | 처리 결과 |
|---|---|
| 삼성전자(005930) | **AI 거래 차단** — SOX-6.27%·CPI·外人 이유 명시 |
| 나머지 6종목 | 목표가 미달 (시장 약세로 돌파 미발생) |
- 아침 AI 블락 → 삼성전자 반도체 섹터 진입 완전 차단 ✓
- 장중(11:21) midday_context 로드 후 점심 진입 중단 활성화 ✓
- 14:50 강제 청산 — 포지션 없어 즉시 완료 ✓
### 평가
오늘은 **KOSPI -2.8%, SOX -6.27%** 의 강한 약세장이었다. 7종목 모두 시가 대비 하락 또는 횡보하여 돌파 목표가 미달이 정상이다. AI 필터가 리스크를 사전에 정확히 감지하여 전체 진입을 실질적으로 차단했고, 결과적으로 자본 보존에 성공했다.
- **AI 필터 정확도**: 우수 — 고리스크 환경(SOX -6%+, 외인 폭매도) 사전 감지
- **거래량 필터**: 정상 동작 — 거래대금 미달 4종목 자동 제외
- **강제 청산**: 포지션 없어 즉시 완료
- **과매매 위험**: 없음 (0건)
- **집행 오류**: 없음
---
## 최근 30일 누적 성과
| 지표 | 값 | 기준 | 상태 |
|---|---|---|---|
| 운영 거래일 | 18일 | 30일 이상 | ❌ |
| 승률 | 50.8% | > 48% | ✅ |
| MDD | -2.9% | < -10% | ✅ |
| Sharpe | -0.70 | > 1.0 | ❌ |
| L3 발동 | 0회 | 월 2회 이하 | ✅ |
**실전 전환 불가** — 2개 기준 미달 (거래일 부족, Sharpe 음수)
### Sharpe 음수 원인 분석
6/22 단일 대형 손실(-110,270원)이 분모(변동성) 대비 수익 기대를 끌어내리고 있다.
6/22 데이터 제외 시 최근 7거래일 수익 추세는 개선 중 (6/30 +66K, 7/1 +70K).
샤프 개선은 안정적 수익 누적이 필요하며 현 단계에서 전략 변경보다 데이터 축적이 우선이다.
---
## 전략 제안
없음. 오늘 거래 0건으로 판단 근거 부족. 시스템이 의도대로 동작했다.
---
## 라이브 준비 점검
- 30일 운영: 18일 진행 중 (12일 더 필요)
- 승률: 50.8% ✅
- MDD: -2.9% ✅
- Sharpe: -0.70 ❌
- L3 발동: 0회 ✅
**실전 전환 미충족** — 조건 2개 불충족.
+107
View File
@@ -0,0 +1,107 @@
# 2026-07-03 저녁 결산
## 요약
| 항목 | 값 |
|------|-----|
| 거래 건수 | 0건 |
| 승/패 | - |
| 순손익 | +0원 |
| 수수료 | 0원 |
| 전략 판단 | 거래 패스 — 자본 보존 |
## 오늘 시장 환경
| 지표 | 값 |
|------|-----|
| SOX | -5.44% (반도체 2연속 급락) |
| NASDAQ | -0.80% |
| S&P500 | 0.00% |
| Dow | +1.14% |
| KOSPI 장중 | +2.01% 반등 (금융·비테크 주도) |
| 달러/원 | 1,540원 (약달러) |
| 미국채 10년 | 4.48% |
| 인버스 ETF | 거래량 1위 (시장 헤지 수요 높음) |
- 글로벌 리스크 점수: 27 (높음)
- 전체 감성 점수: 36 (약세)
- 국내 점수: 42
## 봇 동작 분석
### 진입 판단
아침 컨텍스트에서 `trade_allowed = False`, `position_size_multiplier = 0.5` 설정.
이유: SOX -5.44% 반도체 2연속 낙폭·AI 기대 꺾임·달러약세, 금융 순환매 국면.
장중 종일 목표가 미달로 진입 없음. 주요 종목 현황:
| 종목 | 사유 |
|------|------|
| 마키나락스(477850) | AI 거래 중단 (SOX 연락) 오전; 이후 목표가 미달 |
| 엘티씨(170920) | 오후 AI 거래 중단 (목표가 도달하나 블랙리스트 조건 적용) |
| 에코프로(086520) | 목표가 미달 (84~87k < 92,250) |
| 원익IPS(240810) | 목표가 미달 (121~128k < 144,850) |
| 금호건설(002990) | 목표가 미달 (10,120~10,890 < 12,305) |
| 테크윙(089030) | 목표가 미달 (43,750~45,350 < 50,200) |
| 하나마이크론(067310) | 목표가 미달 (39,300~40,750 < 44,975) |
| 주성엔지니어링(036930) | 목표가 미달 (190~202k < 238,850) |
→ KOSPI 반등은 금융·건설 주도였으며 반도체 watch 종목은 목표가까지 거리 유지.
### 장중 이벤트
- **KIS 레이트 리밋 2회** (09:52, 09:54) — 4회 재시도 자동 복구, 정상 운영 지속.
- **점심 세션 진입 중단**: midday_context `lunch_trade_allowed = False`, 피하는 섹터에 전기전자·화학·반도체·통신 추가.
- **14:50 강제 청산**: 포지션 없음 → 정상 완료.
- **15:10 결산**: 0건 / 승0 패0 / +0원. 중복 결산 방지 로그 확인 (`결산 이미 처리됨`).
### AI 필터 품질
| 항목 | 평가 |
|------|------|
| 아침 trade_allowed 판단 | 정확 — SOX 이중 낙폭 환경에서 거래 중단 올바름 |
| 반도체 ticker AI 블록 | 정확 — 마키나락스, 엘티씨 사전 차단 |
| 목표가 필터 | 정상 — 나머지 종목 가격 조건 미달로 미진입 |
| 점심 진입 중단 | 정확 — 글로벌 리스크 지속 상황에서 보수적 판단 적절 |
| 부스트 종목 | 0개 (위험 환경에서 부스트 없음 → 올바른 동작) |
| 블랙리스트 | 000040 1개 |
## 실행 품질
- 거래 없음 → 가격 누락·0원 행·불일치 포지션 없음.
- KIS 레이트 리밋 자동 복구 정상.
- 봇 정상 종료 (15:10 결산, 중복 방지 동작).
## 과거 30일 성과 (19 거래일)
| 지표 | 값 | 기준 | 통과 |
|------|-----|------|------|
| 누적 운영일 | 19일 | 30일 | FAIL |
| 승률 | 50.8% | >48% | PASS |
| MDD | -2.9% | <-10% | PASS |
| 샤프 | -0.68 | >1.0 | FAIL |
| L3 발동 횟수 | 0회 | ≤2회 | PASS |
**샤프 음수 주의**: 6월 22일 -110,270원 등 손실 집중일이 반영됨. 7월 1일 +69,663원, 6월 30일 +66,422원으로 최근 수익성은 개선 추세.
**라이브 준비**: 미통과 (19일 / Sharpe -0.68).
## 연속 무거래일 평가
| 날짜 | 이유 | 판단 |
|------|------|------|
| 2026-07-02 | KOSPI -2.8%·SOX -6.27% 약세장 | 올바른 패스 |
| 2026-07-03 | SOX -5.44%·반도체 2연락·글로벌 리스크 | 올바른 패스 |
2일 연속 무거래는 약세 환경 자본 보존 전략의 정상 동작. 다음 거래일(07/04) 미국 독립기념일 휴장 여부 확인 필요.
## 전략 변경 제안
없음. 현재 AI 필터와 목표가 조건이 위험 환경에서 올바르게 작동하고 있음.
## 내일 주요 체크
1. 07/04 미국 독립기념일 → 미국 시장 휴장 → KOSPI 외부 영향 제한적이나 야간 선물 부재로 불확실.
2. SOX 연속 하락 이후 반등 여부 — 반도체 섹터 재진입 조건 재검토.
3. 샤프 개선을 위해 수익 거래일 집중 필요 — 과도한 패스보다 우량 신호 선별 강화 방향 검토.
+110
View File
@@ -0,0 +1,110 @@
# 2026-07-06 저녁 결산
## 요약
| 항목 | 값 |
|------|-----|
| 거래 건수 | 2건 |
| 승/패 | 0승 2패 |
| 순손익 | -54,885원 |
| 수수료 | 5,565원 |
| 전략 판단 | SL 2회 → 점심 진입 차단 (자본 보존) |
## 오늘 시장 환경
| 지표 | 값 |
|------|-----|
| KOSPI | -1.74% (하락) |
| SOX | -5.44% (반도체 2연속 급락) |
| 인버스 ETF | 거래량 1위 (헤지 수요 집중) |
| 피하는 섹터 | 반도체, AI장비 |
| 이벤트 | 삼성전자 실적 발표 D-1 |
## 오늘 거래 내역
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 보유시간 | 청산사유 | 손익 | AI부스트 |
|------|------|------|-------|-------|-----|---------|---------|-----|---------|
| 금호건설(002990) | 09:35:36 | 09:36:31 | 9,790 | 9,550 | 143주 | 55초 | SL | -37,193원 | 없음 |
| 삼성전자우(005935) | 09:36:25 | 10:05:06 | 216,000 | 213,500 | 6주 | 29분 | SL | -17,692원 | 없음 |
## 봇 동작 분석
### 진입 판단
아침 컨텍스트에서 `avoid_sectors = ['반도체', 'AI장비']` 설정. SOX -5.44% 반도체 2연속 급락·KOSPI 약세 환경.
두 종목 모두 AI 부스트 없이 진입 — 변동성 돌파 신호만으로 진입.
**주요 이슈:**
- 금호건설(002990): 진입 55초 만에 SL 실행 — 시가 직후 급락 구간에 진입한 것으로 판단. 이 시간대 슬리피지·스프레드 위험 높음.
- 삼성전자우(005935): `avoid_sectors = ['반도체']` 설정에도 불구하고 진입. 섹터 캐시 또는 이름 기반 힌트가 삼성전자우를 반도체로 분류하지 못했을 가능성. 삼성전자 실적 발표 D-1 환경에서의 진입은 리스크 관리상 문제.
### 연속 손절 및 점심 진입 차단
| 시간 | 이벤트 |
|------|--------|
| 09:36:31 | 금호건설 SL (1번째) |
| 10:05:06 | 삼성전자우 SL (2번째) |
| 11:20:09 | midday_context 로드 — 점심 진입 차단 (연속손절 2회·KOSPI-1.74%·인버스ETF 1위) |
| 14:50:00 | 강제 청산 실행 (포지션 없음) |
| 15:10:02 | 결산 완료 (-54,885원) |
점심 진입 차단 판단은 올바름. 이후 장 내내 워치리스트 전 종목 목표가 미달로 추가 진입 없음.
### AI 필터 품질
| 항목 | 평가 |
|------|------|
| 섹터 필터 | 부분 작동 — '반도체' 회피 설정에도 삼성전자우 진입 허용 (분류 미스) |
| AI 부스트 | 0개 (부스트 없이 진입 — 신호 품질 낮음) |
| 점심 진입 차단 | 정확 — 연속손절 2회 + 하락장 환경에서 올바른 차단 |
| 강제 청산 | 정상 (14:50) |
## 실행 품질
| 항목 | 평가 |
|------|------|
| 금호건설 보유시간 | 55초 — 오픈 직후 슬리피지 위험 구간 진입 의심 |
| 삼성전자우 보유시간 | 29분 — 정상 범위 |
| 가격 누락 / 0원 행 | 없음 |
| 열린 포지션 불일치 | 없음 |
| 결산 중복 방지 | 정상 작동 (`결산 이미 처리됨` 확인) |
## 과거 30일 성과 (20 거래일)
| 지표 | 값 | 기준 | 통과 |
|------|-----|------|------|
| 누적 운영일 | 20일 | 30일 | FAIL |
| 승률 | 49.2% | >48% | PASS |
| MDD | -2.9% | <-10% | PASS |
| 샤프 | -1.57 | >1.0 | FAIL |
| L3 발동 횟수 | 0회 | ≤2회 | PASS |
**샤프 악화 주의:** 전일 -0.68에서 오늘 -1.57로 크게 하락. 7월 1일(+69,663원), 6월 30일(+66,422원) 수익일이 있으나 손실 집중일(오늘 -54,885원, 6월 26일 -47,783원)이 샤프를 압박.
**라이브 준비:** 미통과 (20일 / Sharpe -1.57).
## 전략 변경 제안
두 가지 문제가 관찰됨. 증거 부족(20거래일)으로 제안은 관찰 기록 수준.
### 관찰 1: 삼성전자우 반도체 섹터 분류 미스
`avoid_sectors = ['반도체']` 설정에서 삼성전자우(005935)가 진입 허용됨.
삼성전자우는 반도체 기업임에도 섹터 캐시/이름 힌트에서 누락된 것으로 추정.
→ 005935 / 005930 (삼성전자 계열) 하드코딩 또는 종목명 힌트 강화 필요.
**증거: 1건 / 즉시 검토 권장 (버그성).**
### 관찰 2: KOSPI 일중 약세 환경 오픈 진입
KOSPI -1.74% 하락장 + SOX -5.44% 연락 환경에서 09:35~09:36 오픈 직후 진입.
금호건설은 55초 만에 SL — 오픈 변동성이 흡수되기 전 진입한 것으로 판단.
`ENTRY_START = "09:20"``"09:30"` 이후 검토, 또는 KOSPI 일중 낙폭 -1.5% 이상 시 첫 진입을 09:35 이후로 제한하는 방안.
**증거: 20거래일 / 부족. 별도 제안 파일 없이 내부 관찰로 기록.**
## 내일 주요 체크
1. **삼성전자우 섹터 분류 버그 확인**`app/strategy/volatility_breakout.py` 또는 `app/main.py` 섹터 캐시 로직에서 005930/005935 처리 확인.
2. **삼성전자 실적 발표** — 결과에 따라 반도체 섹터 방향 주시.
3. **샤프 회복** — 연속 수익 거래일 필요. 부스트 없는 진입 신중히 관리.
4. **오픈 직후(09:35 전) 진입 품질** — 55초 SL 재발 시 진입 시간 조정 검토.
+101
View File
@@ -0,0 +1,101 @@
# 2026-07-07 저녁 결산
## 요약
| 항목 | 값 |
|------|-----|
| 거래 건수 | 2건 |
| 승/패 | 2승 0패 |
| 순손익 | +31,115원 |
| 수수료 | 2,985원 |
| 전략 판단 | 건설 섹터 강세 포착 → TP1·TP2 조기 완전 청산 |
## 오늘 시장 환경
| 지표 | 값 |
|------|-----|
| KOSPI | -5.38% (삼성전자 역대 최대 실적 불구 급락) |
| SOX (전일) | +2.17% (미국 반도체 반등) |
| USD/KRW | -0.09% (소폭 달러 약세) |
| 인버스 ETF | 거래량 1위 (헤지 수요 집중) |
| 리스크 레벨 | 높음 |
| 섹터 | hot: 반도체·건설업 / avoid: 전기전자·금융·의약품·전기가스 |
| 포지션 배율 | 0.7x (리스크 높음 감안 축소) |
## 오늘 거래 내역
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 보유시간 | 청산사유 | 손익 | AI부스트 |
|------|------|------|-------|-------|-----|---------|---------|-----|---------|
| 금호건설(002990) | 09:26:20 | 09:27:58 | 13,900 | 14,220 | 70주 | 1분 38초 | TP1 | +20,313원 | 없음 |
| 금호건설(002990) | 09:26:20 | 09:28:12 | 13,900 | 14,290 | 30주 | 1분 52초 | TP2 | +10,801원 | 없음 |
두 행은 동일 진입의 분할 청산 (TP1 70주 → TP2 30주 순서).
## 봇 동작 분석
### 진입 판단
KOSPI -5.38% 폭락 환경에서 `hot_sectors = ['반도체', '건설업']`, `position_size_multiplier = 0.7` 적용.
AI 부스트 없는 순수 변동성 돌파 신호로 금호건설 진입.
금호건설은 `hot_sectors`의 건설업 종목 — 인버스 ETF 지배 장세에서도 건설 순환매가 유효했음을 확인.
### 청산 흐름
| 시간 | 이벤트 |
|------|--------|
| 09:26:20 | 금호건설 100주 진입 (13,900원) |
| 09:27:58 | TP1 청산 70주 (14,220원, +2.30%) |
| 09:28:12 | TP2 청산 30주 (14,290원, +2.81%) |
| 14:00:xx | 진입 차단 (14:00 이후 pause) |
| 14:50:00 | 강제 청산 실행 (포지션 없음) |
| 15:10:02 | 결산 완료 (+31,115원) |
진입 후 2분 이내 전량 청산 완료 — 폭락장 오전 가격 급등 구간 포착 성공.
### AI 필터 품질
| 항목 | 평가 |
|------|------|
| 섹터 필터 | 정상 — 건설업 hot 종목만 진입, 피하는 섹터 종목 없음 |
| AI 부스트 | 0개 — 순수 신호 의존 (부스트 없이도 수익) |
| 강제 청산 | 정상 (14:50, 포지션 없음) |
## 실행 품질
| 항목 | 평가 |
|------|------|
| 금호건설 보유시간 | 1분 38초 / 1분 52초 — 빠른 청산, 정상 |
| 가격 누락 / 0원 행 | 없음 |
| 열린 포지션 불일치 | 없음 |
| 결산 정상 처리 | 확인 |
## 과거 30일 성과 (21 거래일)
| 지표 | 값 | 기준 | 통과 |
|------|-----|------|------|
| 누적 운영일 | 21일 | 30일 | FAIL |
| 승률 | 50.7% | >48% | PASS |
| MDD | -2.9% | <-10% | PASS |
| 샤프 | -1.00 | >1.0 | FAIL |
| L3 발동 횟수 | 0회 | ≤2회 | PASS |
**샤프 개선 추이:** 전일 -1.57 → 오늘 -1.00. 오늘 수익이 손실 일수를 부분 상쇄.
손실 집중일(7/6 -54,885원, 6/26 -47,783원)이 샤프를 압박 중 — 연속 수익일 누적이 필요.
**라이브 준비:** 미통과 (21일 / Sharpe -1.00).
## 전략 변경 제안
없음. 21거래일로 통계 근거 부족. 오늘 결과는 양호하며 기존 전략 파라미터 유지 권장.
**지속 관찰 사항:**
- AI 부스트 0개 지속 — 부스트 없는 진입이 주류. 아침 컨텍스트 `boosted_tickers` 생성 품질 점검 필요.
- KOSPI 폭락장(-5.38%)에서도 수익 — 섹터 순환매 포착 유효성 확인. 단, 표본 수 부족.
## 내일 주요 체크
1. **삼성전자 쇼크 여진** — KOSPI 추가 변동성·외국인 매도 지속 여부 주시.
2. **인버스 ETF 지배 지속 여부** — 거래량 1위 지속 시 신중한 포지션 배율 유지.
3. **건설·방산 강세 지속** — 순환매 방향 확인 후 진입.
4. **AI 부스트 부재**`boosted_tickers` 생성 로직 및 아침 시장 분석 품질 점검.
+143
View File
@@ -0,0 +1,143 @@
# 2026-07-08 저녁 결산
## 요약
| 항목 | 값 |
|---|---|
| 거래 건수 | 0건 |
| 승/패 | - / - |
| 승률 | - |
| 순손익 | 0원 |
| 수수료 | 0원 |
| 청산 사유 분포 | 없음 |
**거래 없음 — AI 진입 차단 (trade_allowed=false) 및 전 종목 목표가 미달**
---
## 1. 시장 환경
### 오전 컨텍스트 (08:15)
| 지표 | 값 |
|---|---|
| 감정 점수 | 36 / 100 (약세) |
| 국내 점수 | 44 |
| 글로벌 점수 | 24 (리스크 높음) |
| SOX | -4.65% |
| WTI | +5.66% |
| NASDAQ | -1.16% |
| USD/KRW | -0.98% |
| 미국채 10Y | 4.53% |
| trade_allowed | **false** |
| 포지션 배율 | 0.5× |
- AI 차단 사유: SOX -4.65%·삼전 外人 2조 매도·WTI +5.66%
- Hot 섹터: 건설, 내수소비, 바이오
- Avoid 섹터: 반도체, 항공, 방산
### 장중 컨텍스트 (11:20)
| 지표 | 값 |
|---|---|
| KOSPI 변동 | -1.68% |
| 점심 진입 허용 | **false** |
| 인버스 ETF | 거래량 1위 |
| 오전 평가 | 예측 빗나감 |
- 장중 Hot 섹터: 2차전지 (오전 예상과 다름)
- 장중 Avoid 섹터: 전기전자, 철강금속, 의약품, **건설업**, 통신업
- 주목: 오전에 Hot이었던 건설 섹터가 장중에 Avoid로 전환
---
## 2. 진입 차단 분석
오늘 09:20~14:00 동안 봇이 정상 순환했으나 체결 건수 0건.
**차단 경로 (이중 차단):**
1. **AI 레벨**: trade_allowed=false → 모든 신호 진입 불가
2. **가격 레벨**: 전 종목 목표가 미달 (단일 예외 아래 참조)
**신호 진단 특이사항:**
- 삼성전기(009150): 09:58경 현재가 1,644,000 > 목표가 1,625,500 (목표가 돌파) → AI 차단으로 진입 불가
- 두산(000150): 09:32 목표가 넘어선 순간도 있었으나 대부분 미달 + AI 차단 혼재
- 삼성전자(005930): 종일 목표가(299,250) 대비 5,000~12,000 미달
**평가:** AI 차단 메커니즘이 시장 약세일에 정확히 작동함. SOX -4.65% 같은 강한 반도체 하락 환경에서 진입 차단은 손실 회피에 기여.
---
## 3. 섹터 예측 정확도
| 섹터 | 오전 예측 | 실제 결과 | 정확도 |
|---|---|---|---|
| 건설 | Hot | 장중 하락 (Avoid 전환) | 빗나감 |
| 반도체 | Avoid | 전 종목 하락 | 정확 |
| 항공 | Avoid | 해당 없음 | - |
| 2차전지 | 언급 없음 | 유일한 Hot (장중) | 놓침 |
- 건설 섹터: WTI +5.66%를 건설 호재로 연결했으나 실제 시장은 다르게 반응.
KOSPI 全업종 하락 속에서 건설도 예외 없이 하락. 오전 섹터 예측 개선 여지 있음.
- 2차전지: 장중 유일 Hot 섹터였으나 오전 컨텍스트에 포함되지 않음.
---
## 4. 30일 누적 성과
| 항목 | 값 | 기준 | 통과 |
|---|---|---|---|
| 운영 거래일 | 22일 | 30일 이상 | FAIL |
| 승률 | 50.7% | 48% 초과 | PASS |
| MDD | -2.9% | -10% 이내 | PASS |
| 샤프 지수 | -0.98 | 1.0 초과 | FAIL |
| L3 발동 | 0회 | 월 2회 이하 | PASS |
**라이브 준비: 미충족 (2개 항목 미달)**
### 샤프 지수 분석
샤프 -0.98은 일간 PnL 변동성 대비 평균 수익이 음수임을 의미.
최근 30일 내 고손실일 (6/25: -32k, 6/26: -48k, 7/6: -55k)이 변동성을 끌어올림.
7/1 +70k, 6/30 +66k 같은 고수익일이 있어도 음의 샤프가 나오는 이유는
손실 쪽 변동성 기여가 더 크기 때문. 수익/손실 비대칭성 문제 존재.
---
## 5. 실행 품질
- 미체결 주문: 없음 (진입 0건)
- 0원 가격 행: 없음
- 불일치 포지션: 없음
- 14:50 강제 청산: 정상 완료 (포지션 없음)
- 15:10 결산: 정상 완료
- 봇 단일 실행 보장: 정상 (lock 파일 기반)
---
## 6. 종합 평가
**오늘의 핵심 판단:**
글로벌 반도체 급락 (SOX -4.65%)과 삼전 외인 대규모 매도 환경에서 AI가 trade_allowed=false를 발동한 것은 적절한 판단이었음. KOSPI -1.68% + 全업종 하락이 실제 확인되며 차단 근거가 유효했음.
**개선 포인트:**
1. 건설 섹터 오전 예측 로직: WTI 상승을 건설 호재로 자동 연결하는 패턴 재검토 필요. 글로벌 리스크 High 환경에서는 WTI 상승 = 인플레이션 우려로 해석해야 할 수 있음.
2. 2차전지 섹터 모니터링: 오전 컨텍스트에 포함되지 않았으나 장중 유일 Hot. 글로벌 배터리/EV 흐름을 오전 데이터에 반영하는 방안 검토.
**샤프 개선을 위한 관찰:**
- 현재 샤프 -0.98은 손실 변동성이 지나치게 큼에 기인
- 고손실일 (6/26 -48k, 7/6 -55k)의 공통점: SL 연속 + 시장 급락일
- L3-B 포지션 축소가 작동하고 있으나, 그 이전에 발생하는 첫 번째 SL의 크기 자체가 큼
- 30거래일 도달 후 구체적인 SL 크기 분석 필요
---
## 7. 라이브 준비 체크리스트
- [ ] 누적 운영 30거래일 (현재 22일)
- [x] 승률 > 48% (50.7%)
- [x] MDD < -10% (-2.9%)
- [ ] 샤프 > 1.0 (-0.98)
- [x] L3 월 2회 이하 (0회)
**결론:** 라이브 전환 불가. 30거래일 요건 충족까지 약 8거래일 남음. 샤프 개선이 더 큰 과제.
+12
View File
@@ -1,5 +1,17 @@
# Implementation Log # Implementation Log
## 2026-07-02
- Hardened Windows background operation so users do not need to keep a visible
console window open:
- `scripts/start_bot.py` now starts `app/main.py` with `pythonw.exe` when it is
available.
- `scripts/_watchdog.py` uses the same `pythonw.exe` restart path.
- `scripts/setup_scheduler.ps1` registers scheduled PowerShell tasks with
`-WindowStyle Hidden` and marks task settings as hidden.
- Updated `README.md` with the background-operation rule and the preferred
manual start command.
## 2026-06-10 ## 2026-06-10
- Enabled wake-from-sleep behavior for Scheduler tasks: - Enabled wake-from-sleep behavior for Scheduler tasks:
+9 -1
View File
@@ -17,6 +17,14 @@ from app.main import load_env
load_env() load_env()
def _bot_python() -> str:
if os.name == "nt":
pythonw = Path(sys.executable).with_name("pythonw.exe")
if pythonw.exists():
return str(pythonw)
return sys.executable
def _is_process_alive(pid: int) -> bool: def _is_process_alive(pid: int) -> bool:
result = subprocess.run( result = subprocess.run(
["tasklist", "/FI", f"PID eq {pid}", "/NH"], ["tasklist", "/FI", f"PID eq {pid}", "/NH"],
@@ -69,7 +77,7 @@ def _restart_bot() -> int:
log_path = PROJECT / "logs" / "bot_stderr.log" log_path = PROJECT / "logs" / "bot_stderr.log"
with open(log_path, "a", encoding="utf-8") as log: with open(log_path, "a", encoding="utf-8") as log:
proc = subprocess.Popen( proc = subprocess.Popen(
[sys.executable, "-u", "app/main.py"], [_bot_python(), "-u", "app/main.py"],
cwd=PROJECT, cwd=PROJECT,
creationflags=creationflags, creationflags=creationflags,
stdout=log, stdout=log,
+4 -2
View File
@@ -25,7 +25,7 @@ function Register-StockTask {
$Trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek $Weekdays -At $Time $Trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek $Weekdays -At $Time
$Action = New-ScheduledTaskAction ` $Action = New-ScheduledTaskAction `
-Execute "powershell.exe" ` -Execute "powershell.exe" `
-Argument "-NonInteractive -ExecutionPolicy Bypass -File `"$Project\scripts\$Script`"" ` -Argument "-NoProfile -WindowStyle Hidden -NonInteractive -ExecutionPolicy Bypass -File `"$Project\scripts\$Script`"" `
-WorkingDirectory $Project -WorkingDirectory $Project
$Settings = New-ScheduledTaskSettingsSet ` $Settings = New-ScheduledTaskSettingsSet `
-ExecutionTimeLimit (New-TimeSpan -Minutes $LimitMinutes) ` -ExecutionTimeLimit (New-TimeSpan -Minutes $LimitMinutes) `
@@ -34,6 +34,7 @@ function Register-StockTask {
-DontStopIfGoingOnBatteries ` -DontStopIfGoingOnBatteries `
-RunOnlyIfNetworkAvailable:$false -RunOnlyIfNetworkAvailable:$false
$Settings.DisallowStartIfOnBatteries = $false $Settings.DisallowStartIfOnBatteries = $false
$Settings.Hidden = $true
Register-ScheduledTask ` Register-ScheduledTask `
-TaskName $Name ` -TaskName $Name `
@@ -49,7 +50,7 @@ function Register-StockTask {
function Register-WatchdogTask { function Register-WatchdogTask {
$ScriptPath = Join-Path $Project "scripts\run_watchdog.ps1" $ScriptPath = Join-Path $Project "scripts\run_watchdog.ps1"
$Command = 'schtasks /Create /TN "\StockBot\StockBot_Watchdog" /TR "\"powershell.exe\" -NonInteractive -ExecutionPolicy Bypass -File \"' + $ScriptPath + '\"" /SC WEEKLY /D MON,TUE,WED,THU,FRI /ST 09:00 /RI 5 /DU 06:05 /F' $Command = 'schtasks /Create /TN "\StockBot\StockBot_Watchdog" /TR "\"powershell.exe\" -NoProfile -WindowStyle Hidden -NonInteractive -ExecutionPolicy Bypass -File \"' + $ScriptPath + '\"" /SC WEEKLY /D MON,TUE,WED,THU,FRI /ST 09:00 /RI 5 /DU 06:05 /F'
cmd.exe /c $Command | Out-Null cmd.exe /c $Command | Out-Null
if ($LASTEXITCODE -ne 0) { if ($LASTEXITCODE -ne 0) {
throw "StockBot_Watchdog registration failed" throw "StockBot_Watchdog registration failed"
@@ -60,6 +61,7 @@ function Register-WatchdogTask {
$Task.Settings.WakeToRun = $true $Task.Settings.WakeToRun = $true
$Task.Settings.DisallowStartIfOnBatteries = $false $Task.Settings.DisallowStartIfOnBatteries = $false
$Task.Settings.StopIfGoingOnBatteries = $false $Task.Settings.StopIfGoingOnBatteries = $false
$Task.Settings.Hidden = $true
Set-ScheduledTask -TaskName "StockBot_Watchdog" -TaskPath $TaskPath -Settings $Task.Settings | Out-Null Set-ScheduledTask -TaskName "StockBot_Watchdog" -TaskPath $TaskPath -Settings $Task.Settings | Out-Null
Write-Host "[OK] StockBot_Watchdog registered weekdays at 09:00-15:05 every 5 minutes" -ForegroundColor Green Write-Host "[OK] StockBot_Watchdog registered weekdays at 09:00-15:05 every 5 minutes" -ForegroundColor Green
+9 -1
View File
@@ -11,6 +11,14 @@ PID_FILE = PROJECT / "logs" / "bot.pid"
LOG_FILE = PROJECT / "logs" / "bot_stderr.log" LOG_FILE = PROJECT / "logs" / "bot_stderr.log"
def _bot_python() -> str:
if os.name == "nt":
pythonw = Path(sys.executable).with_name("pythonw.exe")
if pythonw.exists():
return str(pythonw)
return sys.executable
def _taskkill(pid: int) -> None: def _taskkill(pid: int) -> None:
subprocess.run(["taskkill", "/PID", str(pid), "/F"], capture_output=True, text=True) subprocess.run(["taskkill", "/PID", str(pid), "/F"], capture_output=True, text=True)
@@ -69,7 +77,7 @@ def _start_bot() -> int:
with open(LOG_FILE, "a", encoding="utf-8") as log: with open(LOG_FILE, "a", encoding="utf-8") as log:
proc = subprocess.Popen( proc = subprocess.Popen(
[sys.executable, "-u", "app/main.py"], [_bot_python(), "-u", "app/main.py"],
cwd=PROJECT, cwd=PROJECT,
creationflags=creationflags, creationflags=creationflags,
stdout=log, stdout=log,