Compare commits
57 Commits
9f439db191
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 1777da1c41 | |||
| 1f2676ba02 | |||
| eaad9dd2df | |||
| 7d70a5367d | |||
| 8342e3dbb4 | |||
| 04ac24b578 | |||
| 2dc29be75e | |||
| 807f22158d | |||
| cf258cec87 | |||
| 73f9d456fb | |||
| c62820ab48 | |||
| ea902f0ce1 | |||
| 80457fe6c4 | |||
| c43163629d | |||
| 054754ad34 | |||
| 1395b90a1a | |||
| f4e99fe106 | |||
| 7b2dfa6c25 | |||
| 4e56a06210 | |||
| 1f704a6fa4 | |||
| 72e9e1124c | |||
| 17aa5b7ea0 | |||
| 9e079ac1d4 | |||
| c86ef98e30 | |||
| b3145cb878 | |||
| cde622606e | |||
| c17c3cdd1c | |||
| 7689ac0ea7 | |||
| c5f87ff77f | |||
| 811c2a666d | |||
| 82af6fbc70 | |||
| 0ee369bf06 | |||
| 9bd4e4d220 | |||
| 88d45b244d | |||
| 08cc64c612 | |||
| 17767df52b | |||
| 9d53151f4a | |||
| 079aa1d87f | |||
| 3599d36d78 | |||
| 61f6fe910d | |||
| 73be6f74df | |||
| 4d12cf503e | |||
| 6da9d3d15c | |||
| ec1fed3cd8 | |||
| 011afb1b8c | |||
| 7b205cad58 | |||
| 200c5b4270 | |||
| e60ecb8bde | |||
| fc3ff87e17 | |||
| c4ef0e0f43 | |||
| 901243348e | |||
| eac4ece01e | |||
| f16576bfb7 | |||
| 60109370f4 | |||
| 5ff6d32ea1 | |||
| 16b31b3154 | |||
| 24c526b9e5 |
@@ -33,3 +33,11 @@ Analyze today's trading result and write `reports/daily/YYYY-MM-DD.md`.
|
||||
|
||||
5. Discord:
|
||||
Send a concise result summary. If a proposal file was created, include that manual approval is required.
|
||||
|
||||
6. Git commit & push:
|
||||
Stage and commit the daily report (and proposal file if created), then push to origin master.
|
||||
```bash
|
||||
git add reports/daily/YYYY-MM-DD.md reports/proposals/YYYY-MM-DD_strategy_proposal.md # only if files exist
|
||||
git commit -m "[YYYY-MM-DD] 저녁 결산 — <trades>건 / <wins>승 <losses>패 / <pnl>원 (<brief exit summary>)"
|
||||
git push origin master
|
||||
```
|
||||
|
||||
@@ -67,5 +67,13 @@ print('Discord 전송 완료')
|
||||
"
|
||||
```
|
||||
|
||||
### 5. 완료
|
||||
### 5. Git commit & push
|
||||
`data/midday_context.json`을 커밋하고 push한다:
|
||||
```bash
|
||||
git add data/midday_context.json
|
||||
git commit -m "[YYYY-MM-DD] 장중 분석 — <한 줄 요약>"
|
||||
git push origin master
|
||||
```
|
||||
|
||||
### 6. 완료
|
||||
분석 요약을 한 줄로 출력하고 종료한다.
|
||||
|
||||
+63
-15
@@ -10,23 +10,48 @@
|
||||
python app/ai/morning.py --print
|
||||
```
|
||||
위 명령을 실행해 다음 데이터를 수집한다:
|
||||
- **글로벌 지표 (global_raw)**: 나스닥·S&P500·다우·SOX·달러/원·WTI·미국10년물
|
||||
- **RSS 뉴스**: 한경증권·한경경제·파이낸셜뉴스·매경증권 4개 언론사 (~80건)
|
||||
- **KIS 수급**: 거래량 상위 30종목, 외국인/기관 순매수 상위 10종목, 업종 동향
|
||||
- **종목별 뉴스**: 네이버 검색 API로 거래량 상위 20종목 각 5건
|
||||
|
||||
### 2. 분석
|
||||
수집된 데이터를 바탕으로 다음 항목을 판단한다:
|
||||
### 2. 글로벌 분석 (global_raw → global_context)
|
||||
수집된 `global_raw`를 바탕으로 글로벌 점수와 리스크를 산출한다.
|
||||
|
||||
**global_score 산출 기준 (0~100, 50=중립):**
|
||||
- 나스닥·SOX 등락이 가장 큰 가중치 (한국 반도체·기술주 직접 영향)
|
||||
- S&P500·다우 보조
|
||||
- USD/KRW 상승(달러 강세)은 외국인 매도 압력 → 감점
|
||||
- WTI 급등은 항공·운송 부담 → 소폭 감점
|
||||
- 미국 10년물 금리 급등은 성장주 할인 → 감점
|
||||
|
||||
**global_risk 판단:**
|
||||
- global_score >= 60 → 낮음
|
||||
- global_score 40~59 → 보통
|
||||
- global_score < 40 → 높음
|
||||
|
||||
**섹터 힌트 매핑 (hot/avoid 섹터에 반영):**
|
||||
- SOX < -2% → 반도체·AI 관련 보수적, hot_sectors에서 제외 또는 주의 표시
|
||||
- SOX > +1% → 반도체 hot_sectors 강화
|
||||
- WTI > +2% → 항공 avoid, 정유/해운 관심
|
||||
- WTI < -2% → 정유 보수적, 항공 우호
|
||||
- USD/KRW > +0.5% → 전체 포지션 배율 축소 압력
|
||||
- 미국장 전반 급락(나스닥 < -2%) → position_size_multiplier 하향
|
||||
|
||||
### 3. 국내 분석
|
||||
수집된 뉴스·수급 데이터를 바탕으로 다음 항목을 판단한다:
|
||||
- **시장 분위기**: 강세 / 중립 / 약세
|
||||
- **감성 점수**: 0~100 (50=중립, 70이상=강세, 30이하=약세)
|
||||
- **domestic_score**: 0~100 (50=중립, 70이상=강세, 30이하=약세)
|
||||
- **리스크 레벨**: 낮음 / 보통 / 높음
|
||||
- **주목 섹터**: 수급·뉴스 모두 긍정적인 섹터
|
||||
- **회피 섹터**: 악재·수급 부진 섹터
|
||||
- **주목 섹터**: 수급·뉴스 모두 긍정적인 섹터 (글로벌 힌트 반영)
|
||||
- **회피 섹터**: 악재·수급 부진 섹터 (글로벌 힌트 반영)
|
||||
- **boosted_tickers**: 거래량 상위 + 외국인 순매수 겹치는 종목코드
|
||||
- **blacklist_tickers**: 종목별 뉴스에서 악재(횡령·소송·거래정지 등) 감지된 종목코드
|
||||
- **position_size_multiplier**: 0.5(약세) ~ 1.0(중립) ~ 1.5(강세)
|
||||
- **sentiment_score**: domestic_score와 global_score를 6:4로 합산한 최종 점수
|
||||
- **position_size_multiplier**: 0.5(약세) ~ 1.0(중립) ~ 1.5(강세), 글로벌 리스크 반영
|
||||
- **trade_allowed**: sentiment_score < 40이면 false
|
||||
|
||||
### 3. daily_context.json 저장
|
||||
### 4. daily_context.json 저장
|
||||
분석 결과를 `data/daily_context.json`에 저장한다. 형식:
|
||||
```json
|
||||
{
|
||||
@@ -34,23 +59,46 @@ python app/ai/morning.py --print
|
||||
"generated_at": "HH:MM:SS",
|
||||
"trade_allowed": true,
|
||||
"market_sentiment": "중립",
|
||||
"sentiment_score": 62,
|
||||
"risk_level": "보통",
|
||||
"hot_sectors": ["반도체", "2차전지"],
|
||||
"avoid_sectors": ["금융", "건설"],
|
||||
"boosted_tickers": ["005930", "000660"],
|
||||
"sentiment_score": 55,
|
||||
"domestic_score": 62,
|
||||
"global_context": {
|
||||
"nasdaq_change": -1.15,
|
||||
"sp500_change": -0.57,
|
||||
"dow_change": 0.64,
|
||||
"sox_change": -5.71,
|
||||
"usdkrw_change": 0.0,
|
||||
"wti_change": -1.21,
|
||||
"us10y": 4.43,
|
||||
"global_score": 32,
|
||||
"global_risk": "높음"
|
||||
},
|
||||
"risk_level": "높음",
|
||||
"hot_sectors": ["방산", "2차전지"],
|
||||
"avoid_sectors": ["반도체", "항공"],
|
||||
"boosted_tickers": [],
|
||||
"blacklist_tickers": [],
|
||||
"position_size_multiplier": 1.0,
|
||||
"position_size_multiplier": 0.7,
|
||||
"reason": "50자 이내 시장 요약"
|
||||
}
|
||||
```
|
||||
|
||||
### 4. Discord 알림 전송
|
||||
**sentiment_score 계산 예시:**
|
||||
- domestic_score=62, global_score=32 → sentiment_score = 62×0.6 + 32×0.4 = 50
|
||||
|
||||
### 5. Discord 알림 전송
|
||||
아래 명령을 실행해 분석 결과를 Discord로 전송한다:
|
||||
```bash
|
||||
python app/ai/morning.py --send-discord
|
||||
```
|
||||
|
||||
### 5. 완료
|
||||
### 6. Git commit & push
|
||||
`data/daily_context.json`을 커밋하고 push한다:
|
||||
```bash
|
||||
git add data/daily_context.json
|
||||
git commit -m "[YYYY-MM-DD] 장전 분석 — <한 줄 시장 요약>"
|
||||
git push origin master
|
||||
```
|
||||
|
||||
### 7. 완료
|
||||
분석 요약을 한 줄로 출력하고 종료한다.
|
||||
이 명령 안에서는 `/start-bot` 또는 `python scripts/start_bot.py`를 실행하지 않는다.
|
||||
|
||||
@@ -150,14 +150,17 @@ Highest-leverage fixes:
|
||||
After /morning exits, run_morning.ps1 calls python scripts/start_bot.py.
|
||||
|
||||
08:30 Bot loads daily_context.json and builds the watch universe.
|
||||
08:50 Bot calculates volatility breakout targets.
|
||||
08:50 Bot calculates volatility breakout targets. If restarted after 08:50,
|
||||
the bot recalculates targets immediately; open=0 is ignored.
|
||||
09:00 Morning trading session starts.
|
||||
09:00-15:05 StockBot_Watchdog checks bot liveness every 5 minutes.
|
||||
11:00 New entries pause if midday_context.json has not loaded.
|
||||
11:20 StockBot_Midday -> scripts/run_midday.ps1 -> /midday
|
||||
Build data/midday_context.json; bot detects it and starts lunch controls.
|
||||
14:00 New entries stop; exits continue.
|
||||
14:50 Force exit all positions. This time is immutable.
|
||||
15:10 Daily settlement and Discord summary.
|
||||
Watchdog must not restart the bot at or after 15:10.
|
||||
15:30 StockBot_Evening -> scripts/run_evening.ps1 -> /evening
|
||||
Write daily report and proposal report when needed.
|
||||
16:00 StockBot_Training -> scripts/run_training_pipeline.ps1
|
||||
|
||||
@@ -150,14 +150,17 @@ Highest-leverage fixes:
|
||||
After /morning exits, run_morning.ps1 calls python scripts/start_bot.py.
|
||||
|
||||
08:30 Bot loads daily_context.json and builds the watch universe.
|
||||
08:50 Bot calculates volatility breakout targets.
|
||||
08:50 Bot calculates volatility breakout targets. If restarted after 08:50,
|
||||
the bot recalculates targets immediately; open=0 is ignored.
|
||||
09:00 Morning trading session starts.
|
||||
09:00-15:05 StockBot_Watchdog checks bot liveness every 5 minutes.
|
||||
11:00 New entries pause if midday_context.json has not loaded.
|
||||
11:20 StockBot_Midday -> scripts/run_midday.ps1 -> /midday
|
||||
Build data/midday_context.json; bot detects it and starts lunch controls.
|
||||
14:00 New entries stop; exits continue.
|
||||
14:50 Force exit all positions. This time is immutable.
|
||||
15:10 Daily settlement and Discord summary.
|
||||
Watchdog must not restart the bot at or after 15:10.
|
||||
15:30 StockBot_Evening -> scripts/run_evening.ps1 -> /evening
|
||||
Write daily report and proposal report when needed.
|
||||
16:00 StockBot_Training -> scripts/run_training_pipeline.ps1
|
||||
|
||||
@@ -24,8 +24,10 @@ AI에게 맡기지는 않습니다. AI는 장 전/장중/장후 시장을 분석
|
||||
| 시간 | 흐름 | 내용 |
|
||||
|---|---|---|
|
||||
| 08:15 | 장 전 분석 | 뉴스, 수급, 업종 분위기를 분석해 `daily_context.json` 생성 |
|
||||
| 08:30 | 봇 시작/준비 | 유니버스 선정, 목표가 계산, Discord 알림 |
|
||||
| 08:30 | 봇 시작/준비 | AI 컨텍스트 로드, 유니버스 선정 |
|
||||
| 08:50 | 목표가 계산 | 전일 고저와 당일 시가 기반, `open=0`이면 계산 제외 |
|
||||
| 09:00 | 오전 매매 | 변동성 돌파 조건과 AI 컨텍스트 필터를 함께 확인 |
|
||||
| 09:00-15:05 | Watchdog | 5분마다 봇 생존 감시, 15:10 결산 직후 재시작 금지 |
|
||||
| 11:20 | 장중 분석 | 오전 결과와 현재 시장을 비교해 `midday_context.json` 생성 |
|
||||
| 14:00 | 신규 진입 종료 | 새 진입은 막고 보유 포지션 청산 감시만 계속 |
|
||||
| 14:50 | 강제 청산 | 모든 포지션 정리 |
|
||||
@@ -38,9 +40,13 @@ AI에게 맡기지는 않습니다. AI는 장 전/장중/장후 시장을 분석
|
||||
- 전략: 변동성 돌파(`K=0.5`)
|
||||
- 진입 시작: `09:20`
|
||||
- 강제 청산: `14:50`
|
||||
- 일일 결산: `15:10`
|
||||
- Watchdog: `09:00-15:05`, 5분 간격
|
||||
- DB: SQLite (`data/stockbot.db`)
|
||||
- 알림: Discord Webhook
|
||||
- AI/ML: 시장 분석과 관찰용 점수 기록까지만 사용
|
||||
- 스케줄러 작업은 숨김 실행으로 등록하고, 장중 봇 본체는 Windows에서
|
||||
`pythonw.exe`를 우선 사용해 콘솔 창 없이 백그라운드로 실행합니다.
|
||||
|
||||
운영 모드는 아래처럼 나뉩니다.
|
||||
|
||||
@@ -75,6 +81,10 @@ powershell -ExecutionPolicy Bypass -File scripts\setup_scheduler.ps1
|
||||
powershell -ExecutionPolicy Bypass -File scripts\run_training_pipeline.ps1
|
||||
```
|
||||
|
||||
운영 중 봇을 직접 켜야 할 때는 `python app/main.py`보다
|
||||
`python scripts\start_bot.py`를 사용합니다. 이 경로는 기존 봇을 정리한 뒤
|
||||
콘솔 없는 백그라운드 프로세스로 새 봇을 띄우고 Discord 시작 알림을 보냅니다.
|
||||
|
||||
## 에이전트 운영 문서
|
||||
|
||||
- `AGENTS.md`: Codex가 읽는 운영 지침
|
||||
|
||||
+50
-3
@@ -84,6 +84,49 @@ RSS_FEEDS = [
|
||||
]
|
||||
|
||||
|
||||
# ── 글로벌 지표 수집 ──────────────────────────────────────────────────────────
|
||||
|
||||
def fetch_global_data() -> dict:
|
||||
"""Yahoo Finance로 미국 주요 지수·환율·원자재 전일 종가 및 등락률 수집"""
|
||||
try:
|
||||
import yfinance as yf
|
||||
except ImportError:
|
||||
logger.warning("yfinance 미설치 — 글로벌 데이터 스킵")
|
||||
return {}
|
||||
|
||||
SYMBOLS = {
|
||||
"nasdaq": "^IXIC",
|
||||
"sp500": "^GSPC",
|
||||
"dow": "^DJI",
|
||||
"sox": "^SOX",
|
||||
"usdkrw": "KRW=X",
|
||||
"wti": "CL=F",
|
||||
"us10y": "^TNX",
|
||||
}
|
||||
|
||||
result: dict = {}
|
||||
for name, sym in SYMBOLS.items():
|
||||
try:
|
||||
hist = yf.Ticker(sym).history(period="2d")
|
||||
if len(hist) >= 2:
|
||||
prev = float(hist["Close"].iloc[-2])
|
||||
last = float(hist["Close"].iloc[-1])
|
||||
result[name] = {
|
||||
"price": round(last, 2),
|
||||
"change_pct": round((last - prev) / prev * 100, 2),
|
||||
}
|
||||
elif len(hist) == 1:
|
||||
result[name] = {
|
||||
"price": round(float(hist["Close"].iloc[-1]), 2),
|
||||
"change_pct": None,
|
||||
}
|
||||
except Exception as e:
|
||||
logger.warning(f"글로벌 데이터 실패 [{name}/{sym}]: {e}")
|
||||
|
||||
logger.info(f"글로벌 데이터 수집: {list(result.keys())}")
|
||||
return result
|
||||
|
||||
|
||||
# ── RSS 뉴스 수집 ─────────────────────────────────────────────────────────────
|
||||
|
||||
async def fetch_rss_news() -> list[str]:
|
||||
@@ -223,10 +266,13 @@ async def main(print_mode: bool = False):
|
||||
for d in ["data/news", "data/market"]:
|
||||
os.makedirs(d, exist_ok=True)
|
||||
|
||||
# 1. RSS 뉴스 수집 (4개 언론사)
|
||||
# 1. 글로벌 지표 수집 (Yahoo Finance — 동기, 블로킹 짧음)
|
||||
global_data = fetch_global_data()
|
||||
|
||||
# 2. RSS 뉴스 수집 (4개 언론사)
|
||||
news = await fetch_rss_news()
|
||||
|
||||
# 2. KIS 시장 데이터 — 데이터 수집 전용이므로 실거래 API 사용 (주문 없음)
|
||||
# 3. KIS 시장 데이터 — 데이터 수집 전용이므로 실거래 API 사용 (주문 없음)
|
||||
_orig_mock = os.environ.get("KIS_MOCK", "true")
|
||||
os.environ["KIS_MOCK"] = "false"
|
||||
kis = KISClient()
|
||||
@@ -238,7 +284,7 @@ async def main(print_mode: bool = False):
|
||||
except Exception as e:
|
||||
logger.warning(f"KIS 수집 실패: {e}")
|
||||
|
||||
# 3. 네이버 종목별 뉴스 (거래량 상위 20종목)
|
||||
# 4. 네이버 종목별 뉴스 (거래량 상위 20종목)
|
||||
stock_news = await fetch_stock_news_naver(market["volume_rank"])
|
||||
|
||||
# 파일 저장
|
||||
@@ -257,6 +303,7 @@ async def main(print_mode: bool = False):
|
||||
print(json.dumps(
|
||||
{
|
||||
"date": TODAY,
|
||||
"global_raw": global_data, # 미국 지수·환율·원자재
|
||||
"news_headlines": news, # RSS 전체 (~80건)
|
||||
"volume_rank": market["volume_rank"][:20],
|
||||
"foreign_buy_top10": market["foreign_buy"],
|
||||
|
||||
@@ -55,9 +55,17 @@ class KISClient:
|
||||
)
|
||||
self._load_token_from_file()
|
||||
|
||||
# rate limit: 모의투자 1건/초보다 보수적, 실거래 5건/초 이하
|
||||
self._rate_limit = 1 if self.is_mock else 5
|
||||
self._request_spacing = 1.2 if self.is_mock else 0.22
|
||||
# rate limit: KIS occasionally rejects even nominally safe bursts.
|
||||
# Keep defaults conservative and allow local override from .env.
|
||||
self._rate_limit = int(os.getenv(
|
||||
"KIS_MOCK_RATE_LIMIT" if self.is_mock else "KIS_REAL_RATE_LIMIT",
|
||||
"1" if self.is_mock else "3",
|
||||
))
|
||||
self._request_spacing = float(os.getenv(
|
||||
"KIS_MOCK_REQUEST_SPACING" if self.is_mock else "KIS_REAL_REQUEST_SPACING",
|
||||
"1.7" if self.is_mock else "0.35",
|
||||
))
|
||||
self._cooldown_until = 0.0
|
||||
self._semaphore = asyncio.Semaphore(1)
|
||||
self._req_times : list = []
|
||||
|
||||
@@ -175,6 +183,9 @@ class KISClient:
|
||||
|
||||
async with self._semaphore:
|
||||
now = time.monotonic()
|
||||
if now < self._cooldown_until:
|
||||
await asyncio.sleep(self._cooldown_until - now)
|
||||
now = time.monotonic()
|
||||
if self._req_times:
|
||||
wait = self._request_spacing - (now - self._req_times[-1])
|
||||
if wait > 0:
|
||||
@@ -204,6 +215,8 @@ class KISClient:
|
||||
rt_cd = data.get("rt_cd", "")
|
||||
if rt_cd != "0":
|
||||
msg = data.get("msg1", "알 수 없는 오류")
|
||||
if "초당" in msg or "거래건수" in msg or "rate" in msg.lower():
|
||||
self._cooldown_until = time.monotonic() + max(2.5, self._request_spacing * 2)
|
||||
logger.error(f"KIS API 오류 [{tr_id}]: {rt_cd} - {msg}")
|
||||
raise RuntimeError(f"KIS API 오류: {msg}")
|
||||
|
||||
|
||||
+20
-3
@@ -844,15 +844,28 @@ class StockBot:
|
||||
async def calc_targets(self):
|
||||
"""당일 시가 기반 목표가 계산"""
|
||||
logger.info("목표가 계산 시작")
|
||||
self.strategy.targets.clear()
|
||||
self.strategy.today_open.clear()
|
||||
now_str = datetime.now().strftime("%H:%M")
|
||||
valid_count = 0
|
||||
for ticker in self.universe:
|
||||
try:
|
||||
price_info = await self._get_price_with_retry(ticker, "TARGET")
|
||||
self.strategy.set_today_open(ticker, price_info["open"])
|
||||
target = self.strategy.get_target(ticker)
|
||||
open_price = price_info.get("open") or 0
|
||||
name = self.ticker_names.get(ticker, ticker)
|
||||
if open_price <= 0:
|
||||
current = price_info.get("current") or 0
|
||||
if now_str >= "09:00" and current > 0:
|
||||
open_price = current
|
||||
logger.warning(f"시가 0 감지({name}/{ticker}) → 현재가 {current:,}를 임시 시가로 사용")
|
||||
else:
|
||||
logger.info(f"목표가 제외({name}/{ticker}): 시가 미확정(open=0)")
|
||||
await asyncio.sleep(1.1)
|
||||
continue
|
||||
self.strategy.set_today_open(ticker, open_price)
|
||||
target = self.strategy.get_target(ticker)
|
||||
if target > 0:
|
||||
logger.info(f"목표가: {name}({ticker}) {target:,.0f}원 [시가 {price_info['open']:,}]")
|
||||
logger.info(f"목표가: {name}({ticker}) {target:,.0f}원 [시가 {open_price:,}]")
|
||||
valid_count += 1
|
||||
await asyncio.sleep(1.1)
|
||||
except Exception as e:
|
||||
@@ -1329,6 +1342,9 @@ async def run():
|
||||
ctx = bot.strategy.load_ai_context()
|
||||
bot.risk.set_risk_level(ctx.get("risk_level", "보통"))
|
||||
await bot.update_universe()
|
||||
if now >= "08:50":
|
||||
logger.info("08:50 이후 장 전 재시작 감지 → 목표가 즉시 계산")
|
||||
await bot.calc_targets()
|
||||
|
||||
while True:
|
||||
now = datetime.now().strftime("%H:%M")
|
||||
@@ -1354,6 +1370,7 @@ async def run():
|
||||
|
||||
# 09:00 매매 루프 시작
|
||||
elif now == "09:00":
|
||||
await bot.calc_targets()
|
||||
await bot.trading_loop()
|
||||
|
||||
# 15:10 결산
|
||||
|
||||
@@ -11,3 +11,4 @@ pykrx==1.0.48
|
||||
finance-datareader==0.9.94
|
||||
scikit-learn==1.5.1
|
||||
joblib==1.4.2
|
||||
yfinance>=0.2.40
|
||||
|
||||
@@ -47,6 +47,7 @@ class VolatilityBreakout:
|
||||
self._entry_times: dict = {} # ticker → 마지막 진입 datetime (쿨다운 추적)
|
||||
self._exit_times: dict = {} # ticker -> 마지막 최종 청산 datetime (쿨다운 추적)
|
||||
self._tp_closed_tickers: set[str] = set() # TP로 전량 청산된 당일 재진입 차단
|
||||
self._rebreak_required_tickers: set[str] = set() # TIME/FORCE 후 목표가 재돌파 대기
|
||||
|
||||
# ── AI 컨텍스트 로드 ──
|
||||
|
||||
@@ -103,6 +104,9 @@ class VolatilityBreakout:
|
||||
if not prev:
|
||||
logger.info(f"목표가 제외({ticker}): 전일 데이터 없음")
|
||||
return
|
||||
if open_price <= 0:
|
||||
logger.info(f"목표가 제외({ticker}): 당일 시가 미확정({open_price})")
|
||||
return
|
||||
if prev["amount"] < MIN_TRADE_AMOUNT:
|
||||
logger.info(
|
||||
f"목표가 제외({ticker}): 전일 거래대금 {prev['amount']/1e8:.0f}억"
|
||||
@@ -126,8 +130,10 @@ class VolatilityBreakout:
|
||||
exit_time = exit_time or datetime.now()
|
||||
if reason in ("TIME", "FORCE"):
|
||||
self._exit_times[ticker] = exit_time
|
||||
self._rebreak_required_tickers.add(ticker)
|
||||
elif reason in ("TP1", "TP2"):
|
||||
self._tp_closed_tickers.add(ticker)
|
||||
self._rebreak_required_tickers.discard(ticker)
|
||||
|
||||
# ── 진입 신호 판단 ──
|
||||
|
||||
@@ -151,6 +157,16 @@ class VolatilityBreakout:
|
||||
result["reason"] = "TP 당일 재진입 차단"
|
||||
return result
|
||||
|
||||
# 목표가 확인
|
||||
target = self.targets.get(ticker, 0)
|
||||
if target <= 0:
|
||||
result["reason"] = "목표가 없음"
|
||||
return result
|
||||
|
||||
# TIME/FORCE 이후 쿨다운 중이라도 목표가 아래로 내려온 사실은 기록한다.
|
||||
if ticker in self._rebreak_required_tickers and current_price < target:
|
||||
self._rebreak_required_tickers.discard(ticker)
|
||||
|
||||
# TIME/FORCE 청산 후 쿨다운은 진입 시각이 아니라 청산 시각 기준이다.
|
||||
last_exit = self._exit_times.get(ticker)
|
||||
if last_exit is not None:
|
||||
@@ -159,10 +175,10 @@ class VolatilityBreakout:
|
||||
result["reason"] = f"재진입 쿨다운 ({elapsed:.0f}분 / {TICKER_REENTRY_COOLDOWN_MIN}분)"
|
||||
return result
|
||||
|
||||
# 목표가 확인
|
||||
target = self.targets.get(ticker, 0)
|
||||
if target <= 0:
|
||||
result["reason"] = "목표가 없음"
|
||||
# TIME/FORCE 청산 뒤에는 남아 있는 당일 돌파 신호를 그대로 재사용하지 않는다.
|
||||
# 목표가 아래로 식은 뒤 다시 돌파해야 새로운 진입 신호로 인정한다.
|
||||
if ticker in self._rebreak_required_tickers:
|
||||
result["reason"] = f"재돌파 대기 ({current_price:,} >= {target:,.0f})"
|
||||
return result
|
||||
|
||||
# 기술적 조건: 현재가 >= 목표가
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"date": "2026-07-08",
|
||||
"generated_at": "08:15:11",
|
||||
"trade_allowed": false,
|
||||
"market_sentiment": "약세",
|
||||
"sentiment_score": 36,
|
||||
"domestic_score": 44,
|
||||
"global_context": {
|
||||
"nasdaq_change": -1.16,
|
||||
"sp500_change": -0.45,
|
||||
"dow_change": -0.25,
|
||||
"sox_change": -4.65,
|
||||
"usdkrw_change": -0.98,
|
||||
"wti_change": 5.66,
|
||||
"us10y": 4.53,
|
||||
"global_score": 24,
|
||||
"global_risk": "높음"
|
||||
},
|
||||
"risk_level": "높음",
|
||||
"hot_sectors": ["건설", "내수소비", "바이오"],
|
||||
"avoid_sectors": ["반도체", "항공", "방산"],
|
||||
"boosted_tickers": [],
|
||||
"blacklist_tickers": [],
|
||||
"position_size_multiplier": 0.5,
|
||||
"reason": "SOX-4.65%·삼전外人2조매도·WTI+5.66%·KOSPI급락후반등시도·건설내수관심"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,18 @@
|
||||
{
|
||||
"date": "2026-05-28",
|
||||
"generated_at": "11:20:18",
|
||||
"date": "2026-07-08",
|
||||
"generated_at": "11:20:16",
|
||||
"lunch_trade_allowed": false,
|
||||
"position_size_multiplier": 0.3,
|
||||
"hot_sectors": [],
|
||||
"avoid_sectors": ["전기전자", "반도체", "전기가스업", "기계", "의약품"],
|
||||
"strategy_note": "인버스ETF 거래량 1~3위, 전업종 하락. 오전 강세 예측 완전 빗나감. 현재 보유 2종목(흥아해운·SFA반도체)만 관리, 신규 진입 없음.",
|
||||
"reason": "연속손절6회·전업종약세·인버스거래량1위→점심진입중단"
|
||||
}
|
||||
"position_size_multiplier": 1.0,
|
||||
"hot_sectors": [
|
||||
"2차전지"
|
||||
],
|
||||
"avoid_sectors": [
|
||||
"전기전자",
|
||||
"철강금속",
|
||||
"의약품",
|
||||
"건설업",
|
||||
"통신업"
|
||||
],
|
||||
"strategy_note": "",
|
||||
"reason": "KOSPI-1.68%·全업종하락·인버스ETF1위·오전예측빗나감·점심차단유지"
|
||||
}
|
||||
+11
-66
@@ -1,67 +1,12 @@
|
||||
trade_id,date,ticker,name,entry_time,current_price,entry_price,target_price,stop_price,today_open,prev_high,prev_low,prev_amount,volume,change_pct,market_sentiment,sentiment_score,risk_level,trade_allowed,hot_sectors,avoid_sectors,boosted_tickers,blacklist_tickers,ai_boosted,ai_win_score,ai_stop_loss_score,ai_model_version,position_size_multiplier,combined_multiplier,entry_reason,price_1m,ret_1m,mfe_1m,mae_1m,price_3m,ret_3m,mfe_3m,mae_3m,price_5m,ret_5m,mfe_5m,mae_5m,price_10m,ret_10m,mfe_10m,mae_10m,exit_time,exit_price,quantity,exit_reason,pnl,label_win,label_stop_loss
|
||||
128,2026-05-28,490470,세미파이브,09:15:21,41350.0,41300.0,1925.0,40680.5,0.0,37600.0,33750.0,41601686200.0,380384.0,0.36,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,1.3,"목표가 돌파 (41,350 >= 1,925)",41550.0,0.6053268765133172,0.6053268765133172,0.0,41900.0,1.4527845036319613,1.4527845036319613,0.0,41400.0,0.24213075060532688,1.4527845036319613,0.0,41650.0,0.847457627118644,1.4527845036319613,0.0,09:39:16,40700.0,62,SL,-42504.72,0,1
|
||||
129,2026-05-28,034220,LG디스플레이,09:15:30,15970.0,15990.0,1160.0,15750.15,0.0,15170.0,12850.0,292284486340.0,6789154.0,13.02,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,1.3,"목표가 돌파 (15,970 >= 1,160)",15980.0,-0.06253908692933083,0.0,-0.06253908692933083,15810.0,-1.125703564727955,0.0,-1.125703564727955,15760.0,-1.4383989993746091,0.0,-1.4383989993746091,15690.0,-1.876172607879925,0.0,-1.876172607879925,09:18:16,15740.0,162,SL,-45860.823,0,1
|
||||
130,2026-05-28,066980,한성크린텍,09:18:21,2170.0,2170.0,276.5,2137.45,0.0,2450.0,1897.0,38143145612.0,897862.0,7.69,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,0.9099999999999999,"목표가 돌파 (2,170 >= 276)",2190.0,0.9216589861751152,0.9216589861751152,0.0,2205.0,1.6129032258064515,1.6129032258064515,0.0,2185.0,0.6912442396313364,1.6129032258064515,0.0,2290.0,5.529953917050691,5.529953917050691,0.0,09:23:55,2235.0,252,TP2,15199.695,1,0
|
||||
132,2026-05-28,001740,SK네트웍스,09:24:06,11060.0,11040.0,385.0,10874.4,0.0,8580.0,7810.0,98137982810.0,6320902.0,-2.81,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,1.3,"목표가 돌파 (11,060 >= 385)",11000.0,-0.36231884057971014,0.0,-0.36231884057971014,10910.0,-1.177536231884058,0.0,-1.177536231884058,10890.0,-1.358695652173913,0.0,-1.358695652173913,10740.0,-2.717391304347826,0.0,-2.717391304347826,09:29:18,10870.0,235,SL,-45320.3375,0,1
|
||||
133,2026-05-28,047040,대우건설,09:29:24,25975.0,25900.0,1575.0,25511.5,0.0,30150.0,27000.0,466483203900.0,2085879.0,-2.9,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,0.9099999999999999,"목표가 돌파 (25,975 >= 1,575)",25750.0,-0.5791505791505791,0.0,-0.5791505791505791,25750.0,-0.5791505791505791,0.0,-0.5791505791505791,25750.0,-0.5791505791505791,0.0,-0.5791505791505791,25850.0,-0.19305019305019305,0.0,-0.5791505791505791,09:50:12,25500.0,70,SL,-31752.7,0,1
|
||||
134,2026-05-28,261780,차백신연구소,09:39:31,3885.0,3850.0,217.5,3792.25,0.0,3570.0,3135.0,16732062900.0,3255260.0,-1.89,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,0.65,"목표가 돌파 (3,885 >= 218)",3840.0,-0.2597402597402597,0.0,-0.2597402597402597,3810.0,-1.0389610389610389,0.0,-1.0389610389610389,3850.0,0.0,0.0,-1.0389610389610389,3837.0,-0.33766233766233766,0.0,-1.0389610389610389,09:57:17,3785.0,334,SL,-24368.0555,0,1
|
||||
135,2026-05-28,142280,녹십자엠에스,09:50:24,4890.0,4890.0,605.0,4816.65,0.0,6660.0,5450.0,108215421060.0,854870.0,-7.91,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,0.39,"목표가 돌파 (4,890 >= 605)",4890.0,0.0,0.0,0.0,4865.0,-0.5112474437627812,0.0,-0.5112474437627812,4835.0,-1.1247443762781186,0.0,-1.1247443762781186,4875.0,-0.3067484662576687,0.0,-1.1247443762781186,10:16:56,4815.0,159,SL,-13534.51725,0,1
|
||||
136,2026-05-28,232680,라온로보틱스,09:57:26,21700.0,21700.0,1945.0,21374.5,0.0,18300.0,14410.0,48862061400.0,707046.0,-3.56,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,0.39,"목표가 돌파 (21,700 >= 1,945)",21750.0,0.2304147465437788,0.2304147465437788,0.0,21800.0,0.4608294930875576,0.4608294930875576,0.0,21700.0,0.0,0.4608294930875576,0.0,21800.0,0.4608294930875576,0.4608294930875576,0.0,10:03:27,21350.0,35,SL,-13821.0625,0,1
|
||||
137,2026-05-28,003280,흥아해운,10:03:35,2240.0,2240.0,67.5,2206.4,0.0,2550.0,2415.0,22990880850.0,3718070.0,-0.67,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,0.39,"목표가 돌파 (2,240 >= 68)",2235.0,-0.2232142857142857,0.0,-0.2232142857142857,2245.0,0.2232142857142857,0.2232142857142857,-0.2232142857142857,2250.0,0.4464285714285714,0.4464285714285714,-0.2232142857142857,2250.0,0.4464285714285714,0.4464285714285714,-0.2232142857142857,12:03:39,2260.0,105,TIME,1601.9850000000001,1,0
|
||||
138,2026-05-28,036540,SFA반도체,10:17:11,9020.0,9010.0,605.0,8874.85,0.0,9220.0,8010.0,168105719900.0,2973961.0,-4.04,강세,72,보통,1,"[""반도체"", ""AI/로봇"", ""방산""]","[""건설업"", ""전기가스업"", ""주류""]","[""000100"", ""000150""]",[],0,,,,1.3,0.39,"목표가 돌파 (9,020 >= 605)",8980.0,-0.3329633740288568,0.0,-0.3329633740288568,8970.0,-0.4439511653718091,0.0,-0.4439511653718091,8940.0,-0.776914539400666,0.0,-0.776914539400666,8920.0,-0.9988901220865706,0.0,-0.9988901220865706,12:17:12,8990.0,86,TIME,-3343.852,0,0
|
||||
140,2026-05-29,066980,한성크린텍,09:20:12,2205.0,2205.0,144.5,2171.925,0.0,2150.0,1861.0,19122994350.0,1092946.0,-6.37,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.4351604210599285,0.731136896055066,2026-05-28T20:24:00,1.0,1.0,"목표가 돌파 (2,205 >= 144)",2185.0,-0.9070294784580499,0.0,-0.9070294784580499,2185.0,-0.9070294784580499,0.0,-0.9070294784580499,2195.0,-0.45351473922902497,0.0,-0.9070294784580499,2275.0,3.1746031746031744,3.1746031746031744,-0.9070294784580499,09:21:33,2170.0,907,SL,-35882.96075,0,1
|
||||
141,2026-05-29,290690,소룩스,09:20:21,5140.0,5140.0,215.0,5062.9,0.0,5440.0,5010.0,14487763710.0,716299.0,-6.88,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.3696454015844157,0.7310477196261284,2026-05-28T20:24:00,1.0,1.0,"목표가 돌파 (5,140 >= 215)",5150.0,0.19455252918287938,0.19455252918287938,0.0,5190.0,0.9727626459143969,0.9727626459143969,0.0,5290.0,2.9182879377431905,2.9182879377431905,0.0,5230.0,1.7509727626459144,2.9182879377431905,0.0,09:24:39,5280.0,117,TP2,15085.161,1,0
|
||||
142,2026-05-29,005880,대한해운,09:21:40,2215.0,2215.0,60.0,2181.775,0.0,2585.0,2465.0,14927338200.0,1159105.0,-4.73,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.4165395566639716,0.7318896407628258,2026-05-28T20:24:00,1.0,0.7,"목표가 돌파 (2,215 >= 60)",2225.0,0.4514672686230248,0.4514672686230248,0.0,2220.0,0.2257336343115124,0.4514672686230248,0.0,2215.0,0.0,0.4514672686230248,0.0,2225.0,0.4514672686230248,0.4514672686230248,0.0,11:21:42,2215.0,632,TIME,-2939.748,0,0
|
||||
144,2026-05-29,003280,흥아해운,09:24:45,2140.0,2135.0,70.0,2102.975,0.0,2570.0,2430.0,24474088830.0,5989975.0,-7.96,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.4387159451976146,0.7095595342416872,2026-05-28T20:24:00,1.0,1.0,"목표가 돌파 (2,140 >= 70)",2130.0,-0.234192037470726,0.0,-0.234192037470726,2115.0,-0.936768149882904,0.0,-0.936768149882904,2125.0,-0.468384074941452,0.0,-0.936768149882904,2125.0,-0.468384074941452,0.0,-0.936768149882904,10:07:42,2100.0,934,SL,-36813.8435,0,1
|
||||
145,2026-05-29,032580,피델릭스,10:07:49,6650.0,6630.0,1020.0,6530.55,0.0,8460.0,6420.0,58393931760.0,1288602.0,-2.35,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.4179516797368605,0.8026114336313444,2026-05-28T20:24:00,1.0,0.7,"목표가 돌파 (6,650 >= 1,020)",6620.0,-0.1508295625942685,0.0,-0.1508295625942685,6640.0,0.1508295625942685,0.1508295625942685,-0.1508295625942685,6720.0,1.3574660633484164,1.3574660633484164,-0.1508295625942685,6800.0,2.564102564102564,2.564102564102564,-0.1508295625942685,10:16:48,6800.0,63,TP2,9811.9665,1,0
|
||||
147,2026-05-29,477850,마키나락스,10:16:56,36000.0,35850.0,14500.0,35312.25,0.0,83600.0,54600.0,511302300600.0,764746.0,0.0,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.3233400234590251,0.8175514874030767,2026-05-28T20:24:00,1.0,1.0,"목표가 돌파 (36,000 >= 14,500)",35950.0,0.2789400278940028,0.2789400278940028,0.0,36200.0,0.9762900976290098,0.9762900976290098,0.0,35900.0,0.1394700139470014,0.9762900976290098,0.0,36100.0,0.697350069735007,0.9762900976290098,0.0,10:42:07,35150.0,55,SL,-42565.6,0,1
|
||||
148,2026-05-29,024840,KBI메탈,10:42:17,5170.0,5160.0,545.0,5082.6,0.0,8180.0,7090.0,139089194880.0,1496955.0,-12.96,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.4338043614374876,0.7374319919650496,2026-05-28T20:24:00,1.0,0.7,"목표가 돌파 (5,170 >= 545)",5180.0,0.3875968992248062,0.3875968992248062,0.0,5260.0,1.937984496124031,1.937984496124031,0.0,5310.0,2.9069767441860463,2.9069767441860463,0.0,5320.0,3.10077519379845,3.10077519379845,0.0,10:46:00,5290.0,81,TP2,9631.7505,1,0
|
||||
150,2026-05-29,001740,SK네트웍스,10:46:23,11300.0,11300.0,275.0,11130.5,0.0,8630.0,8080.0,79641500400.0,1738408.0,-5.68,중립,62,보통,1,"[""반도체"", ""AI인프라"", ""로봇""]","[""건설"", ""음식료""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.40453855863241456,0.7809700225459555,2026-05-28T20:24:00,1.0,1.0,"목표가 돌파 (11,300 >= 275)",11300.0,0.0,0.0,0.0,11300.0,0.0,0.0,0.0,11300.0,0.0,0.0,0.0,11300.0,0.0,0.0,0.0,12:46:25,11270.0,176,TIME,-9446.184000000001,0,0
|
||||
151,2026-05-29,005880,대한해운,11:21:51,2215.0,2215.0,60.0,2181.775,0.0,2585.0,2465.0,14927338200.0,3241257.0,-4.73,중립,62,보통,1,"[""운수창고"", ""금융업"", ""철강금속""]","[""반도체"", ""의약품"", ""건설업"", ""화학""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.41761836541992037,0.7196576370404046,2026-05-28T20:24:00,1.0,1.0,"목표가 돌파 (2,215 >= 60)",2215.0,0.0,0.0,0.0,2215.0,0.0,0.0,0.0,2205.0,-0.4514672686230248,0.0,-0.4514672686230248,2210.0,-0.2257336343115124,0.0,-0.4514672686230248,13:21:53,2235.0,902,TIME,13809.169,1,0
|
||||
152,2026-05-29,032580,피델릭스,12:46:33,6580.0,6580.0,1020.0,6481.3,0.0,8460.0,6420.0,58393931760.0,2188412.0,-3.38,중립,62,보통,1,"[""운수창고"", ""금융업"", ""철강금속""]","[""반도체"", ""의약품"", ""건설업"", ""화학""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.422704933505687,0.7937182159021703,2026-05-28T20:24:00,1.0,0.7,"목표가 돌파 (6,580 >= 1,020)",6620.0,0.60790273556231,0.60790273556231,0.0,6640.0,0.911854103343465,0.911854103343465,0.0,6630.0,0.7598784194528876,0.911854103343465,0.0,6540.0,-0.60790273556231,0.911854103343465,-0.60790273556231,13:04:51,6480.0,212,SL,-24088.076,0,1
|
||||
153,2026-05-29,024840,KBI메탈,13:04:57,5470.0,5470.0,545.0,5387.95,0.0,8180.0,7090.0,139089194880.0,2093384.0,-7.91,중립,62,보통,1,"[""운수창고"", ""금융업"", ""철강금속""]","[""반도체"", ""의약품"", ""건설업"", ""화학""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.42571653655154934,0.785533230878018,2026-05-28T20:24:00,1.0,0.5,"목표가 돌파 (5,470 >= 545)",5460.0,-0.18281535648994515,0.0,-0.18281535648994515,5430.0,-0.7312614259597806,0.0,-0.7312614259597806,5420.0,-0.9140767824497258,0.0,-0.9140767824497258,5400.0,-1.2797074954296161,0.0,-1.2797074954296161,13:16:28,5350.0,182,SL,-23888.046,0,1
|
||||
154,2026-05-29,001740,SK네트웍스,13:16:40,11210.0,11210.0,275.0,11041.85,0.0,8630.0,8080.0,79641500400.0,2780508.0,-6.43,중립,62,보통,1,"[""운수창고"", ""금융업"", ""철강금속""]","[""반도체"", ""의약품"", ""건설업"", ""화학""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.4045385586324146,0.7801186798378126,2026-05-28T20:24:00,1.0,0.3,"목표가 돌파 (11,210 >= 275)",11210.0,0.0,0.0,0.0,11210.0,0.0,0.0,0.0,11210.0,0.0,0.0,0.0,11210.0,0.0,0.0,0.0,14:50:07,11130.0,53,FORCE,-5479.405,0,0
|
||||
155,2026-05-29,005880,대한해운,13:22:01,2235.0,2235.0,60.0,2201.475,0.0,2585.0,2465.0,14927338200.0,4150881.0,-3.87,중립,62,보통,1,"[""운수창고"", ""금융업"", ""철강금속""]","[""반도체"", ""의약품"", ""건설업"", ""화학""]","[""018260"", ""000100"", ""012330"", ""000150""]",[],0,0.41761836541992037,0.7196576370404048,2026-05-28T20:24:00,1.0,0.5,"목표가 돌파 (2,235 >= 60)",2235.0,0.0,0.0,0.0,2240.0,0.22371364653243847,0.22371364653243847,0.0,2240.0,0.22371364653243847,0.22371364653243847,0.0,2235.0,0.0,0.22371364653243847,0.0,14:50:14,2255.0,447,FORCE,6824.5725,1,0
|
||||
156,2026-06-01,006340,대원전선,09:20:12,12250.0,12240.0,650.0,12056.4,0.0,15250.0,13950.0,79885329860.0,1343846.0,2.6,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.46391521101257543,0.7687711249122031,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (12,250 >= 650)",12260.0,0.16339869281045752,0.16339869281045752,0.0,12300.0,0.49019607843137253,0.49019607843137253,0.0,12200.0,-0.32679738562091504,0.49019607843137253,-0.32679738562091504,12170.0,-0.5718954248366013,0.49019607843137253,-0.5718954248366013,09:41:36,12050.0,195,SL,-41990.0325,0,1
|
||||
157,2026-06-01,425040,티이엠씨,09:20:21,18980.0,18830.0,1700.0,18547.55,0.0,29250.0,25850.0,46745332000.0,484537.0,5.44,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.35475607063065256,0.8238569608722319,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (18,980 >= 1,700)",18980.0,0.7966011683483802,0.7966011683483802,0.0,18950.0,0.6372809346787042,0.7966011683483802,0.0,18660.0,-0.9028146574614976,0.7966011683483802,-0.9028146574614976,18770.0,-0.3186404673393521,0.7966011683483802,-0.9028146574614976,09:27:09,18540.0,126,SL,-41451.165,0,1
|
||||
158,2026-06-01,332570,PS일렉트로닉스,09:20:22,12330.0,12470.0,460.0,12282.95,0.0,13110.0,12190.0,34905124500.0,1699230.0,4.85,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.433213726318522,0.7919377953975175,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (12,330 >= 460)",,,,,,,,,12970.0,4.0096230954290295,4.0096230954290295,0.0,13030.0,4.490777866880514,4.490777866880514,0.0,09:23:37,12800.0,59,TP2,17887.000500000002,1,0
|
||||
159,2026-06-01,425040,티이엠씨,09:20:29,18830.0,18820.0,1700.0,18537.7,0.0,29250.0,25850.0,46745332000.0,496458.0,4.61,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.35475607063065256,0.8238569608722321,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (18,830 >= 1,700)",18950.0,0.6907545164718385,0.6907545164718385,0.0,18900.0,0.4250797024442083,0.6907545164718385,0.0,18660.0,-0.8501594048884166,0.6907545164718385,-0.8501594048884166,18770.0,-0.2656748140276302,0.6907545164718385,-0.8501594048884166,09:26:59,18510.0,127,SL,-44312.5225,0,1
|
||||
161,2026-06-01,027360,아주IB투자,09:23:47,12200.0,12220.0,720.0,12036.7,0.0,17690.0,16250.0,253773674570.0,2087881.0,0.91,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4657874233200197,0.7341750273456272,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (12,200 >= 720)",12220.0,0.0,0.0,0.0,12180.0,-0.32733224222585927,0.0,-0.32733224222585927,12110.0,-0.900163666121113,0.0,-0.900163666121113,12330.0,0.900163666121113,0.900163666121113,-0.900163666121113,10:05:15,12010.0,59,SL,-13879.8975,0,1
|
||||
162,2026-06-01,001740,SK네트웍스,09:27:19,11500.0,11500.0,1085.0,11327.5,0.0,10920.0,8750.0,703642124640.0,278929.0,1.95,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4417259535599868,0.7166326202855798,2026-05-28T20:24:00,1.2,0.84,"목표가 돌파 (11,500 >= 1,085)",11500.0,0.0,0.0,0.0,11570.0,0.6086956521739131,0.6086956521739131,0.0,11570.0,0.6086956521739131,0.6086956521739131,0.0,11570.0,0.6086956521739131,0.6086956521739131,0.0,10:00:23,12000.0,146,TP2,69331.75,1,0
|
||||
163,2026-06-01,001740,SK네트웍스,09:27:20,11500.0,11500.0,1085.0,11327.5,0.0,10920.0,8750.0,703642124640.0,278929.0,1.95,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4417259535599865,0.7166326202855801,2026-05-28T20:24:00,1.2,0.84,"목표가 돌파 (11,500 >= 1,085)",11500.0,0.0,0.0,0.0,11570.0,0.6086956521739131,0.6086956521739131,0.0,11570.0,0.6086956521739131,0.6086956521739131,0.0,11570.0,0.6086956521739131,0.6086956521739131,0.0,10:00:14,12000.0,146,TP2,69331.75,1,0
|
||||
164,2026-06-01,010170,대한광통신,09:41:50,20900.0,20800.0,1600.0,20488.0,0.0,27900.0,24700.0,840928760800.0,6380259.0,-7.93,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.40079640837172215,0.749086920694635,2026-05-28T20:24:00,1.2,0.6,"목표가 돌파 (20,900 >= 1,600)",20800.0,0.0,0.0,0.0,20750.0,-0.2403846153846154,0.0,-0.2403846153846154,20900.0,0.4807692307692308,0.4807692307692308,-0.2403846153846154,20850.0,0.2403846153846154,0.4807692307692308,-0.2403846153846154,10:25:48,21400.0,18,TP2,9992.7,1,0
|
||||
166,2026-06-01,457370,한켐,10:00:30,10970.0,10940.0,1185.0,10775.9,0.0,12310.0,9940.0,42778677960.0,577420.0,-8.35,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.43365506082981103,0.7868097740079766,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (10,970 >= 1,185)",,,,,10830.0,-1.0054844606946984,0.0,-1.0054844606946984,10800.0,-1.2797074954296161,0.0,-1.2797074954296161,,,,,10:22:05,10740.0,218,SL,-48523.312,0,1
|
||||
167,2026-06-01,034220,LG디스플레이,10:00:51,16130.0,16060.0,535.0,15819.1,0.0,16420.0,15350.0,272529087660.0,26629308.0,0.25,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.3215532418967578,0.8058851328107793,2026-05-28T20:24:00,1.2,0.84,"목표가 돌파 (16,130 >= 535)",16190.0,0.809464508094645,0.809464508094645,0.0,16290.0,1.432129514321295,1.432129514321295,0.0,16350.0,1.805728518057285,1.805728518057285,0.0,16130.0,0.43586550435865506,1.805728518057285,0.0,10:21:50,16560.0,32,TP2,14889.568,1,0
|
||||
169,2026-06-01,018880,한온시스템,10:05:36,5340.0,5340.0,190.0,5259.9,0.0,5400.0,5020.0,130064780520.0,14563034.0,-5.15,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.3848762551192131,0.7789769754074529,2026-05-28T20:24:00,1.2,0.84,"목표가 돌파 (5,340 >= 190)",5360.0,0.37453183520599254,0.37453183520599254,0.0,,,,,5340.0,0.0,0.37453183520599254,0.0,5290.0,-0.9363295880149813,0.37453183520599254,-0.9363295880149813,12:05:42,5310.0,314,TIME,-12922.827,0,0
|
||||
170,2026-06-01,024060,흥구석유,10:21:59,12580.0,12540.0,290.0,12351.9,0.0,13740.0,13160.0,10448147500.0,444691.0,0.8,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4392924838463846,0.7999231728020089,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (12,580 >= 290)",12550.0,0.07974481658692185,0.07974481658692185,0.0,12530.0,-0.07974481658692185,0.07974481658692185,-0.07974481658692185,,,,,12560.0,0.1594896331738437,0.1594896331738437,-0.07974481658692185,12:22:03,12550.0,190,TIME,-3107.165,0,0
|
||||
171,2026-06-01,005935,삼성전자우,10:22:19,227500.0,228000.0,2750.0,224580.0,0.0,192000.0,186500.0,756390772800.0,5061108.0,12.35,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4016687804349751,0.37683891996396657,2026-05-28T20:24:00,1.2,0.6,"목표가 돌파 (227,500 >= 2,750)",227250.0,-0.3289473684210526,0.0,-0.3289473684210526,225500.0,-1.0964912280701753,0.0,-1.0964912280701753,227500.0,-0.21929824561403508,0.0,-1.0964912280701753,230000.0,0.8771929824561403,0.8771929824561403,-1.0964912280701753,10:36:48,233500.0,2,TP2,10020.95,1,0
|
||||
173,2026-06-01,332570,PS일렉트로닉스,10:26:05,12440.0,12410.0,460.0,12223.85,0.0,13110.0,12190.0,34905124500.0,3385873.0,5.78,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4356142665028452,0.7919288098544557,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (12,440 >= 460)",12450.0,0.32232070910556004,0.32232070910556004,0.0,12410.0,0.0,0.32232070910556004,0.0,12350.0,-0.4834810636583401,0.32232070910556004,-0.4834810636583401,12380.0,-0.24174053182917005,0.32232070910556004,-0.4834810636583401,10:52:03,12220.0,192,SL,-41412.576,0,1
|
||||
175,2026-06-01,010170,대한광통신,10:36:58,21200.0,21200.0,1600.0,20882.0,0.0,27900.0,24700.0,840928760800.0,9380056.0,-6.61,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4007964083717222,0.7490869206946349,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (21,200 >= 1,600)",21200.0,0.0,0.0,0.0,21150.0,-0.2358490566037736,0.0,-0.2358490566037736,21150.0,-0.2358490566037736,0.0,-0.2358490566037736,21150.0,-0.2358490566037736,0.0,-0.2358490566037736,10:50:57,20900.0,113,SL,-38864.655,0,1
|
||||
176,2026-06-01,021880,메이슨캐피탈,10:51:11,186.0,186.0,35.5,183.21,0.0,287.0,216.0,13998574527.0,4834067.0,-5.58,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.4082727808510595,0.3034321736579565,2026-05-28T20:24:00,1.2,0.84,목표가 돌파 (186 >= 36),185.0,-0.5376344086021506,0.0,-0.5376344086021506,185.0,-0.5376344086021506,0.0,-0.5376344086021506,183.0,-1.6129032258064515,0.0,-1.6129032258064515,185.0,-0.5376344086021506,0.0,-1.6129032258064515,10:55:46,183.0,9032,SL,-30571.061999999998,0,1
|
||||
177,2026-06-01,001440,대한전선,10:56:15,49350.0,49350.0,2700.0,48609.75,0.0,58400.0,53000.0,234275246400.0,4599816.0,8.58,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.3061406800017308,0.8257458231407364,2026-05-28T20:24:00,1.2,0.6,"목표가 돌파 (49,350 >= 2,700)",49200.0,-0.303951367781155,0.0,-0.303951367781155,48750.0,-1.21580547112462,0.0,-1.21580547112462,48550.0,-1.6210739614994936,0.0,-1.6210739614994936,48400.0,-1.9250253292806485,0.0,-1.9250253292806485,10:58:12,48600.0,24,SL,-20452.14,0,1
|
||||
178,2026-06-01,036540,SFA반도체,10:58:30,7990.0,7980.0,695.0,7860.3,0.0,11640.0,10250.0,463103060400.0,2829685.0,-3.97,강세,68,보통,1,"[""반도체"", ""방산"", ""제약바이오"", ""AI/IT""]","[""건설업"", ""금융업""]","[""000100"", ""000150"", ""000070""]",[],0,0.44363434978941074,0.7474588780204732,2026-05-28T20:24:00,1.2,0.36,"목표가 돌파 (7,990 >= 695)",,,,,8010.0,0.37593984962406013,0.37593984962406013,0.0,,,,,8040.0,0.7518796992481203,0.7518796992481203,0.0,12:58:33,7920.0,90,TIME,-6897.6900000000005,0,0
|
||||
179,2026-06-02,034220,LG디스플레이,09:20:08,16250.0,16400.0,535.0,16154.0,0.0,16420.0,15350.0,272529087660.0,12688058.0,2.85,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.3215532418967578,0.8058851328107793,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (16,250 >= 535)",16710.0,1.8902439024390243,1.8902439024390243,0.0,16670.0,1.6463414634146343,1.8902439024390243,0.0,16240.0,-0.975609756097561,1.8902439024390243,-0.975609756097561,16310.0,-0.548780487804878,1.8902439024390243,-0.975609756097561,09:25:17,16130.0,147,SL,-44675.2845,0,1
|
||||
180,2026-06-02,010170,대한광통신,09:20:25,18930.0,18980.0,1600.0,18695.3,0.0,27900.0,24700.0,840928760800.0,5244315.0,-8.11,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.3981870275665069,0.7543469473034201,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (18,930 >= 1,600)",19640.0,3.477344573234984,3.477344573234984,0.0,19490.0,2.6870389884088515,3.477344573234984,0.0,19980.0,5.268703898840886,5.268703898840886,0.0,20050.0,5.637513171759747,5.637513171759747,0.0,09:21:17,19600.0,38,TP2,21999.454,1,0
|
||||
182,2026-06-02,043260,성호전자,09:21:25,41600.0,41600.0,2600.0,40976.0,0.0,45750.0,40550.0,132291841500.0,1742625.0,5.45,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.3033092791475277,0.8396825457478589,2026-05-28T20:24:00,1.2,1.2,"목표가 돌파 (41,600 >= 2,600)",41100.0,-1.201923076923077,0.0,-1.201923076923077,41300.0,-0.7211538461538461,0.0,-1.201923076923077,40650.0,-2.283653846153846,0.0,-2.283653846153846,43300.0,4.086538461538462,4.086538461538462,-2.283653846153846,09:22:41,40850.0,57,SL,-47646.1575,0,1
|
||||
183,2026-06-02,036540,SFA반도체,09:22:49,7470.0,7460.0,695.0,7348.099999999999,0.0,11640.0,10250.0,463103060400.0,1300612.0,-5.8,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.43994692657038625,0.7557304579561245,2026-05-28T20:24:00,1.2,0.84,"목표가 돌파 (7,470 >= 695)",7420.0,-0.5361930294906166,0.0,-0.5361930294906166,7380.0,-1.0723860589812333,0.0,-1.0723860589812333,7390.0,-0.938337801608579,0.0,-1.0723860589812333,7430.0,-0.40214477211796246,0.0,-1.0723860589812333,09:56:55,7340.0,224,SL,-30336.768,0,1
|
||||
184,2026-06-02,098460,고영,09:25:26,32450.0,32450.0,1025.0,31963.25,0.0,41850.0,39800.0,92634237600.0,406770.0,-4.14,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.29978995643395917,0.8471768805207506,2026-05-28T20:24:00,1.2,0.6,"목표가 돌파 (32,450 >= 1,025)",32600.0,0.46224961479198773,0.46224961479198773,0.0,32850.0,1.2326656394453006,1.2326656394453006,0.0,32850.0,1.2326656394453006,1.2326656394453006,0.0,32700.0,0.7704160246533128,1.2326656394453006,0.0,09:58:43,31950.0,11,SL,-6238.87,0,1
|
||||
186,2026-06-02,022100,포스코DX,09:57:09,33850.0,33850.0,900.0,33342.25,0.0,34100.0,32300.0,12030123600.0,1148689.0,-12.53,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.305738945097692,0.8526834612459052,2026-05-28T20:24:00,1.2,0.6,"목표가 돌파 (33,850 >= 900)",33800.0,-0.14771048744460857,0.0,-0.14771048744460857,33850.0,0.0,0.0,-0.14771048744460857,33800.0,-0.14771048744460857,0.0,-0.14771048744460857,34100.0,0.7385524372230428,0.7385524372230428,-0.14771048744460857,10:22:23,34900.0,11,TP2,10745.5425,1,0
|
||||
187,2026-06-02,357880,SKAI,09:58:55,4415.0,4405.0,427.5,4338.925,0.0,5830.0,4975.0,34888267080.0,1822079.0,-17.48,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.4203791808518471,0.7864215467759593,2026-05-28T20:24:00,1.2,0.36,"목표가 돌파 (4,415 >= 428)",4380.0,-0.5675368898978433,0.0,-0.5675368898978433,4370.0,-0.7945516458569807,0.0,-0.7945516458569807,4380.0,-0.5675368898978433,0.0,-0.7945516458569807,4445.0,0.9080590238365494,0.9080590238365494,-0.7945516458569807,10:02:28,4330.0,163,SL,-13708.99275,0,1
|
||||
188,2026-06-02,006340,대원전선,10:02:39,10900.0,10890.0,650.0,10726.65,0.0,15250.0,13950.0,79885329860.0,2364186.0,-6.12,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.46853872014132963,0.7642501882516862,2026-05-28T20:24:00,1.2,0.36,"목표가 돌파 (10,900 >= 650)",10960.0,0.642791551882461,0.642791551882461,0.0,10990.0,0.9182736455463728,0.9182736455463728,0.0,10960.0,0.642791551882461,0.9182736455463728,0.0,10940.0,0.4591368227731864,0.9182736455463728,0.0,12:02:41,11040.0,20,TIME,2536.77,1,0
|
||||
190,2026-06-02,080220,제주반도체,10:22:41,95500.0,95700.0,6200.0,94264.5,0.0,125000.0,112600.0,396407725100.0,757971.0,-3.05,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.3099738195042713,0.8224795183192154,2026-05-28T20:24:00,1.2,0.6,"목표가 돌파 (95,500 >= 6,200)",95500.0,-0.20898641588296762,0.0,-0.20898641588296762,95500.0,-0.20898641588296762,0.0,-0.20898641588296762,95300.0,-0.41797283176593525,0.0,-0.41797283176593525,95800.0,0.10449320794148381,0.10449320794148381,-0.41797283176593525,10:50:59,94200.0,12,SL,-20376.54,0,1
|
||||
191,2026-06-02,078150,HB테크놀러지,10:51:18,2960.0,2955.0,175.0,2910.675,0.0,4465.0,4115.0,18546097120.0,3136805.0,-6.03,강세,68,보통,1,"[""반도체"", ""로봇"", ""의약품""]","[""건설"", ""금융""]","[""000150"", ""000157"", ""000070""]",[],0,0.4082024397059335,0.7961953794270091,2026-05-28T20:24:00,1.2,0.36,"목표가 돌파 (2,960 >= 175)",2960.0,0.1692047377326565,0.1692047377326565,0.0,2955.0,0.0,0.1692047377326565,0.0,2950.0,-0.1692047377326565,0.1692047377326565,-0.1692047377326565,2955.0,0.0,0.1692047377326565,-0.1692047377326565,12:51:20,2945.0,243,TIME,-3933.198,0,0
|
||||
193,2026-06-02,003280,흥아해운,12:02:53,2000.0,2005.0,67.5,1974.925,0.0,2515.0,2380.0,19807212040.0,6979826.0,-2.91,강세,68,보통,1,"[""운수창고""]","[""전기전자"", ""의약품"", ""전기가스업"", ""기계"", ""반도체""]","[""000150"", ""000157"", ""000070""]",[],0,0.4387159451976146,0.709559534241687,2026-05-28T20:24:00,1.2,0.588,"목표가 돌파 (2,000 >= 68)",2005.0,0.0,0.0,0.0,2010.0,0.24937655860349126,0.24937655860349126,0.0,2005.0,0.0,0.24937655860349126,0.0,2005.0,0.0,0.24937655860349126,0.0,14:02:56,1979.0,588,TIME,-17733.9624,0,0
|
||||
194,2026-06-02,478150,TIME 글로벌우주테크&방산액티브,12:51:34,23560.0,23560.0,387.5,23206.6,0.0,24750.0,23975.0,15654623085.0,333256.0,-5.06,강세,68,보통,1,"[""운수창고""]","[""전기전자"", ""의약품"", ""전기가스업"", ""기계"", ""반도체""]","[""000150"", ""000157"", ""000070""]",[],0,0.3479374615027259,0.8081346033908917,2026-05-28T20:24:00,1.2,0.42,"목표가 돌파 (23,560 >= 388)",23565.0,0.021222410865874362,0.021222410865874362,0.0,23570.0,0.042444821731748725,0.042444821731748725,0.0,23580.0,0.08488964346349745,0.08488964346349745,0.0,23585.0,0.10611205432937182,0.10611205432937182,0.0,14:50:09,23915.0,35,FORCE,10669.11125,1,0
|
||||
195,2026-06-05,034220,LG디스플레이,09:20:13,14920.0,14920.0,950.0,14770.8,0.0,16600.0,14700.0,969593504520.0,2490989.0,-7.44,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.3827240469611287,0.7697687478645221,2026-06-02T18:36:28,0.8,0.8,"목표가 돌파 (14,920 >= 950)",14820.0,-0.6702412868632708,0.0,-0.6702412868632708,14800.0,-0.8042895442359249,0.0,-0.8042895442359249,14820.0,-0.6702412868632708,0.0,-0.8042895442359249,15020.0,0.6702412868632708,0.6702412868632708,-0.8042895442359249,09:25:48,14770.0,107,SL,-19371.2265,0,1
|
||||
196,2026-06-05,052710,아모텍,09:20:23,22950.0,22950.0,2750.0,22720.5,0.0,32000.0,26500.0,43734665200.0,171039.0,-7.46,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.3638854438238923,0.817808397712043,2026-06-02T18:36:28,0.8,0.8,"목표가 돌파 (22,950 >= 2,750)",22900.0,-0.2178649237472767,0.0,-0.2178649237472767,22550.0,-1.7429193899782136,0.0,-1.7429193899782136,22450.0,-2.178649237472767,0.0,-2.178649237472767,23600.0,2.832244008714597,2.832244008714597,-2.178649237472767,09:22:09,22650.0,69,SL,-23985.09,0,1
|
||||
197,2026-06-05,077360,덕산하이메탈,09:22:17,14460.0,14460.0,2135.0,14315.4,0.0,15710.0,11440.0,84122239770.0,628619.0,-3.66,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.37891442938484005,0.8453358566731978,2026-06-02T18:36:28,0.8,0.5599999999999999,"목표가 돌파 (14,460 >= 2,135)",14290.0,-1.1756569847856155,0.0,-1.1756569847856155,14370.0,-0.6224066390041494,0.0,-1.1756569847856155,14530.0,0.48409405255878285,0.48409405255878285,-1.1756569847856155,14630.0,1.1756569847856155,1.1756569847856155,-1.1756569847856155,09:23:07,14290.0,77,SL,-15402.6565,0,1
|
||||
198,2026-06-05,010170,대한광통신,09:23:12,18560.0,18560.0,1950.0,18374.4,0.0,25400.0,21500.0,420850554400.0,2580655.0,-8.57,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.42866294164340485,0.7877062752702315,2026-06-02T18:36:28,0.8,0.4,"목표가 돌파 (18,560 >= 1,950)",18620.0,0.3232758620689655,0.3232758620689655,0.0,18500.0,-0.3232758620689655,0.3232758620689655,-0.3232758620689655,18620.0,0.3232758620689655,0.3232758620689655,-0.3232758620689655,18490.0,-0.3771551724137931,0.3232758620689655,-0.3771551724137931,09:34:34,18370.0,43,SL,-9830.0365,0,1
|
||||
199,2026-06-05,204320,HL만도,09:25:57,53800.0,53800.0,1500.0,53262.0,0.0,64500.0,61500.0,54912111300.0,62751.0,-6.6,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.3111670478450407,0.7879673579754577,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (53,800 >= 1,500)",53800.0,0.0,0.0,0.0,53900.0,0.18587360594795538,0.18587360594795538,0.0,54100.0,0.5576208178438662,0.5576208178438662,0.0,53900.0,0.18587360594795538,0.5576208178438662,0.0,09:52:11,53200.0,8,SL,-5694.48,0,1
|
||||
200,2026-06-05,001510,SK증권,09:34:41,3590.0,3590.0,152.5,3554.1,0.0,3530.0,3225.0,25118288000.0,18762403.0,12.19,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.433642576954848,0.780144530394883,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (3,590 >= 152)",3590.0,0.0,0.0,0.0,3610.0,0.5571030640668524,0.5571030640668524,0.0,3555.0,-0.9749303621169917,0.5571030640668524,-0.9749303621169917,3525.0,-1.8105849582172702,0.5571030640668524,-1.8105849582172702,09:36:23,3550.0,133,SL,-6312.313,0,1
|
||||
201,2026-06-05,261780,아리바이오랩,09:36:29,2700.0,2700.0,372.5,2673.0,0.0,3880.0,3135.0,13478473660.0,647644.0,1.89,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.47894143647841786,0.8013313288800499,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (2,700 >= 372)",2690.0,-0.3703703703703704,0.0,-0.3703703703703704,2695.0,-0.1851851851851852,0.0,-0.3703703703703704,2680.0,-0.7407407407407408,0.0,-0.7407407407407408,2685.0,-0.5555555555555556,0.0,-0.7407407407407408,09:43:09,2670.0,177,SL,-6303.2355,0,1
|
||||
202,2026-06-05,347850,디앤디파마텍,09:43:15,91200.0,91200.0,6850.0,90288.0,0.0,106300.0,92600.0,310029079800.0,537165.0,-2.98,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.3624412212679356,0.8339408325832915,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (91,200 >= 6,850)",91000.0,-0.21929824561403508,0.0,-0.21929824561403508,90900.0,-0.3289473684210526,0.0,-0.3289473684210526,90600.0,-0.6578947368421052,0.0,-0.6578947368421052,89700.0,-1.644736842105263,0.0,-1.644736842105263,09:49:38,90200.0,5,SL,-5947.85,0,1
|
||||
203,2026-06-05,027360,아주IB투자,09:49:47,9710.0,9710.0,1245.0,9612.9,0.0,13790.0,11300.0,101099868480.0,1288553.0,-5.18,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.37020411801246755,0.8009178007551034,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (9,710 >= 1,245)",9640.0,-0.7209062821833162,0.0,-0.7209062821833162,9660.0,-0.5149330587023687,0.0,-0.7209062821833162,9680.0,-0.30895983522142123,0.0,-0.7209062821833162,9710.0,0.0,0.0,-0.7209062821833162,11:19:48,9910.0,15,TIME,2688.285,1,0
|
||||
204,2026-06-05,003280,흥아해운,09:52:20,1952.0,1952.0,112.5,1932.48,0.0,2290.0,2065.0,32976325200.0,1922900.0,0.15,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.44352127575320216,0.7588575618154888,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (1,952 >= 112)",1940.0,-0.6147540983606558,0.0,-0.6147540983606558,1940.0,-0.6147540983606558,0.0,-0.6147540983606558,1942.0,-0.5122950819672131,0.0,-0.6147540983606558,1932.0,-1.0245901639344261,0.0,-1.0245901639344261,10:00:45,1930.0,245,SL,-6383.7935,0,1
|
||||
205,2026-06-05,290690,소룩스,10:00:55,4595.0,4595.0,195.0,4549.05,0.0,5350.0,4960.0,13424635680.0,1303919.0,-5.45,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.3491354113731506,0.7819601622060224,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (4,595 >= 195)",4630.0,0.7616974972796519,0.7616974972796519,0.0,4625.0,0.6528835690968444,0.7616974972796519,0.0,4615.0,0.4352557127312296,0.7616974972796519,0.0,4595.0,0.0,0.7616974972796519,0.0,10:13:11,4540.0,104,SL,-6712.394,0,1
|
||||
206,2026-06-05,439960,코스모로보틱스,10:13:20,32350.0,32350.0,3550.0,32026.5,0.0,43750.0,36650.0,97240509800.0,6583783.0,11.36,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.34360924042427765,0.8451523917392261,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (32,350 >= 3,550)",32750.0,1.2364760432766615,1.2364760432766615,0.0,32600.0,0.7727975270479135,1.2364760432766615,0.0,32450.0,0.3091190108191654,1.2364760432766615,0.0,33000.0,2.009273570324575,2.009273570324575,0.0,10:19:48,32000.0,5,SL,-2086.2625,0,1
|
||||
208,2026-06-05,088350,한화생명,10:19:54,4850.0,4850.0,137.5,4801.5,0.0,5050.0,4775.0,26196328000.0,6055425.0,-0.31,중립,52,높음,1,"[""AI/로봇"", ""우주항공"", ""건설/재건축""]","[""반도체"", ""금융""]","[""454910"", ""011070"", ""051910""]",[],0,0.3726991567547378,0.7673860653015449,2026-06-02T18:36:28,0.8,0.24,"목표가 돌파 (4,850 >= 138)",4845.0,-0.10309278350515465,0.0,-0.10309278350515465,4830.0,-0.4123711340206186,0.0,-0.4123711340206186,4825.0,-0.5154639175257731,0.0,-0.5154639175257731,4830.0,-0.4123711340206186,0.0,-0.5154639175257731,11:25:58,4780.0,98,SL,-7844.753,0,1
|
||||
1,2026-06-09,003280,흥아해운,09:20:27,1884.0,1884.0,1868.5,1865.16,1796.0,2110.0,1965.0,18532852710.0,1896824.0,-0.48,중립,58,높음,1,"[""반도체"", ""AI/빅테크"", ""로봇""]","[""건설"", ""금융""]","[""090460"", ""036170""]",[],0,0.5895623059382584,0.7897254275291135,2026-06-08T16:01:30,0.8,0.8,"목표가 돌파 (1,884 >= 1,868)",1903.0,1.0084925690021231,1.0084925690021231,0.0,1911.0,1.4331210191082804,1.4331210191082804,0.0,1889.0,0.2653927813163482,1.4331210191082804,0.0,1905.0,1.1146496815286624,1.4331210191082804,0.0,10:24:47,1864.0,255,SL,-6098.937,0,1
|
||||
2,2026-06-09,010170,대한광통신,09:21:05,19640.0,19640.0,19310.0,19443.6,18060.0,20800.0,18300.0,400882172100.0,6653900.0,18.46,중립,58,높음,1,"[""반도체"", ""AI/빅테크"", ""로봇""]","[""건설"", ""금융""]","[""090460"", ""036170""]",[],0,0.4842664499981124,0.7414840107790897,2026-06-08T16:01:30,0.8,0.8,"목표가 돌파 (19,640 >= 19,310)",19540.0,-0.5091649694501018,0.0,-0.5091649694501018,19860.0,1.120162932790224,1.120162932790224,-0.5091649694501018,19800.0,0.8146639511201629,1.120162932790224,-0.5091649694501018,19330.0,-1.5784114052953158,1.120162932790224,-1.5784114052953158,09:21:25,19430.0,81,SL,-20317.5945,0,1
|
||||
4,2026-06-10,388790,라이콤,09:20:39,8750.0,8750.0,8747.5,8662.5,8170.0,4910.0,3755.0,14816406180.0,2768948.0,15.13,중립,48,높음,1,"[""반도체"", ""광통신"", ""방산""]","[""조선"", ""건설""]","[""005930"", ""000660""]",[],0,0.448541274183742,0.7513088385450986,2026-06-09T16:01:34,0.8,0.8,"목표가 돌파 (8,750 >= 8,748)",8900.0,1.7142857142857144,1.7142857142857144,0.0,8740.0,-0.1142857142857143,1.7142857142857144,-0.1142857142857143,8640.0,-1.2571428571428571,1.7142857142857144,-1.2571428571428571,8710.0,-0.4571428571428572,1.7142857142857144,-1.2571428571428571,09:21:24,8980.0,55,TP2,11614.7075,1,0
|
||||
6,2026-06-10,017900,광전자,09:46:00,9860.0,9860.0,9700.0,9761.4,9040.0,10450.0,9130.0,28967583920.0,2023995.0,7.29,중립,48,높음,1,"[""반도체"", ""광통신"", ""방산""]","[""조선"", ""건설""]","[""005930"", ""000660""]",[],0,0.5465898151140837,0.6943945504744956,2026-06-09T16:01:34,0.8,0.8,"목표가 돌파 (9,860 >= 9,700)",9940.0,0.8113590263691683,0.8113590263691683,0.0,10180.0,3.2454361054766734,3.2454361054766734,0.0,10610.0,7.606490872210954,7.606490872210954,0.0,10530.0,6.7951318458417855,7.606490872210954,0.0,09:48:46,10200.0,49,TP2,15612.919,1,0
|
||||
8,2026-06-10,222080,씨아이에스,10:32:43,10380.0,10380.0,10380.0,10276.2,10030.0,11780.0,11080.0,13659411600.0,493681.0,0.97,중립,48,높음,1,"[""반도체"", ""광통신"", ""방산""]","[""조선"", ""건설""]","[""005930"", ""000660""]",[],0,0.5472823440678635,0.6684702303044338,2026-06-09T16:01:34,0.8,0.8,"목표가 돌파 (10,380 >= 10,380)",10400.0,0.1926782273603083,0.1926782273603083,0.0,10470.0,0.8670520231213872,0.8670520231213872,0.0,10490.0,1.0597302504816954,1.0597302504816954,0.0,10470.0,0.8670520231213872,1.0597302504816954,0.0,11:02:32,10270.0,154,SL,-20263.859,0,1
|
||||
9,2026-06-10,047040,대우건설,11:21:27,21000.0,21000.0,20975.0,20790.0,20150.0,23850.0,22200.0,168768837900.0,3143910.0,-0.24,중립,48,높음,1,"[""전기전자"", ""반도체"", ""광통신""]","[""금융업"", ""철강금속"", ""2차전지""]","[""005930"", ""000660""]",[],0,0.46560294658060114,0.7542593982166793,2026-06-09T16:01:34,0.8,0.33599999999999997,"목표가 돌파 (21,000 >= 20,975)",21050.0,0.2380952380952381,0.2380952380952381,0.0,20975.0,-0.11904761904761905,0.2380952380952381,-0.11904761904761905,20950.0,-0.2380952380952381,0.2380952380952381,-0.2380952380952381,21050.0,0.2380952380952381,0.2380952380952381,-0.2380952380952381,12:41:15,20750.0,31,SL,-9101.9875,0,1
|
||||
10,2026-06-12,279570,케이뱅크,09:20:30,6470.0,6470.0,6450.0,6372.95,6250.0,5900.0,5500.0,14520293750.0,2054198.0,4.02,강세,72,보통,1,"[""반도체"", ""방산"", ""조선"", ""항공""]","[""건설"", ""광통신""]",[],[],0,0.5527329283625976,0.6632574176449582,2026-06-11T16:02:03,1.3,1.3,"목표가 돌파 (6,470 >= 6,450)",6480.0,0.1545595054095827,0.1545595054095827,0.0,6410.0,-0.9273570324574961,0.1545595054095827,-0.9273570324574961,6440.0,-0.46367851622874806,0.1545595054095827,-0.9273570324574961,6410.0,-0.9273570324574961,0.1545595054095827,-0.9273570324574961,09:56:29,6680.0,121,TP2,23716.4235,1,0
|
||||
11,2026-06-12,001740,SK네트웍스,09:20:45,13220.0,13220.0,12785.0,13021.7,12100.0,12270.0,10900.0,100766706800.0,8322389.0,13.28,강세,72,보통,1,"[""반도체"", ""방산"", ""조선"", ""항공""]","[""건설"", ""광통신""]",[],[],0,0.606595436105498,0.6944608641373307,2026-06-11T16:02:03,1.3,1.3,"목표가 돌파 (13,220 >= 12,785)",13240.0,0.15128593040847202,0.15128593040847202,0.0,13130.0,-0.680786686838124,0.15128593040847202,-0.680786686838124,13320.0,0.7564296520423601,0.7564296520423601,-0.680786686838124,13370.0,1.13464447806354,1.13464447806354,-0.680786686838124,09:28:07,13590.0,59,TP2,20149.4735,1,0
|
||||
13,2026-06-12,028670,팬오션,09:28:49,5310.0,5310.0,5290.0,5230.35,5180.0,5170.0,4950.0,11425592320.0,718062.0,6.31,강세,72,보통,1,"[""반도체"", ""방산"", ""조선"", ""항공""]","[""건설"", ""광통신""]",[],[],0,0.4769262690888751,0.6867203151088846,2026-06-11T16:02:03,1.3,1.3,"목표가 돌파 (5,310 >= 5,290)",5320.0,0.18832391713747645,0.18832391713747645,0.0,5290.0,-0.3766478342749529,0.18832391713747645,-0.3766478342749529,5290.0,-0.3766478342749529,0.18832391713747645,-0.3766478342749529,5250.0,-1.1299435028248588,0.18832391713747645,-1.1299435028248588,09:39:11,5230.0,489,SL,-44496.555,0,1
|
||||
14,2026-06-12,038500,삼표시멘트,09:39:31,12340.0,12340.0,12060.0,12154.9,11760.0,10500.0,9900.0,19350995120.0,723410.0,5.56,강세,72,보통,1,"[""반도체"", ""방산"", ""조선"", ""항공""]","[""건설"", ""광통신""]",[],[],0,0.6221551391896822,0.6631901016211622,2026-06-11T16:02:03,1.3,0.9099999999999999,"목표가 돌파 (12,340 >= 12,060)",12260.0,-0.6482982171799028,0.0,-0.6482982171799028,12230.0,-0.8914100486223663,0.0,-0.8914100486223663,12210.0,-1.053484602917342,0.0,-1.053484602917342,12270.0,-0.5672609400324149,0.0,-1.053484602917342,09:44:40,12140.0,147,SL,-33152.028,0,1
|
||||
16,2026-06-12,085620,미래에셋생명,12:29:49,30750.0,30750.0,30545.0,30288.75,27400.0,24200.0,17910.0,135360240730.0,4432039.0,4.77,강세,72,보통,1,"[""금융업"", ""전기전자"", ""유통업"", ""의약품""]","[""운수창고"", ""건설업""]",[],[],0,0.4703866335841655,0.7848740490945602,2026-06-11T16:02:03,1.3,1.4300000000000002,"목표가 돌파 (30,750 >= 30,545)",30400.0,-1.1382113821138211,0.0,-1.1382113821138211,30325.0,-1.3821138211382114,0.0,-1.3821138211382114,30150.0,-1.951219512195122,0.0,-1.951219512195122,30250.0,-1.6260162601626018,0.0,-1.951219512195122,12:31:36,30150.0,93,SL,-61696.665,0,1
|
||||
|
||||
|
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"created_at": "2026-06-06T12:35:25",
|
||||
"created_at": "2026-06-12T16:01:42",
|
||||
"input_files": [
|
||||
"data\\training_dataset.csv",
|
||||
"data\\external_training_dataset.csv"
|
||||
@@ -25,22 +25,22 @@
|
||||
],
|
||||
"targets": {
|
||||
"label_stop_loss": {
|
||||
"rows": 5786,
|
||||
"train_rows": 4339,
|
||||
"test_rows": 1447,
|
||||
"positive_rows": 1241,
|
||||
"accuracy": 0.7988942639944713,
|
||||
"precision": 0.5189620758483033,
|
||||
"roc_auc": 0.8921085482452407
|
||||
"rows": 16885,
|
||||
"train_rows": 12663,
|
||||
"test_rows": 4222,
|
||||
"positive_rows": 3469,
|
||||
"accuracy": 0.7524869729985789,
|
||||
"precision": 0.4453316953316953,
|
||||
"roc_auc": 0.855688199712251
|
||||
},
|
||||
"label_win": {
|
||||
"rows": 5786,
|
||||
"train_rows": 4339,
|
||||
"test_rows": 1447,
|
||||
"positive_rows": 2188,
|
||||
"accuracy": 0.635798203178991,
|
||||
"precision": 0.511520737327189,
|
||||
"roc_auc": 0.7276183221612837
|
||||
"rows": 16885,
|
||||
"train_rows": 12663,
|
||||
"test_rows": 4222,
|
||||
"positive_rows": 7093,
|
||||
"accuracy": 0.6271909047844624,
|
||||
"precision": 0.5365230094959824,
|
||||
"roc_auc": 0.704072786104295
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
# 일간 결산 — 2026-06-08
|
||||
|
||||
## 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|------|-----|
|
||||
| 총 거래 | 0회 |
|
||||
| 승/패 | 0승 / 0패 |
|
||||
| 승률 | — |
|
||||
| 순손익 | **0원** |
|
||||
| 수수료 | 0원 |
|
||||
| FORCE 청산 | 0건 |
|
||||
|
||||
**완전 무진입일** — KOSPI -6% 폭락 환경에서 전 종목 목표가 미달성, 시스템이 진입을 자제함.
|
||||
|
||||
---
|
||||
|
||||
## 청산 사유 분포
|
||||
|
||||
없음.
|
||||
|
||||
---
|
||||
|
||||
## 오늘 시장 상황
|
||||
|
||||
midday_context.json (11:20 생성) 기준:
|
||||
|
||||
- **KOSPI -6% 급락**: 인버스 ETF가 거래량 1~3위 석권
|
||||
- **전 업종 급락**: 피해야 할 섹터에 반도체·전기전자·의약품·철강금속 등 6개 섹터 포함
|
||||
- **Hot sector**: 운수창고 (하락장 방어 성격)
|
||||
- **점심 세션 진입 중단**: lunch_trade_allowed=False, 배율 ×0.3
|
||||
|
||||
---
|
||||
|
||||
## 신호 진단
|
||||
|
||||
09:30~10:55 전체 구간 (`신호진단` 로그 기준):
|
||||
|
||||
- 유니버스 21종목 **전 종목 "목표가없음"**
|
||||
- 변동성 돌파 전략은 전일 고가 기반 목표가 돌파를 조건으로 삼음
|
||||
- KOSPI -6% 하락장에서는 대부분 종목이 갭다운 후 목표가 아래에서만 거래 → 유효 신호 없음
|
||||
- **전략이 의도대로 작동한 결과**: 롱 진입 신호 없음 = 손실 없음
|
||||
|
||||
---
|
||||
|
||||
## 과매매 평가
|
||||
|
||||
- 0회 거래 — 과매매 없음
|
||||
- 06-05의 SL cascade 12건 (-100,737원) 이후 이틀 연속 무진입
|
||||
- 오늘은 시장 조건 때문에 자연스럽게 무진입, 06-04는 AI trade_allowed=false 설정
|
||||
|
||||
---
|
||||
|
||||
## AI 필터
|
||||
|
||||
- midday_context가 하락장 진단 후 lunch_trade_allowed=False 정확히 설정
|
||||
- 오전 신호 자체가 없어 AI 필터 개입 불필요
|
||||
- 06-05 SL cascade 12건 직후 이틀 무진입 — 시스템 측면에서 자기보호적 결과
|
||||
|
||||
---
|
||||
|
||||
## 실행 품질
|
||||
|
||||
| 항목 | 상태 |
|
||||
|------|------|
|
||||
| 봇 기동 | 정상 (09:30 신호진단 시작) |
|
||||
| midday_context 로드 | 정상 (11:20, 위험 판단 반영) |
|
||||
| 강제 청산 (14:50) | 정상 완료 (포지션 없음) |
|
||||
| 결산 (15:10) | 정상 완료 |
|
||||
| 중복 결산 방지 | 정상 동작 (`결산 이미 처리됨: 2026-06-08`) |
|
||||
|
||||
---
|
||||
|
||||
## 30일 누적 현황
|
||||
|
||||
| 지표 | 값 | 기준 | 통과 |
|
||||
|------|-----|------|------|
|
||||
| 운영 거래일 | 13일 | 30일 이상 | ✗ |
|
||||
| 30일 승률 | 41.1% | >48% | ✗ |
|
||||
| MDD | -10.7% | >-10% | ✗ |
|
||||
| Sharpe | -18.34 | >1.0 | ✗ |
|
||||
| L3 발생 | 0회 | ≤2회 | ✓ |
|
||||
|
||||
오늘 0거래이므로 30일 누적 지표 변동 없음.
|
||||
|
||||
---
|
||||
|
||||
## 실거래 준비도
|
||||
|
||||
**전 항목 미통과 — 실거래 전환 불가.**
|
||||
|
||||
- 운영 기간: 13/30일 (43%)
|
||||
- Sharpe -18.34: 연속 소손실 구조 근본 개선 없이는 해소 불가
|
||||
- 승률 41.1%: 기준 48% 대비 7% 부족
|
||||
|
||||
---
|
||||
|
||||
## 오늘 특이사항
|
||||
|
||||
1. **KOSPI -6% 급락**: 역대급 하락 환경에서 전략이 자동으로 무진입 처리 — 올바른 동작
|
||||
2. **06-05 SL cascade 12건 이후 두 번째 무진입**: 연속 무진입이 반드시 나쁜 신호는 아님, 시장이 진입 불가 조건일 때는 쉬는 것이 정상
|
||||
3. **SL cascade 차단 룰 (06-06 적용)**: 오늘은 진입 자체가 없어 cascade 발동 조건 미달 — 작동 검증 기회 없음
|
||||
4. **봇 이중 실행 방지**: lock 파일 정상 유지, 중복 프로세스 없음
|
||||
|
||||
---
|
||||
|
||||
## 다음 검토 포인트
|
||||
|
||||
1. **목표가 계산 개선 가능성 검토**: 하락장에서도 일부 반등 종목은 목표가 형성 — 현재 전략은 이를 포착하지 못함 (단, 하락장 롱은 위험하므로 신중)
|
||||
2. **06-05 SL cascade 차단 룰 (threshold=5)**: 다음 활성 거래일에 정상 발동 여부 관찰 필요
|
||||
3. **06-02 제안 (TP2_PCT 2.5%→3.5%)**: 미적용 상태, 검토 대기 중
|
||||
4. **13거래일 승률 41.1%**: 통계 신뢰 기준(30일)까지 17거래일 부족
|
||||
@@ -0,0 +1,94 @@
|
||||
# 일일 결산 — 2026-06-09
|
||||
|
||||
## 시장 요약
|
||||
|
||||
어제(6월 8일) KOSPI -6% 급락 이후 오늘 V자 반등. KOSPI +3.5%, SK하이닉스 레버리지 +15% 이상(젠슨황 방한 모멘텀 실현). 오전 예측과 달리 건설·금융이 반등 주도. 인버스 ETF 대규모 청산 확인. 변동성이 여전히 높은 날이었음.
|
||||
|
||||
- 리스크 레벨(오전): 높음 / 감성 점수: 58 / 포지션 배수: 0.8x → 점심 0.7x
|
||||
- 오전 피해야 할 섹터: 건설, 금융
|
||||
- 점심 피해야 할 섹터 변경: 기계, 운수창고, 2차전지
|
||||
|
||||
---
|
||||
|
||||
## 거래 결과
|
||||
|
||||
| 종목 | 진입 시간 | 청산 시간 | 진입가 | 청산가 | 수량 | 청산 이유 | 순손익 | 수수료 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| 흥아해운(003280) | 09:20:20 | 09:34:51 | 1,884 | 1,923 | 594 | TP1 | +20,771원 | 2,395원 |
|
||||
| 흥아해운(003280) | 09:20:20 | 10:24:47 | 1,884 | 1,864 | 255 | SL | -6,099원 | 999원 |
|
||||
| 대한광통신(010170) | 09:21:04 | 09:21:25 | 19,640 | 19,430 | 81 | SL | -20,318원 | 3,308원 |
|
||||
|
||||
### 집계
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 3건 |
|
||||
| 승/패 | 1승 2패 |
|
||||
| 승률 | 33.3% |
|
||||
| 순손익 | **-5,646원** |
|
||||
| 총 수수료 | 6,702원 |
|
||||
| 청산 분포 | SL 2 / TP1 1 / TIME 0 / FORCE 0 |
|
||||
| AI 부스트 진입 | 0건 |
|
||||
|
||||
---
|
||||
|
||||
## 분석
|
||||
|
||||
### 1. 거래 품질
|
||||
|
||||
**흥아해운 분할 매매**: 동일 진입 시간(09:20:20)에 255주(SL 로트)와 594주(TP1 로트) 두 건이 기록됨 — 분할 진입 메커니즘이 동작한 것으로 추정. TP1 로트(+20,771원)가 SL 로트(-6,099원)를 만회해 종목 기준 +14,672원 순익. 어제 급락 이후 반등 수혜 정상 포착.
|
||||
|
||||
**대한광통신 즉시 SL (21초)**: 09:21:04 진입 → 09:21:25 청산(21초). 진입가 19,640 → 청산가 19,430, -1.07% 급하락. 손실 -20,318원으로 오늘 최대 단일 손실. 어제 급락 후 갭 복구 시도 중 진입했을 가능성이 높으며, 변동성이 큰 날 가격 확인 전 진입의 위험성을 보여주는 사례. 단일 사례이므로 전략 변경 근거로는 부족하나 지속 모니터링 필요.
|
||||
|
||||
### 2. 오버트레이딩
|
||||
|
||||
3건은 과하지 않음. 단, SL 2건 중 대한광통신이 21초 만에 청산된 것은 진입 조건 재검토 신호.
|
||||
|
||||
### 3. AI 필터
|
||||
|
||||
- 오전 부스트 티커: 090460, 036170 → 실제 진입 종목과 불일치 (두 종목 모두 진입 없음)
|
||||
- 전체 거래 ai_boosted = 0 → AI 필터가 오늘 진입 결정에 기여하지 않음
|
||||
- 모델 관찰용으로 운용 중이므로 정상 동작
|
||||
|
||||
### 4. 청산 품질
|
||||
|
||||
- FORCE 청산 0건 — 포지션이 장 마감 전 모두 정리됨. 양호.
|
||||
- 14:00 이후 진입 차단 로그 정상 동작 확인.
|
||||
|
||||
### 5. 시스템 이슈
|
||||
|
||||
- **15:10 봇 재시작 감지(수정 완료)**: 로그에서 결산(15:10:01) 직후 watchdog이 종료된 봇을 재시작함(15:10:04). 이후 KIS API "초당 거래건수 초과" 오류 발생. 원인은 watchdog 감시 조건이 `15:10`을 포함한 것이며, `scripts/_watchdog.py`, `scripts/run_watchdog.ps1`, `scripts/setup_scheduler.ps1`을 수정해 watchdog을 09:00-15:05로 제한했다.
|
||||
- **점심 섹터 변경**: 오전 어보이드(건설, 금융) → 점심 어보이드(기계, 운수창고, 2차전지). 흥아해운(해운업/운수창고)은 오전 진입이므로 룰 위반 없음. 그러나 점심 이후 해당 종목 재진입 시 차단이 정상 작동했는지 확인 필요.
|
||||
|
||||
---
|
||||
|
||||
## 전략 제안
|
||||
|
||||
오늘 하루 3건, 단일 사례 부족으로 전략 파라미터 변경 근거 없음. 모니터링 포인트:
|
||||
|
||||
- 고변동성 장(전일 급락 이후)에서 즉시 SL 패턴 축적 시 진입 조건 강화 검토
|
||||
- 점심 섹터 어보이드 동적 변경과 기존 포지션 관계 정리
|
||||
|
||||
→ 현시점 별도 제안서 작성 없음.
|
||||
|
||||
---
|
||||
|
||||
## 라이브 현금 준비도
|
||||
|
||||
| 항목 | 기준 | 현재 | 결과 |
|
||||
|---|---|---|---|
|
||||
| 누적 운영 거래일 | 30일 이상 | 1일 | FAIL |
|
||||
| 승률(30일) | > 48% | 33.3% | FAIL |
|
||||
| MDD | > -10% | -0.1% | PASS |
|
||||
| 샤프 비율 | > 1.0 | 0.00 | FAIL |
|
||||
| L3 월 발동 | ≤ 2회 | 0회 | PASS |
|
||||
|
||||
**라이브 준비 미충족** — 데이터 축적 단계.
|
||||
|
||||
---
|
||||
|
||||
## 다음 체크 포인트
|
||||
|
||||
- 대한광통신 형태(고변동성 즉시 SL) 재발 시 진입 슬리피지/변동성 필터 강화 검토
|
||||
- 2026-06-10 15:10에 watchdog이 결산 직후 봇을 재시작하지 않는지 확인
|
||||
- KIS API 초당 거래건수 초과 오류 빈도 모니터링
|
||||
@@ -0,0 +1,124 @@
|
||||
# 일일 결산 — 2026-06-10
|
||||
|
||||
## 핵심 지표
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 6건 (2 티커) |
|
||||
| 승/패 | 4승 2패 |
|
||||
| 승률 | 66.7% |
|
||||
| 순손익 | **+45,606원** |
|
||||
| 수수료 | 11,534원 |
|
||||
| 총손익(수수료 전) | +57,140원 |
|
||||
|
||||
## 청산 사유 분포
|
||||
|
||||
| 사유 | 건수 | 비율 |
|
||||
|---|---|---|
|
||||
| TP2 | 2 | 33.3% |
|
||||
| TP1 | 2 | 33.3% |
|
||||
| SL | 2 | 33.3% |
|
||||
| TIME | 0 | — |
|
||||
| FORCE | 0 | — |
|
||||
|
||||
TP 청산 비율 66.7%, FORCE/TIME 0%. 강제청산 없이 깔끔하게 마감.
|
||||
|
||||
## 거래 내역
|
||||
|
||||
### 라이콤 (388790) — +34,632원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TP1 | 09:20:31 | 09:21:05 (34초) | 8,750 → 8,950 | 127주 | +23,017원 |
|
||||
| TP2 | 09:20:31 | 09:21:24 (53초) | 8,750 → 8,980 | 55주 | +11,615원 |
|
||||
|
||||
- 장 시작 20분 만에 진입, 1분 이내 TP1·TP2 모두 도달. 완벽 실행.
|
||||
- AI 부스트 없음. 전략 자체 신호만으로 진입.
|
||||
|
||||
### 광전자 (017900) — +40,340원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TP1 | 09:46:00 | 09:48:30 (2분 30초) | 9,860 → 10,100 | 113주 | +24,727원 |
|
||||
| TP2 | 09:46:00 | 09:48:46 (2분 46초) | 9,860 → 10,200 | 49주 | +15,613원 |
|
||||
|
||||
- 2분 46초 만에 TP2 청산. 빠른 돌파 종목.
|
||||
- AI 부스트 없음.
|
||||
|
||||
### 씨아이에스 (222080) — -20,264원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| SL | 10:32:43 | 11:02:32 (30분) | 10,380 → 10,270 | 154주 | -20,264원 |
|
||||
|
||||
- 진입 후 30분 버티다가 SL 발동. -1.06% 손실.
|
||||
- 오후 신호 진단에서 SL 재진입 차단 정상 동작 확인.
|
||||
|
||||
### 대우건설 (047040) — -9,102원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| SL | 11:21:27 | 12:41:15 (80분) | 21,000 → 20,750 | 31주 | -9,102원 |
|
||||
|
||||
- MAX_HOLD_MIN=90 내에 SL 발동. -1.19% 손실.
|
||||
- 수량(31주)이 소량으로, 손실 영향이 제한적.
|
||||
- 오후 신호 진단에서 SL 재진입 차단 정상 동작 확인.
|
||||
|
||||
## 과매매 점검
|
||||
|
||||
- 6건 / 2 티커 — 정상 범위.
|
||||
- 동일 티커 2회(TP1+TP2 분할) 진입은 전략 설계에 따른 것으로 과매매 아님.
|
||||
- 연속 SL: 씨아이에스(10:32) → 대우건설(11:21). 연속 2회지만 L3-B 발동 수준은 아님.
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 오늘 전 거래 `ai_boosted = 0`. AI 모델은 관찰 모드만.
|
||||
- 학습 데이터는 아직 대부분 외부 분봉 기반 후보 행이며, 실제 봇 거래 표본은 부족해 AI 판단 의존은 아직 부적절.
|
||||
- 오후 신호 진단: 목표가 미달 종목 다수, SL 차단 2종, TP 재진입 차단 2종 — 필터링 정상.
|
||||
|
||||
## 실행 품질
|
||||
|
||||
- 제로 가격 행 없음, 가격 불일치 없음.
|
||||
- 라이콤/광전자 진입 후 초단시간 TP 달성 — 변동성 돌파 로직 정상.
|
||||
- KIS 율한도 초과 경고가 장중 여러 차례 발생: `ENTRY price retry 1/4` 로그 확인.
|
||||
- retry 후 정상 재개. 치명적 장애 아님.
|
||||
- 장 마감 후 KISClient 기본 조회 간격 확대 및 rate-limit 전역 쿨다운 추가.
|
||||
- 14:00 이후 ENTRY 차단 정상 동작 확인.
|
||||
- 14:50 강제 청산 시작 → 완료 정상 (미청산 포지션 없음).
|
||||
- 결산 중복 처리 방어 정상: `결산 이미 처리됨: 2026-06-10` 로그 확인.
|
||||
|
||||
## 운영 이슈
|
||||
|
||||
### KIS 율한도 초과 (경미)
|
||||
- 가격 조회 시 `초당 거래건수를 초과하였습니다`가 여러 차례 발생.
|
||||
- 현행 retry 로직으로 자동 복구됨.
|
||||
- 오후 감시 루프에서 다수 종목 순차 조회 시 빈도 집중 가능성.
|
||||
- 2026-06-10 장 마감 후 `app/execution/kis_client.py`에서 기본 조회 간격을 보수화하고 rate-limit 응답 후 전역 쿨다운을 추가함.
|
||||
|
||||
## 30일 누적 지표 (2거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 판정 |
|
||||
|---|---|---|---|
|
||||
| 누적 운영일 | 2일 | 30일 | FAIL |
|
||||
| 승률 | 55.6% | >48% | PASS |
|
||||
| MDD | -0.1% | >-10% | PASS |
|
||||
| Sharpe | 12.38 | >1.0 | PASS |
|
||||
| L3 발동 | 0회 | ≤2/월 | PASS |
|
||||
|
||||
**라이브 준비: 미완료** — 운영 일수 부족 (2/30일).
|
||||
|
||||
## 전략 제안
|
||||
|
||||
오늘 결과로는 전략 변경 근거 없음.
|
||||
|
||||
- TP1/TP2 분할 청산 구조가 오전 두 거래에서 최대 수익 포착.
|
||||
- SL 2건은 모두 정상 범위 내 발동. 손실 과다 없음.
|
||||
- 샘플 수 부족(누적 9거래)으로 파라미터 최적화 시도는 시기상조.
|
||||
|
||||
별도 제안서 미작성.
|
||||
|
||||
## 다음 체크사항
|
||||
|
||||
- 2026-06-11에 KIS 율한도 초과 빈도가 줄었는지 확인.
|
||||
- 대우건설 80분 보유 후 SL: `MAX_HOLD_MIN=90` 경계에 근접. 현행 유지.
|
||||
- 운영 데이터 누적 지속. 30거래일 도달 시 라이브 준비 재점검.
|
||||
@@ -0,0 +1,108 @@
|
||||
# 일일 결산 — 2026-06-11
|
||||
|
||||
## 핵심 지표
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 0건 |
|
||||
| 승/패 | — |
|
||||
| 승률 | — |
|
||||
| 순손익 | **0원** |
|
||||
| 수수료 | 0원 |
|
||||
|
||||
완전 무진입일. 6월 들어 두 번째 무진입 (6/8에 이어).
|
||||
|
||||
## 무진입 원인
|
||||
|
||||
### 1. AI 블랙리스트 — 매크로 쇼크 차단
|
||||
|
||||
오전 9:27부터 감시 로그 전반에서 다음 사유로 거래 차단:
|
||||
|
||||
> **미·이란 군사충돌 발발 + 미 CPI 4.2%(37개월 최대) + 코스피 변동성 쇼크**
|
||||
|
||||
차단 적용 종목 (로그 확인):
|
||||
|
||||
| 종목 | 설명 |
|
||||
|---|---|
|
||||
| 이수화학 (005950) | 9:27부터 종일 차단. 장중 13,540–13,950, 목표가 13,060 상회했으나 블랙리스트로 진입 불가 |
|
||||
| 대한광통신 (010170) | 간헐적 차단 — 9:27, 9:32 등. 일부 시간대에 차단 해제 후 재차단 반복 |
|
||||
| 디아이씨 (092200) | 9:32, 10:35 등 반복 차단 |
|
||||
| 에치에프알 (230240) | 10:35에 단회 차단 후 해제 |
|
||||
|
||||
**이수화학 특이사항:** 목표가(13,060)보다 현재가(13,540–13,950)가 높았음에도 AI 블랙리스트가 진입을 차단했다. 변동성 쇼크 국면에서 역방향 급락 리스크를 선제 차단한 것으로 판단 — 올바른 동작.
|
||||
|
||||
### 2. 전종목 목표가 미달
|
||||
|
||||
AI 블랙리스트 미적용 종목들도 전부 목표가에 미달. 특히 근접 미달 사례:
|
||||
|
||||
| 종목 | 현재가(최고) | 목표가 | 도달률 |
|
||||
|---|---|---|---|
|
||||
| HPSP (403870) | 54,600 | 54,725 | 99.8% |
|
||||
| 에치에프알 (230240) | 24,600 | 25,025 | 98.3% |
|
||||
| 신성이엔지 (011930) | 20,200 | 20,640 | 97.9% |
|
||||
| SK증권 (001510) | 2,840 | 2,848 | 99.7% |
|
||||
| 삼성중공업 (010140) | 25,200 | 26,050 | 96.7% |
|
||||
|
||||
변동성이 전반적으로 낮아 돌파 신호 발생 조건이 충족되지 않은 날.
|
||||
|
||||
### 3. 점심 세션 진입 중단
|
||||
|
||||
11:20 `midday_context.json` 로드 후 `진입허용: False` 설정 확인. 포지션 배율 ×0.5 설정도 정상 적용. (오전에 이미 진입이 없었으므로 실질적 영향은 없음.)
|
||||
|
||||
## 청산 사유 분포
|
||||
|
||||
거래 없음 — 해당 없음.
|
||||
|
||||
## 과매매 점검
|
||||
|
||||
거래 없음. 연속 SL 없음. L3-B 미발동.
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 블랙리스트 차단이 매크로 고위험 날에 전종목 적용되어 보호 역할 수행.
|
||||
- 이수화학처럼 목표가를 상회한 종목도 블랙리스트로 차단 — 단기 과잉 차단의 가능성은 있으나 변동성 쇼크 국면에서는 보수적 판단이 타당.
|
||||
- AI 모델 관찰 모드 유지 (실거래 표본 9건으로 신뢰도 부족).
|
||||
|
||||
## 실행 품질
|
||||
|
||||
- 봇 정상 가동 확인 (9:27 첫 신호 진단 로그 ~ 15:10 결산 로그).
|
||||
- 14:50 강제 청산 실행: 포지션 없어 무처리 정상.
|
||||
- 15:10 결산: 0건 / 0원 정상 출력.
|
||||
- 결산 중복 방어: `결산 이미 처리됨: 2026-06-11` 정상 동작.
|
||||
- 전날 체크사항(KIS 율한도 초과 빈도): 오늘 거래 없어 직접 확인 불가. 다음 유의미한 거래일에 재확인 필요.
|
||||
|
||||
## 시장 컨텍스트
|
||||
|
||||
| 이슈 | 내용 |
|
||||
|---|---|
|
||||
| 지정학 | 미·이란 군사충돌 발발 |
|
||||
| 인플레이션 | 미 CPI 4.2% — 37개월 최대 |
|
||||
| 증시 | 코스피 변동성 쇼크 |
|
||||
|
||||
이 조합은 단기 방향성 불확실성이 매우 높은 국면으로, 모멘텀 돌파 전략이 작동하기 어려운 환경. 목표가 미달 + AI 블랙리스트 이중 방어가 정상 작동했고, 자본 손실 없이 하루를 넘긴 것은 전략적으로 올바른 결과.
|
||||
|
||||
## 30일 누적 지표 (3거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 판정 |
|
||||
|---|---|---|---|
|
||||
| 누적 운영일 | 3일 | 30일 | FAIL |
|
||||
| 승률 | 55.6% | >48% | PASS |
|
||||
| MDD | -0.1% | >-10% | PASS |
|
||||
| Sharpe | 9.22 | >1.0 | PASS |
|
||||
| L3 발동 | 0회 | ≤2/월 | PASS |
|
||||
|
||||
**라이브 준비: 미완료** — 운영 일수 부족 (3/30일).
|
||||
|
||||
## 전략 제안
|
||||
|
||||
전략 변경 근거 없음. 제안서 미작성.
|
||||
|
||||
- 무진입일 자체는 전략 결함이 아님. 고변동성 날에 자본 보전이 기본 방어 목표.
|
||||
- 목표가 근접 미달 패턴(99.7–96.7% 도달)은 관찰이 필요하나 표본 1일로 판단 불가.
|
||||
- 누적 실거래 9건 — 어떤 파라미터 변경도 근거 불충분.
|
||||
|
||||
## 다음 체크사항
|
||||
|
||||
- 다음 거래일에 KIS 율한도 초과 빈도 재확인 (6/10 픽스 이후 첫 유의미한 거래일).
|
||||
- 미·이란 / 미 CPI 이슈가 지속될 경우 AI 블랙리스트가 며칠 연속 전종목 차단할 수 있음 — 단순 무진입과 구분하여 모니터링.
|
||||
- 운영 데이터 누적 지속. 30거래일 도달 시 라이브 준비 재점검.
|
||||
@@ -0,0 +1,150 @@
|
||||
# 일일 결산 — 2026-06-12
|
||||
|
||||
## 핵심 지표
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 7건 (5 티커) |
|
||||
| 승/패 | 4승 3패 |
|
||||
| 승률 | 57.1% |
|
||||
| 순손익 | **-25,678원** |
|
||||
| 수수료 | 26,158원 |
|
||||
| 총손익(수수료 전) | +482원 |
|
||||
|
||||
## 청산 사유 분포
|
||||
|
||||
| 사유 | 건수 | 비율 |
|
||||
|---|---|---|
|
||||
| TP2 | 2 | 28.6% |
|
||||
| TP1 | 2 | 28.6% |
|
||||
| SL | 3 | 42.9% |
|
||||
| TIME | 0 | — |
|
||||
| FORCE | 0 | — |
|
||||
|
||||
TP 청산 비율 57.1%, SL 비율 42.9%. 강제청산 없음.
|
||||
|
||||
## 거래 내역
|
||||
|
||||
### 케이뱅크 (279570) — +59,035원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TP1 | 09:20:23 | 09:55:58 (35분) | 6,470 → 6,610 | 280주 | +35,319원 |
|
||||
| TP2 | 09:20:23 | 09:56:29 (36분) | 6,470 → 6,680 | 121주 | +23,716원 |
|
||||
|
||||
- TP1·TP2 모두 정상 달성. 35분 보유.
|
||||
- AI 부스트 없음.
|
||||
|
||||
### SK네트웍스 (001740) — +54,631원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TP1 | 09:20:45 | 09:27:13 (6분) | 13,220 → 13,500 | 137주 | +34,482원 |
|
||||
| TP2 | 09:20:45 | 09:28:07 (7분) | 13,220 → 13,590 | 59주 | +20,149원 |
|
||||
|
||||
- 7분 만에 TP1·TP2 완료. 오전 단기 돌파 최적 실행.
|
||||
- AI 부스트 없음.
|
||||
|
||||
### 팬오션 (028670) — -44,497원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| SL | 09:28:48 | 09:39:11 (10분) | 5,310 → 5,230 | 489주 | -44,497원 |
|
||||
|
||||
- 진입 10분 후 SL. -1.51% 하락.
|
||||
- 489주 대량 포지션 → 손실 규모 확대.
|
||||
|
||||
### 삼표시멘트 (038500) — -33,152원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| SL | 09:39:31 | 09:44:40 (5분) | 12,340 → 12,140 | 147주 | -33,152원 |
|
||||
|
||||
- 팬오션 SL 직후 연속 진입, 5분 만에 SL. -1.62% 하락.
|
||||
- 연속 SL 2번째 (L3-B 미발동, 임계값 미도달).
|
||||
|
||||
### 미래에셋생명 (085620) — -61,697원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| SL | 12:29:48 | 12:31:36 (2분) | 30,750 → 30,150 | 93주 | -61,697원 |
|
||||
|
||||
- **오늘 최대 단일 손실.** 점심 시간대 진입, 2분 만에 SL 발동.
|
||||
- 진입 60초 시점 mae=-1.14%로 이미 빠르게 하락.
|
||||
- 주가 단기 낙폭(-1.95%)이 크고 SL이 즉각 발동.
|
||||
- 93주 × 30,750원 ≈ 285만원 포지션 대비 손실 2.16% 실효.
|
||||
|
||||
## 과매매 점검
|
||||
|
||||
- 7건 / 5 티커 — 동일 티커 TP1+TP2 분할 포함 시 5회 진입. 정상 범위.
|
||||
- 연속 SL: 팬오션(09:39) → 삼표시멘트(09:44) → 미래에셋생명(12:31). 총 3회지만
|
||||
SL_CASCADE_HALT_THRESHOLD=5 (60분 내) 미도달.
|
||||
- 14:00 이후 ENTRY 차단 정상. 신규 진입 없음.
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 전 거래 `ai_boosted = 0`. AI 모델 관찰 전용 모드 유지.
|
||||
- 오후 신호 진단: 팬오션·삼표시멘트·미래에셋생명 SL차단 정상 작동.
|
||||
케이뱅크·SK네트웍스 TP 당일 재진입 차단 정상 작동.
|
||||
- 블랙리스트/부스트 기능이 오늘 거래에 영향 없음.
|
||||
|
||||
## 실행 품질
|
||||
|
||||
- 제로 가격 행 없음. 가격 불일치 없음.
|
||||
- 오전 두 티커(케이뱅크·SK네트웍스) TP1+TP2 완전 청산 — 변동성 돌파 로직 정상.
|
||||
- 14:50 강제 청산 실행 → 미청산 포지션 없음.
|
||||
- 결산 중복 처리 방어 정상: `결산 이미 처리됨: 2026-06-12` 로그 확인.
|
||||
|
||||
## 손익비 분석
|
||||
|
||||
| 구분 | 건수 | 합산 손익 | 건당 평균 |
|
||||
|---|---|---|---|
|
||||
| 승리 (TP) | 4 | +113,666원 | +28,417원 |
|
||||
| 패배 (SL) | 3 | -139,346원 | -46,449원 |
|
||||
|
||||
- 오늘 손익비(R:R) ≈ 0.61. 승률 57.1%에도 불구하고 순손실 발생.
|
||||
- 미래에셋생명 1건(-61,697원)이 전체 수익(+113,666원)의 54%에 달하는 손실.
|
||||
- 팬오션 대량 포지션(489주)도 손실 기여.
|
||||
|
||||
## 운영 이슈 분석
|
||||
|
||||
### 점심 시간대 단기 SL (미래에셋생명)
|
||||
- 12:29 진입은 미드데이 컨텍스트 로드 이후 구간.
|
||||
- Post-entry t=60s mae=-1.14%, t=180s mae=-1.38% — 진입 즉시 역방향 이동.
|
||||
- 점심 시간대는 거래량이 줄어 단기 변동성이 높아질 수 있음.
|
||||
- **관찰 사항**: 12:00~14:00 구간 진입 시 SL 발생 빈도 지속 모니터링 권장.
|
||||
현재 샘플(16거래) 부족으로 파라미터 변경 근거 없음.
|
||||
|
||||
### 연속 SL 패턴
|
||||
- 팬오션(09:39) → 삼표시멘트(09:44): 5분 간격 연속 SL.
|
||||
- 두 번째 SL 발동 후에도 신규 진입이 이루어짐 (미래에셋생명 12:29).
|
||||
- L3-B 발동 기준(연속 3회 이상)에 아직 미도달. 현행 유지.
|
||||
|
||||
## 30일 누적 지표 (4거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 판정 |
|
||||
|---|---|---|---|
|
||||
| 누적 운영일 | 4일 | 30일 | FAIL |
|
||||
| 승률 | 56.2% | >48% | PASS |
|
||||
| MDD | -0.3% | >-10% | PASS |
|
||||
| Sharpe | 2.17 | >1.0 | PASS |
|
||||
| L3 발동 | 0회 | ≤2/월 | PASS |
|
||||
|
||||
**라이브 준비: 미완료** — 운영 일수 부족 (4/30일). 나머지 4개 지표 모두 기준 충족.
|
||||
|
||||
## 전략 제안
|
||||
|
||||
오늘 결과로는 전략 변경 근거 없음.
|
||||
|
||||
- 오전 모멘텀 두 거래(케이뱅크·SK네트웍스) 완벽 실행. 전략 핵심 로직 정상.
|
||||
- SL 3건은 모두 정상 발동. 개별 손실이 크지만 리스크 제어 기전 작동.
|
||||
- 미래에셋생명 점심 시간대 신속 SL은 개별 이벤트로 판단. 반복 시 `ENTRY_END_MORNING` 적용 검토 가능하나 현재 샘플 1건으로 근거 불충분.
|
||||
- 팬오션 대량 포지션(489주)이 손실을 키운 점: 포지션 사이징 파라미터 검토 가능하나 역시 누적 데이터 필요.
|
||||
|
||||
별도 제안서 미작성.
|
||||
|
||||
## 다음 체크사항
|
||||
|
||||
- 점심 시간대(12:00~14:00) SL 비율을 향후 데이터 누적 후 확인.
|
||||
- 연속 SL 이후 익일 첫 진입에서 L3-B 승수가 정상 적용되는지 확인.
|
||||
- 운영 데이터 누적 지속. 30거래일 도달 시 라이브 준비 재점검.
|
||||
@@ -0,0 +1,159 @@
|
||||
# 일일 결산 — 2026-06-15
|
||||
|
||||
## 핵심 지표
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 9건 (5 티커) |
|
||||
| 승/패 | 6승 3패 |
|
||||
| 승률 | 66.7% |
|
||||
| 순손익 | **+88,648원** |
|
||||
| 수수료 | 27,357원 |
|
||||
| 총손익(수수료 전) | +116,005원 |
|
||||
|
||||
## 청산 사유 분포
|
||||
|
||||
| 사유 | 건수 | 비율 |
|
||||
|---|---|---|
|
||||
| TP1 | 3 | 33.3% |
|
||||
| TP2 | 3 | 33.3% |
|
||||
| TIME | 2 | 22.2% |
|
||||
| SL | 1 | 11.1% |
|
||||
| FORCE | 0 | — |
|
||||
|
||||
TP 청산 비율 66.7%, SL 비율 11.1%. 강제청산 없음.
|
||||
|
||||
## 거래 내역
|
||||
|
||||
### HL만도 (204320) — +56,291원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TP1 | 09:20:27 | 09:22:28 (2분) | 66,000 → 67,400 | 25주 | +31,467원 |
|
||||
| TP2 | 09:20:27 | 09:25:18 (5분) | 66,000 → 68,400 | 11주 | +24,824원 |
|
||||
|
||||
- 2~5분 안에 TP1·TP2 완료. 오전 첫 돌파 가장 빠른 실행.
|
||||
- AI 부스트 없음.
|
||||
|
||||
### 삼성전자 (005930) — -21,681원 ⚠️
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TIME | 09:20:46 | 10:51:30 (91분) | 340,000 → 338,000 | 8주 | -21,681원 |
|
||||
|
||||
- **AI 부스트 적용**. 91분 보유 후 TIME 청산.
|
||||
- 목표가 334,000 — 진입가 340,000 **보다 낮음**. 진입 시점부터 TP 달성 불가 구조.
|
||||
- 아침 변동성 돌파 목표가가 갭업 진입가를 밑돌았으나 진입 차단 로직 없어 통과.
|
||||
|
||||
### HMM (011200) — +47,997원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TP1 | 09:44:06 | 10:12:59 (29분) | 21,175 → 21,600 | 79주 | +29,997원 |
|
||||
| TP2 | 09:44:06 | 10:14:27 (30분) | 21,175 → 21,750 | 34주 | +18,000원 |
|
||||
|
||||
- 30분 내 TP1·TP2 달성. 안정적 돌파 패턴.
|
||||
- AI 부스트 없음.
|
||||
|
||||
### HPSP (403870) — +49,100원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TP1 | 10:18:15 | 10:25:07 (7분) | 75,950 → 77,600 | 21주 | +31,233원 |
|
||||
| TP2 | 10:18:15 | 10:26:31 (8분) | 75,950 → 77,900 | 10주 | +17,867원 |
|
||||
|
||||
- 7~8분 만에 TP1·TP2 완료. HMM과 함께 오전 중반 최고 수익 거래.
|
||||
- AI 부스트 없음.
|
||||
|
||||
### 에이팩트 (200470) — -41,636원
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| SL | 10:35:15 | 10:38:48 (3분) | 12,430 → 12,240 | 193주 | -41,636원 |
|
||||
|
||||
- 진입 3분 만에 SL. -1.53% 하락.
|
||||
- 193주 포지션 → 손실 규모 큼.
|
||||
- 오늘 유일한 SL. SL차단 이후 당일 재진입 차단 정상 작동.
|
||||
|
||||
### 삼성전자 (005930) 2차 — -1,422원 ⚠️
|
||||
|
||||
| 구분 | 진입 | 청산 | 가격 | 수량 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| TIME | 11:51:54 | 13:22:28 (90분) | 338,500 → 338,500 | 2주 | -1,422원 |
|
||||
|
||||
- **AI 부스트 적용**. 1차 TIME 청산(10:51) 후 60분 쿨다운 소진 후 재진입.
|
||||
- 목표가 334,000 — 진입가 338,500보다 낮음. 재진입도 TP 달성 불가 구조.
|
||||
- 손익은 수수료만(-1,422원). 90분 보유 후 TIME 청산.
|
||||
|
||||
## 손익비 분석
|
||||
|
||||
| 구분 | 건수 | 합산 손익 | 건당 평균 |
|
||||
|---|---|---|---|
|
||||
| 승리 (TP) | 6 | +153,388원 | +25,565원 |
|
||||
| 패배 (TIME+SL) | 3 | -64,739원 | -21,580원 |
|
||||
|
||||
- R:R ≈ **1.18**. 승률 66.7% × 양의 R:R = 드라이런 최고 성과일.
|
||||
- 삼성전자 2건(-23,103원)이 없었다면 순손익 +111,751원.
|
||||
|
||||
## 과매매 점검
|
||||
|
||||
- 9건 / 5 티커. TP1+TP2 분할 포함 시 5회 진입. 정상 범위.
|
||||
- SL 연속 없음. 에이팩트 SL 1건 후 신규 진입은 없었음 (SL차단 적용).
|
||||
삼성전자 2차는 에이팩트 SL과 무관한 별도 쿨다운 만료 진입.
|
||||
- 14:00 이후 진입 없음. 강제청산 대상 없음.
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 삼성전자 양쪽 모두 `ai_boosted = 1`. 두 거래 모두 TIME 손실(-23,103원 합산).
|
||||
AI 부스트가 오히려 수익성 낮은 종목 진입을 유발한 패턴.
|
||||
- HL만도·HMM·HPSP·에이팩트 — `ai_boosted = 0`. 수익 +153,388원 / 손실 -41,636원.
|
||||
- 오늘 기준: AI 미부스트 거래가 부스트 거래보다 수익 우위.
|
||||
**관찰**: AI 부스트 종목 누적 손익 추적 지속 권장. 현재 샘플 미미.
|
||||
- SL차단(에이팩트), TP 당일 재진입 차단(HL만도·HMM·HPSP) 모두 정상 작동.
|
||||
|
||||
## 실행 품질
|
||||
|
||||
- 제로 가격 행 없음. 가격 불일치 없음.
|
||||
- TP1+TP2 3쌍(HL만도·HMM·HPSP) 완전 청산 — 변동성 돌파 로직 정상.
|
||||
- 14:50 강제 청산 실행 → 미청산 포지션 없음 (강제청산 전 전 포지션 이미 청산).
|
||||
- 결산 중복 처리 방어 정상: `결산 이미 처리됨: 2026-06-15` 로그 확인.
|
||||
- KIS 타임아웃: 라이콤(388790) 12:30 2회 재시도, 현대건설(000720) 12:57 1회 재시도.
|
||||
모두 정상 복구. 실거래 영향 없음.
|
||||
|
||||
## 구조 이슈 — 삼성전자 TIME 후 동일 신호 재진입
|
||||
|
||||
| 항목 | 1차 진입 | 2차 진입 |
|
||||
|---|---|---|
|
||||
| 진입가 | 340,000 | 338,500 |
|
||||
| 돌파 목표가 | 334,000 | 334,000 |
|
||||
| 차이 | **-6,000원** | **-4,500원** |
|
||||
| 청산 | TIME | TIME |
|
||||
|
||||
- 코드상 `목표가`는 익절가가 아니라 변동성 돌파 진입 기준가.
|
||||
따라서 `현재가 >= 목표가` 자체는 정상 진입 조건.
|
||||
- 실제 문제는 1차 `TIME` 청산 후에도 가격이 목표가 위에 머물러,
|
||||
60분 쿨다운 종료만으로 같은 돌파 신호를 재사용해 2차 진입한 점.
|
||||
- **적용 완료**: `TIME/FORCE` 청산 후에는 목표가 아래로 한 번 내려왔다가
|
||||
다시 돌파해야 재진입 가능하도록 `재돌파 대기` 필터 추가.
|
||||
- 적용 문서: `reports/proposals/2026-06-15_strategy_proposal.md`.
|
||||
|
||||
## 30일 누적 지표 (5거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 판정 |
|
||||
|---|---|---|---|
|
||||
| 누적 운영일 | 5일 | 30일 | FAIL |
|
||||
| 승률 | 60.0% | >48% | PASS |
|
||||
| MDD | -0.3% | >-10% | PASS |
|
||||
| Sharpe | 7.92 | >1.0 | PASS |
|
||||
| L3 발동 | 0회 | ≤2/월 | PASS |
|
||||
|
||||
**라이브 준비: 미완료** — 운영 일수 부족 (5/30일).
|
||||
|
||||
누적 PnL (운영 5일): -5,646 + 45,606 + 0 + (-25,678) + 88,648 = **+102,930원**
|
||||
|
||||
## 다음 체크사항
|
||||
|
||||
- `TIME/FORCE` 후 재돌파 대기 필터 내일 로그에서 정상 차단 여부 확인.
|
||||
- AI 부스트 누적 손익 별도 집계 시작 권장.
|
||||
- 에이팩트 대량 포지션 사이징(193주) — 리스크 대비 포지션 계산 재확인.
|
||||
- 운영 데이터 누적 지속. 30거래일 도달 시 라이브 준비 재점검.
|
||||
@@ -0,0 +1,85 @@
|
||||
# 2026-06-16 일일 결산
|
||||
|
||||
## 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 4건 |
|
||||
| 승/패 | 2승 2패 |
|
||||
| 승률 | 50.0% |
|
||||
| 순손익 | **-28,682원** |
|
||||
| 수수료 | 18,402원 |
|
||||
| 강제청산(FORCE) | 0건 |
|
||||
|
||||
## 거래 내역
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 이유 | 손익 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 코스모로보틱스(439960) | 09:20:08 | 09:20:52 | 28,650 | 28,000 | 90 | SL | -63,801원 |
|
||||
| 대우건설(047040) | 09:20:41 | 09:26:47 | 27,200 | 27,900 | 95 | TP2 | +60,944원 |
|
||||
| 현대바이오(048410) | 09:21:34 | 09:24:39 | 10,120 | 9,950 | 179 | SL | -34,175원 |
|
||||
| 우리금융지주(316140) | 09:43:56 | 11:14:00 | 33,300 | 33,525 | 54 | TIME | +8,350원 |
|
||||
|
||||
## 진입/청산 분석
|
||||
|
||||
### 개장 초 3연속 진입 (09:20~09:21)
|
||||
- 3건 모두 09:20~09:21 사이에 진입 → 코스모로보틱스·대우건설·현대바이오
|
||||
- 코스모로보틱스: **진입 후 44초 만에 SL** (28,650 → 28,000, -2.27%)
|
||||
- 현대바이오: **진입 후 3분 만에 SL** (10,120 → 9,950, -1.68%)
|
||||
- 대우건설만 TP2 달성 (+2.57%)
|
||||
- 개장 직후 변동성 장세에서 SL 2건 연속 발생 → L3-B 연속 SL 카운터 누적 가능성 주의
|
||||
|
||||
### 우리금융지주 TIME 청산
|
||||
- 09:43 진입, 11:14 TIME 청산 (보유 90분)
|
||||
- 진입가 33,300 → 청산가 33,525 (+0.68%)
|
||||
- 수수료 3,800원 차감 후 순익 +8,350원 — 얇은 수익
|
||||
|
||||
### FORCE 청산 없음
|
||||
- 14:50 강제청산 실행됐으나 보유 포지션 없음 (모두 자연 청산됨)
|
||||
|
||||
## KIS API 타임아웃 이슈 (오후 집중)
|
||||
- 13:57~14:03 사이 SK이노베이션(096770), 우리금융지주(316140), 후성(093370), HPSP(403870), 대우건설(047040), 대한전선(001440), 서진시스템(178320) 등 **대부분 종목에서 연속 타임아웃**
|
||||
- 재시도 3회 후 진입 체크 포기 — 오후 진입 기회 전량 차단됨
|
||||
- 14:00 이후 신규 진입 중단 시간대이므로 실질 손실은 없으나 상황 자체는 위험
|
||||
- 재발 시 손절 중 가격 조회 실패 가능성 → 모니터링 필요
|
||||
|
||||
## AI 필터 품질
|
||||
- 오늘 AI 부스트 종목: **없음** (전 거래 ai_boosted=0)
|
||||
- 신호진단 로그상 오후 내내 목표가 미달 종목 다수 — 정상적 필터링
|
||||
- SL 차단(재진입 차단): 코스모로보틱스·현대바이오 → 당일 재진입 방지 정상 작동
|
||||
|
||||
## 초과매매 / 연속 SL 점검
|
||||
- 4건 진입 — 과다하지 않음
|
||||
- 09:20~09:21에 3건 집중 진입 (개장 초 쏠림)
|
||||
- 코스모로보틱스·현대바이오 SL 연속 2건 → L3-B 누적 카운터 1 상승했을 가능성
|
||||
- 이후 대우건설 TP2, 우리금융 TIME으로 카운터 영향 상쇄 여부 확인 필요
|
||||
|
||||
## 30일 누적 현황 (6거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 통과 |
|
||||
|---|---|---|---|
|
||||
| 운영 거래일 | 6일 | ≥30일 | ✗ |
|
||||
| 승률 | 58.6% | >48% | ✓ |
|
||||
| MDD | -0.3% | <-10% | ✓ |
|
||||
| 샤프 | 4.69 | >1.0 | ✓ |
|
||||
| L3 발동 | 0회 | ≤2회/월 | ✓ |
|
||||
|
||||
**라이브 전환 불가** — 운영 기간 요건 미충족 (6/30일)
|
||||
|
||||
## 리스크 관찰 사항
|
||||
|
||||
1. **개장 초 연속 SL 패턴**: 3일 중 2일에서 09:20~09:22 진입 후 빠른 SL 발생 (오늘 2건, 2026-06-12에도 유사). 개장 직후 진동성이 큰 구간에서 위험 집중.
|
||||
2. **KIS 오후 타임아웃 반복**: 2026-06-15에도 유사 증상 보고됨. 14:00 이후 집중 → 시스템 부하 패턴인지, KIS 서버 쪽 문제인지 추가 관찰 필요.
|
||||
3. **TIME 청산 수익 박리**: 우리금융 90분 보유 후 +8,350원 — 수수료 대비 얇은 수익. `MAX_HOLD_MIN` 90분이 실효성 있는지 장기적 검토 대상.
|
||||
|
||||
## 전략 제안 여부
|
||||
|
||||
전략 파라미터 변경은 근거 데이터 부족 (29거래 이하, 패턴 관찰 2일). 이번 결산에서 제안서 없음.
|
||||
|
||||
개장 초 진입 밀집 현상(09:20~09:22 구간 3건 집중)이 반복되면 `ENTRY_START` 이후 첫 N분간 진입 1건 제한 등의 검토가 가능하나, 현 시점에서 데이터 불충분.
|
||||
|
||||
## 실행 품질
|
||||
- 제로 가격 행 없음
|
||||
- 누락 가격 없음
|
||||
- 정상 청산 확인
|
||||
- 강제청산(FORCE) 없음 — 양호
|
||||
@@ -0,0 +1,99 @@
|
||||
# 2026-06-17 일일 결산
|
||||
|
||||
## 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 3건 |
|
||||
| 승/패 | 1승 2패 |
|
||||
| 승률 | 33.3% |
|
||||
| 순손익 | **+36,844원** |
|
||||
| 수수료 | 10,056원 |
|
||||
| 강제청산(FORCE) | 0건 |
|
||||
|
||||
## 거래 내역
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 이유 | 손익 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| KBI메탈(024840) | 09:20:28 | 09:21:07 | 5,370 | 5,670 | 335 | TP2 | +96,526원 |
|
||||
| 제주반도체(080220) | 09:21:03 | 09:22:26 | 108,100 | 106,400 | 16 | SL | -30,779원 |
|
||||
| SK이터닉스(475150) | 10:08:09 | 10:14:51 | 55,300 | 54,100 | 22 | SL | -28,903원 |
|
||||
|
||||
## 진입/청산 분석
|
||||
|
||||
### KBI메탈 TP2 — 39초 만에 완료
|
||||
- 09:20:28 진입 → 09:21:07 TP2 청산 (보유 39초)
|
||||
- 진입가 5,370 → 청산가 5,670 (+5.59%)
|
||||
- 개장 초 모멘텀 완전 포착. TP2 수준(+5%대)에 빠르게 도달한 강한 상승 흐름
|
||||
- 1건이 오늘 전체 흑자를 결정 (순익 +96,526원 → 2 SL 합산 -59,682원 커버)
|
||||
|
||||
### 제주반도체 SL — 83초 만에 청산
|
||||
- 09:21:03 진입 → 09:22:26 SL (보유 83초)
|
||||
- 진입가 108,100 → 청산가 106,400 (-1.57%)
|
||||
- KBI메탈 진입 35초 후 바로 진입. 개장 초 연속 진입 패턴 반복
|
||||
- 고가 단위 종목(10만원대) 소량(16주)으로 위험 노출이 제한됨
|
||||
|
||||
### SK이터닉스 SL — 6분 만에 청산
|
||||
- 10:08:09 진입 → 10:14:51 SL (보유 6분 42초)
|
||||
- 진입가 55,300 → 청산가 54,100 (-2.17%)
|
||||
- 오전 2차 진입 시도. 개장 초 흥분이 가라앉은 이후 모멘텀 지속 실패
|
||||
|
||||
### FORCE 청산 없음
|
||||
- 14:50 강제청산 실행됐으나 보유 포지션 없음
|
||||
- 세 건 모두 10:15 이전에 자연 청산 완료
|
||||
|
||||
## 손익비 점검
|
||||
|
||||
| 지표 | 값 |
|
||||
|---|---|
|
||||
| 평균 수익 (TP) | +96,526원 (1건) |
|
||||
| 평균 손실 (SL) | -29,841원 (2건 평균) |
|
||||
| 손익비 | 3.23 : 1 |
|
||||
|
||||
오늘은 승률(33.3%)이 낮음에도 손익비 3.2:1이 흑자를 만든 구조적 성공 사례.
|
||||
TP2 도달 시 조기 청산하지 않고 완주한 것이 핵심.
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 오늘 AI 부스트 종목: **없음** (전 거래 ai_boosted=0)
|
||||
- AI 블랙리스트/필터 특이사항 없음
|
||||
- 세 종목 모두 순수 기술 신호 기반 진입
|
||||
|
||||
## 초과매매 / 연속 SL 점검
|
||||
|
||||
- 3건 진입 — 적정 수준
|
||||
- 개장 초(09:20~09:21) 2건 연속 진입 패턴 지속 — 과거 3거래일 연속 관찰
|
||||
- SL 2건 연속 발생 → L3-B 카운터 누적 확인 필요
|
||||
- 이후 추가 진입 없었으므로 실질 영향은 제한적
|
||||
- 14:00 이후 진입 차단 정상 작동 (로그 확인)
|
||||
|
||||
## 30일 누적 현황 (7거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 통과 |
|
||||
|---|---|---|---|
|
||||
| 운영 거래일 | 7일 | ≥30일 | ✗ |
|
||||
| 승률 | 56.2% | >48% | ✓ |
|
||||
| MDD | -0.3% | <-10% | ✓ |
|
||||
| 샤프 | 6.34 | >1.0 | ✓ |
|
||||
| L3 발동 | 0회 | ≤2회/월 | ✓ |
|
||||
|
||||
**라이브 전환 불가** — 운영 기간 요건 미충족 (7/30일)
|
||||
|
||||
## 리스크 관찰 사항
|
||||
|
||||
1. **개장 초 연속 진입 밀집 패턴 지속**: 3거래일 연속 09:20~09:21 구간에 복수 종목 동시 진입. 변동성이 극대화되는 시간대에 리스크가 집중됨. 단건 SL 시 손실이 크지 않으나, 연속 SL 가능성 상존.
|
||||
2. **TP2 단건 의존 구조**: 오늘처럼 1 TP2 + 2 SL 구조에서 흑자가 되려면 TP2 수익이 충분히 커야 함. KBI메탈 +5.59%라서 성공했지만, TP2가 +2~3% 수준에 그쳤다면 적자 전환.
|
||||
3. **SL 연속 후 추가 진입 자제**: SK이터닉스 SL(10:14) 이후 추가 진입 없었음 — L3-B 카운터 반응인지 진입 신호 부재인지 확인 필요.
|
||||
|
||||
## 전략 제안 여부
|
||||
|
||||
전략 파라미터 변경 근거 데이터 부족 (30거래 미만). 이번 결산에서 제안서 없음.
|
||||
|
||||
개장 초 집중 진입 패턴(4거래일 연속)이 추가 누적되면 `ENTRY_START` 이후 첫 5분간 진입 건수 제한 등 검토 가능.
|
||||
|
||||
## 실행 품질
|
||||
- 제로 가격 행 없음
|
||||
- 누락 가격 없음
|
||||
- 정상 청산 확인
|
||||
- 강제청산(FORCE) 없음 — 양호
|
||||
- 결산 중복 처리 방지 정상 작동 ("결산 이미 처리됨" 로그 확인)
|
||||
@@ -0,0 +1,115 @@
|
||||
# 2026-06-18 일일 결산
|
||||
|
||||
## 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 3건 |
|
||||
| 승/패 | 0승 3패 |
|
||||
| 승률 | 0.0% |
|
||||
| 순손익 | **-50,524원** |
|
||||
| 수수료 | 6,794원 |
|
||||
| 강제청산(FORCE) | 0건 |
|
||||
|
||||
## 거래 내역
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 이유 | AI부스트 | 손익 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| 대원전선(006340) | 09:20:58 | 09:23:51 | 13,160 | 12,950 | 113 | SL | ✗ | -26,807원 |
|
||||
| 삼성전자(005930) | 09:50:43 | 09:52:42 | 354,500 | 349,500 | 4 | SL | ✓ | -22,939원 |
|
||||
| 서산(079650) | 11:21:22 | 12:57:23 | 4,815 | 4,815 | 77 | TIME | ✗ | -779원 |
|
||||
|
||||
## 진입/청산 분석
|
||||
|
||||
### 대원전선 SL — 2분 53초 만에 청산
|
||||
- 09:20:58 진입 → 09:23:51 SL (보유 173초)
|
||||
- 진입가 13,160 → 청산가 12,950 (-1.60%)
|
||||
- `ENTRY_START=09:20` 직후 첫 번째 진입, 개장 초 변동성 구간
|
||||
- 진입 후 바로 방향이 꺾임 → 모멘텀 지속 실패
|
||||
|
||||
### 삼성전자 SL — 1분 59초 만에 청산 (AI 부스트)
|
||||
- 09:50:43 진입 → 09:52:42 SL (보유 119초)
|
||||
- 진입가 354,500 → 청산가 349,500 (-1.41%)
|
||||
- **AI 부스트 종목이 SL로 청산** — 역선택 사례 기록
|
||||
- 대형주 4주 포지션, 절대 손실액 -22,939원
|
||||
- 오전 2차 진입 시도였으나 모멘텀 부재
|
||||
|
||||
### 서산 TIME — 1시간 36분 보유 후 타임아웃
|
||||
- 11:21:22 진입 → 12:57:23 TIME (보유 96분 1초)
|
||||
- 진입가 = 청산가 = 4,815원 → **실질 수익 0원, 수수료 -779원만 손실**
|
||||
- MAX_HOLD_MIN(90분) 도달 직전 타임아웃
|
||||
- 점심 시간대 유동성 소멸로 방향성 없이 횡보
|
||||
|
||||
## 손익비 점검
|
||||
|
||||
| 지표 | 값 |
|
||||
|---|---|
|
||||
| 평균 수익 (TP/WIN) | — (없음) |
|
||||
| 평균 손실 (SL) | -24,873원 (2건 평균) |
|
||||
| 손익비 | 해당 없음 (승리 없음) |
|
||||
|
||||
오늘은 TP 진입 없이 전 거래가 손실 또는 비용 손실로 마감.
|
||||
8거래일 운영 중 최초 승률 0% 일. 최대 단일일 손실.
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- AI 부스트 종목: **삼성전자 1건** → **SL 청산** (역선택)
|
||||
- AI 비부스트 종목: 대원전선(SL), 서산(TIME)
|
||||
- 오늘은 AI 부스트가 긍정적 역할을 하지 못함
|
||||
- 누적 AI 부스트 성과 추적 필요 (부스트 종목 승률 별도 집계 권장)
|
||||
|
||||
## 초과매매 / 연속 SL 점검
|
||||
|
||||
- 3건 진입 — 건수 자체는 적정 수준
|
||||
- SL 2건 연속 발생 → L3-B 카운터 영향 여부 확인 필요
|
||||
- 서산 진입(11:21)이 L3-B 발동 후 축소 사이징으로 집행됐을 가능성
|
||||
- **개장 초 SL 패턴 5거래일 연속 관찰**:
|
||||
- 06-12: 개장 초 SL 다수
|
||||
- 06-15: 개장 초 TP (예외)
|
||||
- 06-16: 코스모로보틱스·현대바이오 SL (09:20~09:22)
|
||||
- 06-17: 제주반도체 SL (09:21), KBI메탈 TP2 (09:21)
|
||||
- 06-18: 대원전선·삼성전자 모두 SL (09:20~09:52)
|
||||
- 14:00 이후 진입 차단 정상 작동 (로그 확인)
|
||||
- 14:50 강제청산 실행 → 포지션 없음 (정상)
|
||||
|
||||
## 30일 누적 현황 (8거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 통과 | 전일 대비 |
|
||||
|---|---|---|---|---|
|
||||
| 운영 거래일 | 8일 | ≥30일 | ✗ | +1일 |
|
||||
| 승률 | 51.4% | >48% | ✓ | 56.2% → 51.4% ▼ |
|
||||
| MDD | -0.5% | <-10% | ✓ | -0.3% → -0.5% ▼ |
|
||||
| 샤프 | 2.78 | >1.0 | ✓ | 6.34 → 2.78 ▼ |
|
||||
| L3 발동 | 0회 | ≤2회/월 | ✓ | 유지 |
|
||||
|
||||
**라이브 전환 불가** — 운영 기간 요건 미충족 (8/30일)
|
||||
|
||||
오늘의 전패로 주요 지표가 눈에 띄게 하락했으나 기준선은 모두 유지 중.
|
||||
샤프 6.34 → 2.78 급감은 일 변동성 확대를 반영한 정상 반응.
|
||||
|
||||
## 리스크 관찰 사항
|
||||
|
||||
1. **개장 초(09:20~09:30) SL 집중 패턴**: 5거래일 중 4거래일에서 관찰. 개장 직후 변동성이 전략 SL 범위 안에서 예측 불가능하게 작동. 오늘은 두 건 모두 2분 이내 청산됨.
|
||||
|
||||
2. **AI 부스트 역선택**: 삼성전자 부스트 후 SL. AI 신호가 개장 후 단기 가격 흐름을 정확히 예측하지 못하는 사례 누적 중. 부스트 종목 승률 별도 집계 필요.
|
||||
|
||||
3. **서산 TIME 패턴**: 진입가 = 청산가인 순수 수수료 손실. 명확한 모멘텀 없이 진입했을 가능성. 진입 신호 품질 확인 필요.
|
||||
|
||||
4. **오늘 시장 약세 맥락**: 대원전선·삼성전자 동시 SL은 개별 종목 문제보다 시장 전반의 개장 초 약세 분위기 반영일 가능성. 단일일 결과로 파라미터 조정 판단 자제.
|
||||
|
||||
## 전략 제안 여부
|
||||
|
||||
전략 파라미터 변경 근거 데이터 부족 (30거래 미만, 누적 35건 중 유효 분석 건수 제한적).
|
||||
**이번 결산에서 정식 제안서 없음.**
|
||||
|
||||
관찰 사항으로 기록:
|
||||
- 개장 초(09:20~09:30) SL 집중 패턴이 추가 거래일 누적되면 `ENTRY_START` 지연(09:20→09:25 또는 09:30) 또는 개장 후 첫 10분 진입 건수 제한 검토 가능
|
||||
- AI 부스트 종목 승률 별도 집계 후 부스트 효과 재평가 필요
|
||||
|
||||
## 실행 품질
|
||||
|
||||
- 제로 가격 행: 없음
|
||||
- 누락 가격: 없음
|
||||
- 정상 청산: 3건 모두 확인
|
||||
- 강제청산(FORCE): 없음 (포지션 없이 14:50 도달)
|
||||
- 결산 로그: 정상 ("결산: 3회 / 승0 패3 / -50,524원 (fee 6,794원)")
|
||||
@@ -0,0 +1,73 @@
|
||||
# 일일 결산 — 2026-06-19
|
||||
|
||||
## 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 2건 |
|
||||
| 승 / 패 | 1승 1패 |
|
||||
| 승률 | 50.0% |
|
||||
| 순손익 | +9,730원 |
|
||||
| 수수료 합계 | 9,264원 |
|
||||
| 청산 분포 | TP2 1 / SL 1 |
|
||||
| FORCE 비율 | 0% |
|
||||
|
||||
## 거래 내역
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 사유 | 순손익 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 세미티에스 (0017J0) | 09:23 | 09:33 | 5,240 | 5,380 | 419 | TP2 | +53,935원 |
|
||||
| 흥아해운 (003280) | 12:29 | 12:37 | 1,829 | 1,796 | 1,202 | SL | -44,205원 |
|
||||
|
||||
## 거래 분석
|
||||
|
||||
### 세미티에스 (TP2 성공)
|
||||
- SOX +6.42% 반도체 대폭등 흐름에서 09:23 개장 초 진입, 약 9분 만에 TP2 청산.
|
||||
- 진입가 대비 +2.67% 상승. 빠른 모멘텀 포착으로 전략의 장점이 발휘된 케이스.
|
||||
- AI 부스트 없이 기본 전략 시그널만으로 진입 → 외부 데이터 활용 없이도 작동.
|
||||
|
||||
### 흥아해운 (SL)
|
||||
- 장중 12:29 진입. 해운주는 달러 급등(~1,540원) 환경에서 원가 부담이 높은 업종.
|
||||
- 진입 후 8분 만에 SL (-1.80%). 점심 이후 구간 진입 특성상 모멘텀 약화 가능성.
|
||||
- 최근 3일 연속 패 이후 오늘도 SL 발생 — 해운/운송 섹터 진입 기준 재검토 필요.
|
||||
|
||||
## 과매매 점검
|
||||
|
||||
- 일 진입 2건 → 정상 범위.
|
||||
- TIME / FORCE 청산 없음.
|
||||
- 연속 SL 누적 없음 (오늘 SL 1건 / L3-B 미발동).
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 두 종목 모두 `ai_boosted = 0` → 오늘 AI 부스트 작동 없음.
|
||||
- 학습 데이터 누적 부족(53 bot-rows)으로 현재 ML 모델은 관찰 전용 유지.
|
||||
|
||||
## 최근 30일 누적 현황 (9거래일)
|
||||
|
||||
| 지표 | 값 | 기준 |
|
||||
|---|---|---|
|
||||
| 거래일 | 9일 | ≥ 30일 |
|
||||
| 승률 | 51.4% | > 48% ✓ |
|
||||
| MDD | -0.5% | > -10% ✓ |
|
||||
| 샤프 | 3.05 | > 1.0 ✓ |
|
||||
| L3 이벤트 | 0회 | ≤ 2회 ✓ |
|
||||
|
||||
## 실전 전환 준비도
|
||||
|
||||
**미충족 조건: 운영 30거래일 미달 (현재 9일)**
|
||||
|
||||
나머지 4개 지표는 기준 통과. 21거래일 더 운영 후 재평가.
|
||||
|
||||
## 전략 제안
|
||||
|
||||
별도 제안서 없음.
|
||||
|
||||
오늘 패배 케이스(흥아해운)는 표본 1건으로 규칙 변경을 정당화하기에 너무 작다.
|
||||
다만, 최근 해운/운송 섹터가 달러 강세 압박을 지속적으로 받고 있으므로,
|
||||
`avoid_sectors` 리스트에 단기 추가 여부를 추후 5건 이상 누적 후 검토 권장.
|
||||
|
||||
## 다음 날 주요 체크
|
||||
|
||||
- KOSPI 강세 흐름 지속 여부 (9,000pt 레벨 유지 확인)
|
||||
- 반도체 섹터 피로 여부 (SOX 급등 다음날 조정 가능성)
|
||||
- 달러/원 환율 추이 — 해운·운송 진입 판단 기준
|
||||
@@ -0,0 +1,104 @@
|
||||
# 일일 결산 — 2026-06-22
|
||||
|
||||
## 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 5건 |
|
||||
| 승 / 패 | 2승 3패 |
|
||||
| 승률 | 40.0% |
|
||||
| 순손익 | -110,271원 |
|
||||
| 수수료 합계 | 10,311원 |
|
||||
| 청산 분포 | SL 3 / TP1 1 / TP2 1 |
|
||||
| FORCE 비율 | 0% |
|
||||
|
||||
## 거래 내역
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 사유 | 순손익 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 에스에이엠티 (031330) | 09:20 | 09:22 | 16,810 | 16,510 | 142 | SL | -47,530원 |
|
||||
| 아이로보틱스 (066430) | 09:22 | 09:24 | 3,270 | 3,160 | 513 | SL | -59,843원 |
|
||||
| 위더스제약 (330350) | 11:47 | 11:50 | 9,390 | 9,240 | 63 | SL | -10,674원 |
|
||||
| 후성 (093370) | 12:49 | 12:52 | 19,260 | 19,720 | 12 | TP1 | +5,024원 |
|
||||
| 후성 (093370) | 12:49 | 12:53 | 19,260 | 19,760 | 6 | TP2 | +2,751원 |
|
||||
|
||||
## 거래 분석
|
||||
|
||||
### 에스에이엠티 (SL)
|
||||
- 09:20 개장 직후 진입, 2분 만에 SL.
|
||||
- 반도체 장비 섹터. SOX +6.42% 급등 배경에도 장내 반도체 역행 흐름이 이미 전개 중.
|
||||
- 장중 분석(당일)에서도 오전 반도체 역행을 확인했으나, 이 진입은 09:20으로 장중 분석 이전.
|
||||
- 손실 -47,530원 = 오늘 전체 손실의 43%.
|
||||
|
||||
### 아이로보틱스 (SL)
|
||||
- 에스에이엠티 SL 청산 후 **26초** 만에 로봇 섹터로 즉시 재진입.
|
||||
- 09:24에 SL 청산. 손실 -59,843원 = 오늘 전체 손실의 54%.
|
||||
- 오전 연속 SL 2회 → L3-B 배율 0.5x 발동.
|
||||
- 오전 09:20~09:25 두 건 합산 -107,373원 = **전체 손실의 97%**.
|
||||
|
||||
### 위더스제약 (SL)
|
||||
- 11:47 진입, 11:50 SL. 제약 섹터.
|
||||
- L3-B 0.5x 적용으로 포지션 63주 → 손실 -10,674원으로 제한됨.
|
||||
- 장중 분석에서 철강금속·금융업 집중을 권고한 상황에서 제약 섹터 진입. 섹터 필터 작동 여부 확인 필요.
|
||||
|
||||
### 후성 (TP1 + TP2)
|
||||
- 12:49 진입. 불화수소(HF) 소재 — 반도체 소재 수혜 섹터.
|
||||
- TP1(12주)→TP2(6주) 순차 청산, 약 4분 만에 +2.59% / +2.59%.
|
||||
- 총 수익 +7,775원. 오전 반도체 역행이 소재 섹터에서 역으로 수익으로 연결된 케이스.
|
||||
- L3-B 배율 적용 중에도 리스크 대비 수익 달성.
|
||||
|
||||
## 과매매 점검
|
||||
|
||||
- 일 진입 5건 (ticker 기준 4개 종목, 후성은 분할 청산) → 허용 범위.
|
||||
- TIME / FORCE 청산 없음 → 시간 관리 정상.
|
||||
- **연속 SL 2회 (09:20~09:24)**: L3-B 배율 0.5x 발동, 이후 진입 규모 자동 축소.
|
||||
- SL CASCADE HALT 미발동 (임계값 5회 미달).
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 전 종목 `ai_boosted = 0` — 오늘 AI 부스트 미작동.
|
||||
- ML 모델 관찰 전용 유지 (bot-rows 누적 부족).
|
||||
|
||||
## 핵심 문제: 오픈 갱 연속 SL
|
||||
|
||||
오늘 손실 구조는 단순하다. 오전 09:20~09:24, **2건 연속 SL이 전체 손실의 97%를 차지**.
|
||||
|
||||
- 에스에이엠티 SL 이후 26초 만에 아이로보틱스 재진입.
|
||||
- L3-B 배율 조정은 **3번째 진입부터** 적용되므로, 빠른 재진입을 막지 못함.
|
||||
- 오픈 갱 5분(09:20~09:25) 구간은 슬리피지와 역방향 트레이딩이 집중되는 시간.
|
||||
- 별도 제안서 작성 (별첨 참고).
|
||||
|
||||
## 최근 30일 누적 현황 (10거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 이전(9거래일) |
|
||||
|---|---|---|---|
|
||||
| 거래일 | 10일 | ≥ 30일 | 9일 |
|
||||
| 승률 | 50.0% | > 48% ✓ | 51.4% |
|
||||
| MDD | -1.5% | > -10% ✓ | -0.5% |
|
||||
| 샤프 | -1.21 | > 1.0 ✗ | 3.05 |
|
||||
| L3 이벤트 | 0회 | ≤ 2회 ✓ | 0회 |
|
||||
|
||||
샤프가 전일 3.05 → -1.21로 급락. 오늘 -110,271원 단일 거래일 손실이 원인.
|
||||
10거래일 기준 누적 PnL은 소폭 음수 영역 진입.
|
||||
|
||||
## 실전 전환 준비도
|
||||
|
||||
**미충족 조건:**
|
||||
1. 운영 30거래일 미달 (현재 10일 / 나머지 20일)
|
||||
2. 샤프 미달 (-1.21 / 기준 > 1.0)
|
||||
|
||||
나머지 3개 조건은 기준 통과. 샤프 회복이 추가 운영일만큼 중요해진 상태.
|
||||
|
||||
## 전략 제안
|
||||
|
||||
별도 제안서 작성: `reports/proposals/2026-06-22_strategy_proposal.md`
|
||||
|
||||
오픈 갱 진입 쿨다운(SL 직후 즉시 재진입 억제) 로직 추가 제안.
|
||||
증거 불충분(10거래일) 표시, 수동 승인 필요.
|
||||
|
||||
## 다음 날 주요 체크
|
||||
|
||||
- 샤프 회복을 위해 TP 비율 개선 필요 (오늘 SL 3회, TP 2회).
|
||||
- 오전 09:20~09:30 구간 진입 품질 모니터링.
|
||||
- 반도체 역행 vs 소재·철강 섹터 순환 흐름 지속 여부.
|
||||
- 위더스제약 진입 경위 확인 (장중 분석의 섹터 필터 권고와 불일치).
|
||||
@@ -0,0 +1,105 @@
|
||||
# 일일 결산 — 2026-06-23
|
||||
|
||||
## 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 3건 |
|
||||
| 승 / 패 | 2승 1패 |
|
||||
| 승률 | 66.7% |
|
||||
| 순손익 | -3,943원 |
|
||||
| 수수료 합계 | 7,553원 |
|
||||
| 청산 분포 | SL 1 / TP1 1 / TP2 1 |
|
||||
| FORCE 비율 | 0% |
|
||||
|
||||
## 시장 배경
|
||||
|
||||
- 오전: SOX +2%, SK하이닉스 300만원 돌파, 달러강세·나스닥 -1.3% — 중립 출발
|
||||
- 장중: KOSPI -4.25% 급락, 인버스 폭발적 상승, 장중 분석에서 점심 진입 중단 결정
|
||||
|
||||
## 거래 내역
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 사유 | 순손익 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 대원전선 (006340) | 09:20 | 09:23 | 12,630 | 12,350 | 142 | SL | -43,449원 |
|
||||
| JW신약 (067290) | 09:20 | 09:21 | 3,030 | 3,100 | 415 | TP1 | +26,353원 |
|
||||
| JW신약 (067290) | 09:20 | 09:21 | 3,030 | 3,110 | 179 | TP2 | +13,153원 |
|
||||
|
||||
## 거래 분석
|
||||
|
||||
### JW신약 (TP1 + TP2)
|
||||
- 09:20:37 진입, 37초 만에 TP1(+2.31%), 46초 만에 TP2(+2.64%) 순차 청산.
|
||||
- 합산 수익 +39,506원. 오늘 유일한 수익 포지션.
|
||||
- KOSPI 급락 속에서도 개장 직후 모멘텀을 정확히 포착한 케이스.
|
||||
- 이후 재진입 차단(TP 당일 재진입 블록)으로 추가 포지션 없음 — 올바른 동작.
|
||||
|
||||
### 대원전선 (SL)
|
||||
- 09:20:23 진입, 09:23:08 SL 청산 (3분). 손실 -43,449원.
|
||||
- SL 폭 -2.22%. KOSPI -4.25% 급락장에서 중소형 비유동주의 역방향 움직임.
|
||||
- SL 손실이 JW신약 수익(+39,506원)을 -43,449원으로 역전시켜 순손익 음전환.
|
||||
- SL 직후 재진입 차단 정상 작동.
|
||||
|
||||
## 유니버스 품질
|
||||
|
||||
- 유니버스 9종목 중 3종목만 목표가 산출 성공:
|
||||
- JW신약, 대원전선, 삼성전자
|
||||
- 나머지 6종목 전일 거래대금 기준(100억) 미달로 제외
|
||||
- 삼성전자(005930) 목표가 354,000원 → 오후 내내 340,000~338,000원으로 미달 유지, 진입 없음.
|
||||
- 유니버스가 얇은 날은 09:20 오픈갱 동시 집중 위험 — 오늘 실제로 09:20에 2종목 동시 진입.
|
||||
|
||||
## 점심 이후 운영
|
||||
|
||||
- 장중 분석 결과 점심 세션 진입 중단 설정 (`enter_allowed: false`).
|
||||
- 11:21 midday_context 로드 후 오후 신규 진입 없음.
|
||||
- 14:50 강제 청산 시 포지션 없음 — 정상.
|
||||
- KOSPI 급락 환경에서 오후 진입 차단은 올바른 판단.
|
||||
|
||||
## 과매매 점검
|
||||
|
||||
- 일 진입 3건 (ticker 기준 2종목) → 허용 범위.
|
||||
- TIME / FORCE 청산 없음 → 시간 관리 정상.
|
||||
- 연속 SL 1회 → L3-B 미발동 (임계값 2회 이상).
|
||||
- SL CASCADE HALT 미발동.
|
||||
|
||||
## AI 필터 품질
|
||||
|
||||
- 전 종목 `ai_boosted = 0` — AI 부스트 미작동.
|
||||
- ML 모델 관찰 전용 유지 (bot-rows 누적 부족).
|
||||
|
||||
## 최근 30일 누적 현황 (11거래일)
|
||||
|
||||
| 지표 | 값 | 기준 | 전일(10거래일) |
|
||||
|---|---|---|---|
|
||||
| 거래일 | 11일 | ≥ 30일 ✗ | 10일 |
|
||||
| 승률 | 51.1% | > 48% ✓ | 50.0% |
|
||||
| MDD | -1.6% | > -10% ✓ | -1.5% |
|
||||
| 샤프 | -1.27 | > 1.0 ✗ | -1.21 |
|
||||
| L3 이벤트 | 0회 | ≤ 2회 ✓ | 0회 |
|
||||
|
||||
- 승률 50.0% → 51.1%로 소폭 개선.
|
||||
- 샤프 -1.27 유지 — 어제(06-22) -110,271원 단일 손실일의 여파.
|
||||
- MDD는 소폭 악화(-1.5% → -1.6%)이나 기준 내 유지.
|
||||
|
||||
## 실전 전환 준비도
|
||||
|
||||
**미충족 조건:**
|
||||
1. 운영 30거래일 미달 (현재 11일 / 나머지 19일)
|
||||
2. 샤프 미달 (-1.27 / 기준 > 1.0)
|
||||
|
||||
나머지 3개 조건(승률·MDD·L3)은 기준 통과. 샤프 회복이 일수 누적만큼 중요한 과제.
|
||||
|
||||
## 전략 제안
|
||||
|
||||
별도 제안서 없음.
|
||||
|
||||
오늘 봇 동작은 전반적으로 정상 범위. 손실은 SL 1건의 구조적 문제가 아닌
|
||||
KOSPI -4.25% 급락 환경에서의 시장 리스크에 기인. 점심 진입 중단도 올바른 판단.
|
||||
|
||||
현재 주요 과제는 전략 변경이 아닌 충분한 거래일 누적과 샤프 회복.
|
||||
|
||||
## 다음 날 주요 체크
|
||||
|
||||
- 유니버스 확장 검토: 100억 기준 적용 시 3/9종목만 유효한 날이 반복될 경우
|
||||
09:20 동시 집중 리스크 증가. 거래대금 기준 조정 필요성 모니터링.
|
||||
- 샤프 회복 — TP 비율 안정화가 핵심 (이번 주 SL 4회 TP 4회).
|
||||
- KOSPI 반등 여부 및 인버스 과열 해소 확인.
|
||||
@@ -0,0 +1,116 @@
|
||||
# 일일 결산 — 2026-06-24
|
||||
|
||||
## 시장 컨텍스트
|
||||
|
||||
전일 KOSPI -4.25% 폭락 이후 기술적 반등 하루. KOSPI +3.35% 강반등 시현.
|
||||
장전 분석에서 반등 예측 적중. 단, SOX -7.87% 반도체 글로벌 충격 잔존으로 개별 종목 변동성 높은 상황.
|
||||
점심 진입 승수 x0.7 적용 (장중 분석 지침).
|
||||
|
||||
---
|
||||
|
||||
## 오늘 거래 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 1건 |
|
||||
| 승/패 | 0승 1패 |
|
||||
| 승률 | 0.0% |
|
||||
| 순손익 | -28,244원 |
|
||||
| 수수료 | 4,244원 |
|
||||
|
||||
### 거래 상세
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 이유 | PnL | AI부스트 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| 삼성전자 (005930) | 09:42:46 | 09:47:41 | 340,500 | 336,500 | 6주 | SL | -28,244원 | O |
|
||||
|
||||
---
|
||||
|
||||
## 청산 사유 분포
|
||||
|
||||
| 사유 | 건수 | 비율 |
|
||||
|---|---|---|
|
||||
| SL | 1 | 100% |
|
||||
| TP1 | 0 | 0% |
|
||||
| TP2 | 0 | 0% |
|
||||
| TIME | 0 | 0% |
|
||||
| FORCE | 0 | 0% |
|
||||
|
||||
---
|
||||
|
||||
## 분석
|
||||
|
||||
### 거래 품질
|
||||
|
||||
- **진입**: KOSPI 강반등 당일 오전 9:42 삼성전자 AI 부스트 진입. 반등 초기 동참 시도.
|
||||
- **청산**: 진입 후 약 5분 만에 SL 발동. 삼성전자 개별 움직임이 KOSPI 반등과 디커플링.
|
||||
- **원인 추정**: SOX 쇼크 이후 반도체 대형주(삼성전자) 특유의 초반 변동성. KOSPI 지수 반등 기여주는 따로 있었을 가능성. 진입 타이밍이 단기 고점이었을 가능성.
|
||||
- **AI 부스트 평가**: AI 부스트가 적용됐으나 손실. 단, 단 1건으로 AI 필터 품질 판단 불가.
|
||||
|
||||
### 과매매 여부
|
||||
|
||||
1건 거래 — 과매매 없음. 장 전체 KOSPI 강반등 환경에서도 1건으로 보수적 운용.
|
||||
|
||||
### 실행 품질
|
||||
|
||||
- 진입/청산가 정상 기록 (340,500 / 336,500).
|
||||
- 14:50 강제 청산 실행됨 (보유 포지션 없어 청산 대상 없음).
|
||||
- 15:10 결산 정상 실행.
|
||||
|
||||
### 블랙리스트
|
||||
|
||||
- 026940 블랙리스트 유지 중.
|
||||
|
||||
---
|
||||
|
||||
## 최근 30일 성과 (12 거래일 기준)
|
||||
|
||||
| 지표 | 값 |
|
||||
|---|---|
|
||||
| 거래일 | 12일 |
|
||||
| 승률 | 50.0% |
|
||||
| MDD | -1.8% |
|
||||
| 샤프 | -1.98 |
|
||||
| L3 발동 | 0회 |
|
||||
|
||||
### 일자별 손익
|
||||
|
||||
| 날짜 | 거래수 | 승/패 | 손익 |
|
||||
|---|---|---|---|
|
||||
| 2026-06-12 | 7 | 4/3 | -25,678원 |
|
||||
| 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원 |
|
||||
|
||||
누적 순손익 (9 거래일): 약 **-112,120원**
|
||||
샤프 비율 -1.98은 손익 변동성 대비 수익이 음수임을 의미.
|
||||
22일의 -110,271원이 전체 성과에 큰 부정적 영향.
|
||||
|
||||
---
|
||||
|
||||
## 전략 변경 제안
|
||||
|
||||
**없음.** 오늘은 거래 1건으로 패턴 판단 불가. 전략 변경을 뒷받침할 충분한 표본 없음.
|
||||
|
||||
관찰 포인트:
|
||||
- KOSPI 강반등 당일 반도체 대형주의 초반 변동성이 SL을 유발한 패턴 재확인.
|
||||
- 진입 타이밍 필터(변동성 안정 후 진입) 개선 여지가 있으나 30건 이상 표본 필요.
|
||||
|
||||
---
|
||||
|
||||
## 실거래 준비 체크리스트
|
||||
|
||||
| 조건 | 기준 | 현재 | 통과 |
|
||||
|---|---|---|---|
|
||||
| 운영 거래일 | >= 30일 | 12일 | X |
|
||||
| 승률 | > 48% | 50.0% | O |
|
||||
| MDD | > -10% | -1.8% | O |
|
||||
| 샤프 | > 1.0 | -1.98 | X |
|
||||
| L3 월 발동 | <= 2회 | 0회 | O |
|
||||
|
||||
**실거래 전환: 미승인** (거래일 부족, 샤프 기준 미달)
|
||||
@@ -0,0 +1,119 @@
|
||||
# 일일 결산 — 2026-06-25
|
||||
|
||||
## 시장 컨텍스트
|
||||
|
||||
KOSPI +4.89% 급반등. 전일(+3.35%)에 이어 이틀 연속 강세, 철강·금융 섹터 주도.
|
||||
마이크론 어닝 서프라이즈 이후 반도체 강세 지속, 단 유가급락으로 항공 수혜 기대도 존재.
|
||||
장중 분석 기준 점심 진입 승수 x0.7 적용.
|
||||
|
||||
---
|
||||
|
||||
## 오늘 거래 요약
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 총 거래 | 1건 |
|
||||
| 승/패 | 0승 1패 |
|
||||
| 승률 | 0.0% |
|
||||
| 순손익 | -32,202원 |
|
||||
| 수수료 | 3,702원 |
|
||||
|
||||
### 거래 상세
|
||||
|
||||
| 종목 | 진입 | 청산 | 진입가 | 청산가 | 수량 | 이유 | PnL | AI부스트 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| 쏠리드 (050890) | 09:20:06 | 09:26:32 | 11,930 | 11,740 | 150주 | SL | -32,202원 | X |
|
||||
|
||||
---
|
||||
|
||||
## 청산 사유 분포
|
||||
|
||||
| 사유 | 건수 | 비율 |
|
||||
|---|---|---|
|
||||
| SL | 1 | 100% |
|
||||
| TP1 | 0 | 0% |
|
||||
| TP2 | 0 | 0% |
|
||||
| TIME | 0 | 0% |
|
||||
| FORCE | 0 | 0% |
|
||||
|
||||
---
|
||||
|
||||
## 분석
|
||||
|
||||
### 거래 품질
|
||||
|
||||
- **진입**: 개장 직후 09:20에 쏠리드 진입. 가격 11,930원 기준.
|
||||
- **청산**: 진입 후 약 6분 만에 SL 발동. 청산가 11,740원, 하락폭 -1.59%.
|
||||
- **원인 추정**: KOSPI가 철강·금융 주도로 급반등하는 장에서 통신/IT 계열인 쏠리드는 섹터 소외 가능성. 지수 강세가 개별 종목 전반에 고르게 전달되지 않은 상황. 장 초반 변동성이 SL을 빠르게 트리거.
|
||||
- **AI 부스트 평가**: AI 부스트 미적용 종목. 당일 AI 필터 품질 판단 불가 (1건 미만 표본).
|
||||
|
||||
### 과매매 여부
|
||||
|
||||
1건 거래 — 과매매 없음. KOSPI 급반등 강세장 환경에서도 1건으로 보수적 운용. 빠른 SL 후 재진입 시도 없음.
|
||||
|
||||
### 실행 품질
|
||||
|
||||
- 진입/청산가 정상 기록 (11,930 / 11,740).
|
||||
- 14:50 강제 청산 실행됨 (보유 포지션 없어 청산 대상 없음).
|
||||
- 15:10 결산 정상 실행. 로그 "결산 이미 처리됨" 확인으로 중복 처리 방지 정상 작동.
|
||||
- 진입 차단 로그 (14:00~15:30) 정상 출력됨.
|
||||
|
||||
### 연속 손실 패턴
|
||||
|
||||
전일(삼성전자 SL -28,244원)에 이어 이틀 연속 SL 단건 패배.
|
||||
6/24~6/25 양일 모두 KOSPI 강반등 환경에서 장 초반 SL 발동. 반등 초기 변동성 속 진입 타이밍 이슈 반복.
|
||||
|
||||
---
|
||||
|
||||
## 최근 30일 성과 (13 거래일 기준)
|
||||
|
||||
| 지표 | 값 |
|
||||
|---|---|
|
||||
| 거래일 | 13일 |
|
||||
| 승률 | 48.9% |
|
||||
| MDD | -2.2% |
|
||||
| 샤프 | -2.72 |
|
||||
| L3 발동 | 0회 |
|
||||
|
||||
### 일자별 손익
|
||||
|
||||
| 날짜 | 거래수 | 승/패 | 손익 |
|
||||
|---|---|---|---|
|
||||
| 2026-06-12 | 7 | 4/3 | -25,678원 |
|
||||
| 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원 |
|
||||
|
||||
누적 순손익 (10 거래일): 약 **-144,322원**
|
||||
샤프 비율 -2.72는 전일 -1.98 대비 추가 악화. 6/22 -110,271원 이후 회복세 없이 소폭 손실 누적 중.
|
||||
|
||||
---
|
||||
|
||||
## 전략 변경 제안
|
||||
|
||||
**없음.** 오늘도 1건으로 통계적 판단 불가.
|
||||
|
||||
관찰 포인트:
|
||||
- KOSPI 급반등 초기 개별 종목 변동성이 SL을 빠르게 유발하는 패턴이 6/24, 6/25 연속 발생.
|
||||
- 강반등 장에서 섹터 소외 종목(반도체 外, 통신/IT) 진입 시 초반 SL 리스크 확인.
|
||||
- 표본 30건 이상 확보 후 진입 타이밍 필터 강화 여부 재검토 예정.
|
||||
|
||||
---
|
||||
|
||||
## 실거래 준비 체크리스트
|
||||
|
||||
| 조건 | 기준 | 현재 | 통과 |
|
||||
|---|---|---|---|
|
||||
| 운영 거래일 | >= 30일 | 13일 | X |
|
||||
| 승률 | > 48% | 48.9% | O |
|
||||
| MDD | > -10% | -2.2% | O |
|
||||
| 샤프 | > 1.0 | -2.72 | X |
|
||||
| L3 월 발동 | <= 2회 | 0회 | O |
|
||||
|
||||
**실거래 전환: 미승인** (거래일 부족, 샤프 기준 미달)
|
||||
@@ -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 |
|
||||
|
||||
**실거래 전환: 미승인** (거래일 부족, 승률·샤프 기준 미달)
|
||||
@@ -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 |
|
||||
|
||||
**실거래 전환: 미승인** (거래일 부족, 승률·샤프 기준 미달)
|
||||
@@ -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 — 안정적 수익 누적 필요)
|
||||
@@ -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 — 꾸준한 수익 누적 필요)
|
||||
@@ -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개 불충족.
|
||||
@@ -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. 샤프 개선을 위해 수익 거래일 집중 필요 — 과도한 패스보다 우량 신호 선별 강화 방향 검토.
|
||||
@@ -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 재발 시 진입 시간 조정 검토.
|
||||
@@ -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` 생성 로직 및 아침 시장 분석 품질 점검.
|
||||
@@ -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거래일 남음. 샤프 개선이 더 큰 과제.
|
||||
@@ -1,5 +1,44 @@
|
||||
# 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
|
||||
|
||||
- Enabled wake-from-sleep behavior for Scheduler tasks:
|
||||
- `scripts/setup_scheduler.ps1` now registers stock tasks with `WakeToRun`.
|
||||
- Re-registered tasks and verified `WakeToRun=True` and `StartWhenAvailable=True`.
|
||||
- Hardened KIS request throttling:
|
||||
- Mock request spacing default: 1.7s.
|
||||
- Real request spacing default: 0.35s, rate limit default: 3/sec.
|
||||
- Added local `.env` override support for request spacing/rate limits.
|
||||
- Added global cooldown after rate-limit responses.
|
||||
- Updated the 2026-06-10 daily report to reflect repeated KIS rate-limit retries.
|
||||
|
||||
## 2026-06-09
|
||||
|
||||
- Re-registered all Windows Scheduler tasks from the live project path:
|
||||
- `C:\Users\whdwo\Desktop\coding\stockbot_v3`
|
||||
- Verified every task action script exists at that path.
|
||||
- Fixed watchdog end-of-day behavior:
|
||||
- `StockBot_Watchdog` now runs 09:00-15:05 every 5 minutes.
|
||||
- `scripts/_watchdog.py` excludes 15:10 so normal daily settlement shutdown is not restarted.
|
||||
- `scripts/run_watchdog.ps1` skips after 15:09:59.
|
||||
- Hardened target calculation:
|
||||
- Targets are cleared before recalculation.
|
||||
- `open=0` is ignored before market open.
|
||||
- Delayed restarts after 08:50 recalculate targets immediately.
|
||||
- Updated operational docs and the 2026-06-09 daily report.
|
||||
|
||||
## 2026-05-28
|
||||
|
||||
- Applied the approved 2026-05-28 strategy update:
|
||||
@@ -120,3 +159,18 @@ Open risks:
|
||||
- Verification:
|
||||
- Python compile check passed.
|
||||
- Runtime import confirmed `ENTRY_START == "09:15"`.
|
||||
|
||||
## 2026-06-15
|
||||
|
||||
- Applied a stale breakout re-entry guard after reviewing the Samsung Electronics `TIME` re-entry.
|
||||
- Changed `app/strategy/volatility_breakout.py`:
|
||||
- `TIME` and `FORCE` final exits now mark the ticker as requiring a fresh breakout.
|
||||
- While that marker is active, a ticker is blocked with `재돌파 대기` if it remains above the same volatility breakout target.
|
||||
- The marker clears only after price moves back below the target, allowing a later fresh breakout entry.
|
||||
- Rationale:
|
||||
- The existing `current_price >= target` condition is the normal volatility breakout entry rule.
|
||||
- The bug was reusing a still-active same-day breakout signal after `TIME/FORCE` cooldown, not the first breakout itself.
|
||||
- This would have blocked the 2026-06-15 Samsung Electronics second entry after the first `TIME` exit.
|
||||
- Updated docs:
|
||||
- `reports/daily/2026-06-15.md`
|
||||
- `reports/proposals/2026-06-15_strategy_proposal.md`
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
# 전략 제안서 — 2026-06-15
|
||||
|
||||
## 요약
|
||||
|
||||
`TIME/FORCE` 청산 후에는 같은 당일 돌파 신호를 그대로 재사용하지 않고,
|
||||
목표가 아래로 한 번 식었다가 다시 돌파할 때만 재진입하도록 필터 추가.
|
||||
|
||||
**적용 완료:** 2026-06-15
|
||||
|
||||
---
|
||||
|
||||
## 관찰된 문제
|
||||
|
||||
오늘(2026-06-15) 삼성전자(005930)가 두 차례 진입됐다. 1차는 09:20 돌파 진입이었고,
|
||||
10:51 `TIME` 청산 후 60분 쿨다운이 끝난 11:51에 다시 진입됐다.
|
||||
|
||||
| 진입 | 진입가 | 목표가(TP) | 차이 | 결과 |
|
||||
|---|---|---|---|---|
|
||||
| 1차 09:20 | 340,000 | 334,000 | -6,000 | TIME -21,681원 |
|
||||
| 2차 11:51 | 338,500 | 334,000 | -4,500 | TIME -1,422원 |
|
||||
|
||||
주의: 코드상 `목표가`는 익절가가 아니라 변동성 돌파 진입 기준가다.
|
||||
따라서 `현재가 >= 목표가`를 무조건 막으면 전략 전체 진입이 중단된다.
|
||||
|
||||
실제 구조적 문제는 `TIME/FORCE` 청산 후에도 현재가가 목표가 위에 머물면,
|
||||
새로운 돌파가 없는데도 쿨다운 종료만으로 같은 신호를 재사용해 재진입할 수 있다는 점이다.
|
||||
|
||||
---
|
||||
|
||||
## 제안 내용
|
||||
|
||||
### TIME/FORCE 후 재돌파 조건 추가
|
||||
|
||||
`mark_final_exit()`에서 `TIME` 또는 `FORCE` 청산 종목을 재돌파 대기 목록에 넣고,
|
||||
`check_entry()`에서 해당 종목이 목표가 아래로 내려오기 전까지 진입을 차단한다.
|
||||
|
||||
```python
|
||||
if ticker in self._rebreak_required_tickers:
|
||||
if current_price >= target:
|
||||
result["reason"] = f"재돌파 대기 ({current_price:,} >= {target:,.0f})"
|
||||
return result
|
||||
self._rebreak_required_tickers.discard(ticker)
|
||||
```
|
||||
|
||||
적용 위치: `app/strategy/volatility_breakout.py` — `check_entry()` 함수 내
|
||||
진입 조건 검사 직전.
|
||||
|
||||
---
|
||||
|
||||
## 기대 효과
|
||||
|
||||
- 오늘 기준: 삼성전자 2차 TIME 재진입(-1,422원) 방어 가능.
|
||||
- 같은 날 같은 돌파 신호를 쿨다운 후 반복 사용하는 구조 차단.
|
||||
- SL/TIME 낭비 거래 제거 → R:R 개선.
|
||||
|
||||
---
|
||||
|
||||
## 위험 및 주의사항
|
||||
|
||||
- 최초 돌파 진입은 기존과 동일하게 허용된다.
|
||||
- TIME/FORCE 뒤에도 가격이 목표가 아래로 내려갔다가 다시 돌파하면 재진입 가능하다.
|
||||
- 샘플: 오늘 1건의 명확한 재진입 사례 관찰. 통계적 근거로는 부족하나, 이는 파라미터 조정이 아니라
|
||||
**논리적 버그 수정**에 해당하므로 소량 샘플로도 충분히 정당화됨.
|
||||
|
||||
---
|
||||
|
||||
## 증거
|
||||
|
||||
| 날짜 | 티커 | 진입가 | 목표가 | 차이 | 손익 |
|
||||
|---|---|---|---|---|---|
|
||||
| 2026-06-15 | 삼성전자(005930) 1차 | 340,000 | 334,000 | -6,000 | -21,681원 |
|
||||
| 2026-06-15 | 삼성전자(005930) 2차 | 338,500 | 334,000 | -4,500 | -1,422원 |
|
||||
|
||||
---
|
||||
|
||||
## 승인 조건
|
||||
|
||||
- [x] `volatility_breakout.py` 내 돌파 목표가 변수(`target`) 접근 확인.
|
||||
- [x] `TIME/FORCE` 청산 후 같은 신호 재사용 경로 확인.
|
||||
- [x] 수동 코드 검토 후 적용.
|
||||
|
||||
**FORCE_EXIT = "14:50"** 변경 없음. SL 우선순위 변경 없음.
|
||||
@@ -0,0 +1,84 @@
|
||||
# 전략 제안 — 2026-06-22
|
||||
|
||||
## 제안 요약
|
||||
|
||||
**오픈 갱 SL 직후 재진입 쿨다운 (Entry Cooldown After Open-Gang SL)**
|
||||
|
||||
> 증거 불충분 경고: 현재 운영 10거래일 / 기준 30거래일.
|
||||
> 이 제안은 관찰 결과 기록 목적이며, 수동 승인 없이 코드에 반영하지 말 것.
|
||||
|
||||
## 문제 현상
|
||||
|
||||
2026-06-22 결산 기준:
|
||||
|
||||
- 09:20:14 에스에이엠티 진입 → 09:22:15 SL (2분 보유, -47,530원)
|
||||
- 09:22:41 아이로보틱스 재진입 (SL 이후 **26초** 경과) → 09:24:52 SL (-59,843원)
|
||||
- 오전 2건 합산 -107,373원 = 오늘 전체 손실 110,271원의 **97%**
|
||||
|
||||
현재 L3-B 배율 조정은 연속 SL 2회 이후 3번째 진입부터 0.5x가 적용된다.
|
||||
즉, SL 직후 26초 만에 새 종목으로 즉시 재진입하는 동작을 막는 장치가 없다.
|
||||
|
||||
유사 사례:
|
||||
- 2026-06-18: 3회 연속 SL로 -50,524원 손실 기록.
|
||||
- 오픈 갱 시간대 연속 SL이 최대 손실 구간과 반복적으로 겹침.
|
||||
|
||||
## 제안 내용
|
||||
|
||||
### 방안 A: SL 후 단기 쿨다운 (권장)
|
||||
|
||||
SL 청산 후 일정 시간 동안 새 진입 차단.
|
||||
|
||||
| 제안값 | 설명 |
|
||||
|---|---|
|
||||
| `ENTRY_COOLDOWN_AFTER_SL_SEC = 300` | SL 청산 후 5분간 신규 진입 금지 |
|
||||
| 적용 조건 | 손절(SL) 청산 직후에만 적용. TP/TIME/FORCE 청산은 제외 |
|
||||
| 범위 | 전 시간대 적용 (오픈 갱에 특히 효과적) |
|
||||
|
||||
- 오늘 시나리오: 09:22:15 SL → 쿨다운 → 09:27:15 이후부터 진입 허용
|
||||
→ 아이로보틱스 09:22:41 진입 차단됨 → -59,843원 회피 가능성
|
||||
|
||||
### 방안 B: 오픈 갱 구간 진입 한도 강화 (보완)
|
||||
|
||||
09:20~09:30 구간에서 SL 1회 발생 시 해당 구간 신규 진입 중단.
|
||||
|
||||
| 제안값 | 설명 |
|
||||
|---|---|
|
||||
| `OPEN_GANG_END = "09:30"` | 오픈 갱 구간 종료 시각 |
|
||||
| `OPEN_GANG_MAX_SL = 1` | 오픈 갱 구간 내 SL 1회 시 해당 구간 진입 종료 |
|
||||
|
||||
- 기존 `ENTRY_START = "09:20"` 유지, 구간 내 SL 후 다음 진입은 09:30 이후.
|
||||
|
||||
## 예상 효과
|
||||
|
||||
- 오늘 시나리오에서 -59,843원 손실 회피 가능 (이론적).
|
||||
- 오픈 갱 변동성 집중 구간에서 연속 손절 규모 제한.
|
||||
- 단점: 오픈 갱에서 회복 흐름이 나왔을 때 진입 기회 일부 손실 가능.
|
||||
|
||||
## 리스크 및 반론
|
||||
|
||||
- 표본 2건(2026-06-22, 2026-06-18)으로 인과관계 주장 불충분.
|
||||
- 오픈 갱 SL 후 즉시 회복하여 수익으로 이어지는 케이스도 존재할 수 있음.
|
||||
- 쿨다운이 너무 짧으면 효과 없고, 너무 길면 수익 기회 손실.
|
||||
- 300초(5분)는 임의값 — 최소 30거래일 데이터로 최적화 필요.
|
||||
|
||||
## 승인 조건
|
||||
|
||||
- 30거래일 이상 운영 후 오픈 갱 SL 패턴 재검토.
|
||||
- 10거래일 이상의 백테스트 또는 데이터 분석으로 쿨다운 300초의 실효성 검증.
|
||||
- 수동 코드 수정 및 `.env` 변경 승인 필요.
|
||||
|
||||
## 구현 위치 (참고용, 미승인)
|
||||
|
||||
```python
|
||||
# app/config.py 에 추가 (승인 후)
|
||||
ENTRY_COOLDOWN_AFTER_SL_SEC = 300 # SL 후 재진입 쿨다운(초)
|
||||
|
||||
# app/strategy/volatility_breakout.py check_entry() 에 추가 (승인 후)
|
||||
# last_sl_time이 있고 현재시각 - last_sl_time < ENTRY_COOLDOWN_AFTER_SL_SEC이면 차단
|
||||
```
|
||||
|
||||
## 상태
|
||||
|
||||
- [ ] 수동 승인 대기
|
||||
- [ ] 30거래일 데이터 충족 대기
|
||||
- [ ] 코드 구현 미완료
|
||||
+10
-2
@@ -17,6 +17,14 @@ from app.main import 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:
|
||||
result = subprocess.run(
|
||||
["tasklist", "/FI", f"PID eq {pid}", "/NH"],
|
||||
@@ -69,7 +77,7 @@ def _restart_bot() -> int:
|
||||
log_path = PROJECT / "logs" / "bot_stderr.log"
|
||||
with open(log_path, "a", encoding="utf-8") as log:
|
||||
proc = subprocess.Popen(
|
||||
[sys.executable, "-u", "app/main.py"],
|
||||
[_bot_python(), "-u", "app/main.py"],
|
||||
cwd=PROJECT,
|
||||
creationflags=creationflags,
|
||||
stdout=log,
|
||||
@@ -85,7 +93,7 @@ async def main():
|
||||
now = datetime.now()
|
||||
now_str = now.strftime("%H:%M")
|
||||
|
||||
if not ("09:00" <= now_str <= "15:10"):
|
||||
if not ("09:00" <= now_str < "15:10"):
|
||||
print(f"[{now_str}] outside trading window - watchdog skipped")
|
||||
return
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
chcp 65001 | Out-Null
|
||||
$OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
$env:PYTHONUTF8 = "1"
|
||||
$env:PYTHONIOENCODING = "utf-8"
|
||||
|
||||
$Root = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Path)
|
||||
Set-Location $Root
|
||||
. "$Root\scripts\stockbot_env.ps1"
|
||||
|
||||
@@ -27,7 +27,7 @@ if ($LASTEXITCODE -ne 0) {
|
||||
|
||||
$now = Get-Date
|
||||
$start = Get-Date -Hour 9 -Minute 0 -Second 0
|
||||
$end = Get-Date -Hour 15 -Minute 10 -Second 59
|
||||
$end = Get-Date -Hour 15 -Minute 9 -Second 59
|
||||
if ($now -lt $start -or $now -gt $end) {
|
||||
Write-WatchdogLog "outside watchdog window - skipped"
|
||||
exit 0
|
||||
|
||||
@@ -25,14 +25,16 @@ function Register-StockTask {
|
||||
$Trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek $Weekdays -At $Time
|
||||
$Action = New-ScheduledTaskAction `
|
||||
-Execute "powershell.exe" `
|
||||
-Argument "-NonInteractive -ExecutionPolicy Bypass -File `"$Project\scripts\$Script`"" `
|
||||
-Argument "-NoProfile -WindowStyle Hidden -NonInteractive -ExecutionPolicy Bypass -File `"$Project\scripts\$Script`"" `
|
||||
-WorkingDirectory $Project
|
||||
$Settings = New-ScheduledTaskSettingsSet `
|
||||
-ExecutionTimeLimit (New-TimeSpan -Minutes $LimitMinutes) `
|
||||
-StartWhenAvailable `
|
||||
-WakeToRun `
|
||||
-DontStopIfGoingOnBatteries `
|
||||
-RunOnlyIfNetworkAvailable:$false
|
||||
$Settings.DisallowStartIfOnBatteries = $false
|
||||
$Settings.Hidden = $true
|
||||
|
||||
Register-ScheduledTask `
|
||||
-TaskName $Name `
|
||||
@@ -47,15 +49,22 @@ function Register-StockTask {
|
||||
}
|
||||
|
||||
function Register-WatchdogTask {
|
||||
$TaskName = "\StockBot\StockBot_Watchdog"
|
||||
$ScriptPath = Join-Path $Project "scripts\run_watchdog.ps1"
|
||||
$Command = 'schtasks /Create /TN "\StockBot\StockBot_Watchdog" /TR "\"powershell.exe\" -NonInteractive -ExecutionPolicy Bypass -File \"' + $ScriptPath + '\"" /SC MINUTE /MO 5 /ST 09:00 /ET 15:10 /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
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "StockBot_Watchdog registration failed"
|
||||
}
|
||||
|
||||
Write-Host "[OK] StockBot_Watchdog registered at 09:00-15:10 every 5 minutes" -ForegroundColor Green
|
||||
$Task = Get-ScheduledTask -TaskName "StockBot_Watchdog" -TaskPath $TaskPath
|
||||
$Task.Settings.StartWhenAvailable = $true
|
||||
$Task.Settings.WakeToRun = $true
|
||||
$Task.Settings.DisallowStartIfOnBatteries = $false
|
||||
$Task.Settings.StopIfGoingOnBatteries = $false
|
||||
$Task.Settings.Hidden = $true
|
||||
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
|
||||
}
|
||||
|
||||
Register-StockTask "StockBot_Morning" "08:15" "run_morning.ps1" 20
|
||||
|
||||
@@ -11,6 +11,14 @@ PID_FILE = PROJECT / "logs" / "bot.pid"
|
||||
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:
|
||||
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:
|
||||
proc = subprocess.Popen(
|
||||
[sys.executable, "-u", "app/main.py"],
|
||||
[_bot_python(), "-u", "app/main.py"],
|
||||
cwd=PROJECT,
|
||||
creationflags=creationflags,
|
||||
stdout=log,
|
||||
|
||||
+8
-6
@@ -155,8 +155,8 @@ AI는 두 종류로 나뉜다.
|
||||
| 08:15 | `StockBot_Morning` | `/morning`, 뉴스/시장 분석, `daily_context.json` 생성 |
|
||||
| 08:30 | 봇 컨텍스트 로드 | AI 컨텍스트 로드, 유니버스 갱신 |
|
||||
| 08:50 | 목표가 계산 | 전일 고저와 당일 시가 기반 |
|
||||
| 09:00 | 매매 루프 시작 | 실제 신규 진입은 `ENTRY_START=09:15` 이후 |
|
||||
| 09:00-15:10 | `StockBot_Watchdog` | 5분마다 봇 생존 감시 |
|
||||
| 09:00 | 매매 루프 시작 | 실제 신규 진입은 `ENTRY_START=09:20` 이후 |
|
||||
| 09:00-15:05 | `StockBot_Watchdog` | 5분마다 봇 생존 감시, 15:10 결산 직후 재시작 금지 |
|
||||
| 11:00 | 점심 컨텍스트 대기 | `midday_context.json` 전까지 신규 진입 중지 |
|
||||
| 11:20 | `StockBot_Midday` | `/midday`, 점심 세션 조건 생성 |
|
||||
| 14:00 | 신규 진입 중단 | 보유 포지션 청산 체크는 계속 |
|
||||
@@ -177,9 +177,10 @@ AI는 두 종류로 나뉜다.
|
||||
| `StockBot_Midday` | 11:20 | `scripts/run_midday.ps1` |
|
||||
| `StockBot_Evening` | 15:30 | `scripts/run_evening.ps1` |
|
||||
| `StockBot_Training` | 16:00 | `scripts/run_training_pipeline.ps1` |
|
||||
| `StockBot_Watchdog` | 09:00-15:10, 5분마다 | `scripts/run_watchdog.ps1` |
|
||||
| `StockBot_Watchdog` | 09:00-15:05, 5분마다 | `scripts/run_watchdog.ps1` |
|
||||
|
||||
모든 실행 스크립트는 프로젝트 내부 `.venv`의 Python을 우선 사용한다.
|
||||
08:50 이후 재시작 시 봇은 목표가를 즉시 재계산하며, KIS 시가가 `0`이면 목표가 계산에서 제외한다.
|
||||
|
||||
---
|
||||
|
||||
@@ -273,7 +274,7 @@ Restore_StockBot.bat
|
||||
2. KIS REST 요청 제한 초과와 타임아웃이 장초반에 발생할 수 있다.
|
||||
3. WebSocket/Redis 기반 실시간 구조는 아직 미완성이다.
|
||||
4. 실거래 전환 전에는 체결, 부분체결, 미체결, 취소/정정, 재시작 복구 로직이 더 필요하다.
|
||||
5. 초반 09:15 이후에도 손실 집중이 반복되는지 추가 검증이 필요하다.
|
||||
5. 초반 09:20 이후에도 손실 집중이 반복되는지 추가 검증이 필요하다.
|
||||
6. `AI_RISK_SL_MAP`의 한글 키 인코딩은 점검이 필요하다. 정상 risk level과 매핑되지 않으면 리스크별 SL 조정이 무력화될 수 있다.
|
||||
7. 기존 로그와 일부 문서는 인코딩 깨짐이 남아 있어 장기적으로 정리해야 한다.
|
||||
|
||||
@@ -286,10 +287,11 @@ Restore_StockBot.bat
|
||||
| 제안 | 상태 |
|
||||
|------|------|
|
||||
| `ENTRY_START` 09:05 -> 09:15 | 승인 및 적용 |
|
||||
| `ENTRY_START` 09:15 -> 09:20 | 승인 및 적용 |
|
||||
| 장초반 포지션 축소 | 보류 |
|
||||
| 시간대별 SL 강화 | 보류 |
|
||||
|
||||
`ENTRY_START=09:15` 변경 후 최소 5거래 이상 관찰한 뒤 다음 조정을 판단한다.
|
||||
`ENTRY_START=09:20` 변경 후 최소 5거래 이상 관찰한 뒤 다음 조정을 판단한다.
|
||||
|
||||
---
|
||||
|
||||
@@ -323,7 +325,7 @@ DRY_RUN=false
|
||||
1. `AI_RISK_SL_MAP` 인코딩/키 매핑 점검
|
||||
2. KIS API rate-limit 완화
|
||||
3. KIS minute-bar 실응답 검증
|
||||
4. 장초반 09:15 이후 손익 데이터 축적
|
||||
4. 장초반 09:20 이후 손익 데이터 축적
|
||||
5. WebSocket 시세 구조 도입
|
||||
6. 실거래용 주문 복구/부분체결/미체결 처리 강화
|
||||
7. NAS Docker 이전
|
||||
|
||||
Reference in New Issue
Block a user