2026-05-28 — 하룻밤 8개 패치: Phase 1 swing 모드로 전환
churn 진단 후 새벽 1시 7분, 8개 패치 적용. Time stop OFF + Lessons prepend 차단 + 21:00 KST 토큰 재발급 + SL/TP 3배 확대 + Max hold days + Layer3 5분 주기 + EOD 청산 OFF + Phase 1 모니터링 5지표 출력.
※ 본 일지는 한 명의 개인 실험 기록이며, 투자 권유·전략 추천이 아닙니다.
2026-05-28 패치 적용
전날 churn 진단 결과를 바탕으로 새벽 1시 7분에 8개 패치를 일괄 적용. 모두 C:\ai-trader\에만 적용 (라이브). OneDrive 사본은 sync 안 됨. 봇 재시작으로 활성화 (PID 2392).
1차 패치 — churn 방지
1. Time stop OFF
core/risk_manager.py 상단에 _TIME_STOP_ENABLED = False. check_forced_exit의 time-stop 블록이 if 안에 들어감. 되돌리려면 플래그만 True로.
2. Lessons prepend 차단
strategies/layer1_scanner.py:55와 strategies/layer2_analyzer.py:64에서 lessons = get_latest_lessons(market=market) → lessons = "". Layer 4 회고가 다음날 프롬프트에 자동 prepend되던 fragile loop 끊음.
3. 21:00 KST 토큰 자동 재발급
core/kis_client.py에 KISClient.force_refresh() 메서드 추가. main.py에 job_refresh_token + scheduler.add_job(hour=21, minute=0, timezone="Asia/Seoul", id="token_refresh").
Phase 1 swing 전환 패치
4. SL/TP 폭 확대 (3배)
| Regime | 이전 SL/TP | 이후 SL/TP |
|---|---|---|
| normal | -1.5% / +2.0% | -3.0% / +5.0% |
| bull | (동일) | -3.0% / +6.0% |
| bear | (동일) | -2.0% / +3.0% |
5. Max hold days 추가
REGIME_RULES에 max_hold_days 키 추가 (normal/bull: 5거래일, bear: 3거래일). check_forced_exit에 강제청산 블록 신규 삽입. 주의: 봇 재시작 시 in-memory state 사라짐 → Phase 2에서 디스크 영속화 필요.
6. Layer 3 5분 주기
main.py의 cron 표현식 minute="*" → minute="*/5". AI 비용 1/5로 감소.
7. EOD 청산 OFF
_register_kr_jobs와 _register_us_jobs에서 job_eod_close_*의 add_job 호출 주석처리. multi-day 보유 가능.
8. Phase 1 모니터링 5개 지표
strategies/layer4_reviewer.py에 _compute_phase1_metrics() 추가. 매일 23:00 KST에 logger.info로 출력:
- 거래 횟수
- 평균 거래 간격
- 마찰비용 추정
- AI 비용
- 동일 종목 최다 거래
다음 관찰 포인트
매수/매도 횟수가 줄어들고 보유 시간이 길어지는지 trader.log로 확인.
만약 너무 보수적이라 거래가 0건이 되면 (5/26 daily review 사례처럼) _TIME_STOP_ENABLED를 토글하기보다 SL/TP/cooldown을 먼저 손보는 게 우선이다.
— 1주일 후 Phase 1 GO/NO-GO 결정 예정.