[2026-05-27] 포맷 후 복구 설치 스크립트 추가
This commit is contained in:
+49
-41
@@ -1,57 +1,65 @@
|
||||
#!/bin/bash
|
||||
# 장 후 피드백 - 매일 15:30 자동 실행
|
||||
# NAS Container Manager 스케줄: 평일 15:30
|
||||
# Evening review - runs after market close.
|
||||
|
||||
TODAY=$(date '+%Y-%m-%d')
|
||||
|
||||
claude --bare -p "
|
||||
오늘($TODAY) 매매 결과를 분석하고 개선해.
|
||||
Analyze today's StockBot trading result for $TODAY.
|
||||
|
||||
## 데이터 수집
|
||||
1. sqlite3 data/stockbot.db 로 오늘 매매 내역 조회:
|
||||
Hard rule:
|
||||
- Do not edit app/config.py or any execution, strategy, risk, or order code.
|
||||
- If a parameter change looks necessary, write it as a proposal only.
|
||||
- FORCE_EXIT must remain 14:50.
|
||||
|
||||
Data to inspect:
|
||||
1. SQLite:
|
||||
SELECT * FROM trades WHERE date='$TODAY';
|
||||
SELECT * FROM daily_summary WHERE date='$TODAY';
|
||||
2. logs/trades.log 에서 오늘 로그 확인
|
||||
3. reports/daily/ 에서 최근 30일 리포트 읽어서 패턴 파악
|
||||
2. logs/stockbot.log for today's runtime errors and entry diagnostics.
|
||||
3. Recent reports under reports/daily/.
|
||||
|
||||
## 분석 항목
|
||||
- 오늘 총 매매 횟수, 승률, 순손익
|
||||
- 청산 이유 분포 (TP1/TP2/SL/FORCE/TIME)
|
||||
- 이상 패턴 감지:
|
||||
* 연속 손절 3회 이상 여부
|
||||
* 14:50 강제청산 비율 30% 초과 여부
|
||||
* 슬리피지 과다 여부
|
||||
- AI 판단 정확도 (boosted 종목 성과)
|
||||
Review focus:
|
||||
- Total trades, win rate, net PnL, fees.
|
||||
- Exit reason distribution: TP1 / TP2 / SL / TIME / FORCE.
|
||||
- Overtrading signals:
|
||||
* daily entries near or above MAX_DAILY_ENTRIES
|
||||
* repeated stop losses
|
||||
* many TIME or FORCE exits
|
||||
- AI filter quality:
|
||||
* boosted tickers performance
|
||||
* blacklisted or avoided sectors
|
||||
- Execution quality:
|
||||
* missing prices
|
||||
* abnormal zero-price rows
|
||||
* duplicated or inconsistent position/trade rows
|
||||
|
||||
## 코드 수정 (문제 명확할 때만)
|
||||
- app/config.py 의 파라미터만 수정 가능
|
||||
- 반드시 수정 이유를 주석으로 추가
|
||||
- FORCE_EXIT=14:50 절대 변경 불가
|
||||
- 수정 없으면 건드리지 말 것
|
||||
Write outputs:
|
||||
1. reports/daily/${TODAY}.md
|
||||
- result summary
|
||||
- exit reason distribution
|
||||
- overtrading assessment
|
||||
- execution or logging issues
|
||||
- next-day watch items
|
||||
|
||||
## 실전 전환 조건 체크
|
||||
sqlite3로 최근 30거래일 데이터 집계 후 아래 5가지 모두 충족 시:
|
||||
1. 누적 운영 30거래일 이상
|
||||
2. 최근 30일 승률 > 48%
|
||||
3. 최근 30일 MDD < -10%
|
||||
4. 최근 30일 샤프지수 > 1.0
|
||||
5. L3 발동 월 2회 이하
|
||||
2. reports/proposals/${TODAY}_strategy_proposal.md only if changes are justified.
|
||||
Include:
|
||||
- exact proposed config value
|
||||
- evidence from at least 30 closed trades, or clearly state sample size is insufficient
|
||||
- expected benefit
|
||||
- risk of the change
|
||||
|
||||
→ 충족 시 reports/live_ready/${TODAY}_READY.md 생성
|
||||
Live readiness check:
|
||||
- at least 30 closed trades
|
||||
- recent win rate > 48%
|
||||
- recent MDD better than -10%
|
||||
- Sharpe > 1.0
|
||||
- stop/kill risk events <= 2
|
||||
If all pass, write reports/live_ready/${TODAY}_READY.md.
|
||||
|
||||
## 리포트 저장
|
||||
reports/daily/${TODAY}.md 저장 (마크다운, 한국어):
|
||||
- 오늘 결과 요약
|
||||
- 이상 패턴 여부
|
||||
- 코드 수정 내역 (있을 경우)
|
||||
- 누적 성과 (운영 N일차)
|
||||
- 내일을 위한 한 줄 코멘트
|
||||
|
||||
## Discord 알림
|
||||
환경변수 DISCORD_WEBHOOK_URL로 전송:
|
||||
1. [일일결산] $TODAY | 매매N회 | 승률X% | 손익+X원
|
||||
2. 코드 수정 발생 시: [🔧코드수정] 변경 내용 요약
|
||||
3. 실전 전환 조건 충족 시: [🚀실전전환권고] 30일 검증 완료! .env에서 KIS_MOCK=false로 변경하세요.
|
||||
Discord:
|
||||
Send a concise summary to DISCORD_WEBHOOK_URL:
|
||||
[일일결산] $TODAY | trades=N | win=X% | pnl=+X | exits=TP1:n/TP2:n/SL:n/TIME:n/FORCE:n
|
||||
If a proposal file was created, include: [전략제안] proposal saved, manual approval required.
|
||||
" \
|
||||
--allowedTools "Read,Write,Bash" \
|
||||
--dangerously-skip-permissions \
|
||||
|
||||
Reference in New Issue
Block a user