작성일: 2026-08-05 (당일 현행화 — 킬스위치 §4-3·4-4·4-6·4-7 구현 완료 반영) · 기준 문서:
planner/LIVE_TRADING_PLAN_2M.md(실거래 2개월 플랜 W1~W4 구간) +live/docs/killswitch-plan.md+ 레포 현황8월 목표 한 줄 요약: mock 계좌에서 신호→주문→일지→알림 전 사이클을 무사고로 돌리고, 킬스위치를 실환경 검증까지 마쳐 월말 게이트 G4(실계좌 전환 심사) 통과 준비를 마친다.
원칙: mock 검증 없이는 실계좌 없다. 8월 중 실계좌 주문은 없다 (실계좌 파일럿은 9월 W5부터).
research/build_site.py) + 리서치 허브 정적 서빙live/docs/killswitch-plan.md §4 전 항목):DAILY_LOSS_LIMIT_RATIO 추가, 기본 비활성)health.py) — S1~S3 평가, /api/status 노출, WS 상태 push, HALTED 수동 해제 채택(HEALTH_MANUAL_RESUME=true, §7-4 결정 완료)place_order() 앞단 연결, entry/exit 비대칭 차단/api/liquidate 보강 — CSRF 차단(server/security.py) + 종목 단위 실패 격리·비동기화·진행 WS push·금액 큰 종목 우선watchdog.py)server/candles.py+chart.html), 업비트 WS 클라이언트(crypto/upbit.py), PING 측정 도구(wsprobe.py)live/ 전량 커밋 완료(8/5, 테스트 231개·ruff 통과).env 앱키 미입력 (mock 계좌 미개통) — 후속 작업 대부분의 선행 조건wsprobe.py 실측 → S1 임계값 확정 (mock 계좌 필요)| # | 작업 | 스트림 | 완료 기준 |
|---|---|---|---|
| ~~1~~ | ~~미커밋 작업 테스트 확인 후 커밋 정리~~ | C | ✅ 완료 (8/5) — 231개 테스트·ruff 통과, 커밋 c0ba671 |
| 2 | 코스닥 수집 완료 확인 → kosdaq_full.sqlite 검증 리포트(행수·상폐 수·결측) |
A | 검증 리포트 1건 |
| 3 | scheduler.py Windows 작업스케줄러 등록 — 일일 update_kr + 주간 update_us |
A | 스케줄 등록·1회 자동 실행 로그 |
| 4 | 키움 개발자포털 앱키 발급 → live/.env 입력(mock) → 시세·잔고 조회 확인 |
C | quant.py 조회 성공 |
| 5 | 텔레그램 봇 생성 → live/telegram_notify.py 구현(체결·손절·레짐 전환 알림) |
E | 알림 수신 확인 |
| 6 | 리서치 3종 양식 시운전 — 오전브리핑 1건 수기 작성 | D | 발행 1건 |
| 게이트 G1 | mock 시세 조회 + 텔레그램 수신 성공 |
| # | 작업 | 스트림 | 완료 기준 |
|---|---|---|---|
| 1 | ~~§4-3 헬스 모니터 구현~~ ~~§4-4 주문 게이트 구현~~ → §6 시나리오 테스트로 대체: WS 반열림(방화벽 차단)·REST 타임아웃·회선 단절·손실 한도·주문 폭주·CSRF | C | 시나리오별 기대 결과 확인 기록 |
| 2 | wsprobe.py 30분 실측(장 마감 후·점심 시간대) → S1 임계값(WS_STALE_SECONDS·HEALTH_WS_*) 확정 |
C | 측정 기록 + 값 확정 |
| 3 | emit_signal.py → apply_signals.py mock dry-run, 주문 로그 검증 |
B | 주문 로그 무결 |
| 4 | MAX_ORDER_KRW 상한·수량 절사·호가 단위 리허설 |
C | 리허설 로그 |
| 5 | HTS 이평선 세트(5~240) 차트 환경 + RS·RSI 스크리너(screen_factor.py 확장) — 자체 캔들 차트(chart.html) 지표 오버레이 확장 검토 |
B | 스크리너 산출 확인 |
| 6 | 매매일지(trade_log.jsonl) → 일일업무보고서 자동 삽입 스크립트 |
D | 자동 생성 1건 |
| 7 | live/server 대시보드(8000) + QA 대시보드(8899) 상시화 — 중복 프로세스 정리 포함 |
E | 상시화 확인 |
| 게이트 G2 | mock 월 리밸런스 1회 전체 사이클(신호→주문→체결→일지→알림) 무결 통과 |
| # | 작업 | 스트림 | 완료 기준 |
|---|---|---|---|
| 1 | QS 스위칭(QB↔QA) mock 무감독 운용 시작 — 스케줄러 자동 (2주 연속 목표) | B | 무감독 가동 개시 |
| 2 | ~~외부 감시자 구현~~ → watchdog.py 상시 가동 등록(작업스케줄러) + 프로세스 kill 시 알림 수신 검증 |
E | 알림 수신 확인 |
| 3 | 재현성 점검: 클린 클론 → uv sync → 테스트 → 신호 산출 원커맨드 재현 메뉴얼 |
A | 메뉴얼 문서 |
| 4 | 오전·마감브리핑 일일 발행 정례화 + 데이터 자동 채움 스크립트 1차 | D | 연속 발행 개시 |
| 5 | 구글드라이브 연동(rclone/Drive API) — 보고서·매매일지 자동 백업, 엑셀 허브 | E | 자동 백업 확인 |
| 게이트 G3 | 무감독 mock 운용 1주 + 일일 리포트 5건 연속 발행 |
| # | 작업 | 스트림 | 완료 기준 |
|---|---|---|---|
| 1 | mock 운용 성과 vs 백테스트 괴리 분석(슬리피지·체결율) 보고서 | B | 괴리 보고서 |
| 2 | 장애 시나리오 리허설 — 토큰 만료·주문 거부·부분 체결·네트워크 단절 → 복구 절차 문서화 | C | 장애 대응 문서 |
| 3 | 거버넌스 문서 확정 — 운용 규정(한도·손절·중단 조건)·권한·승인 체계 | D | 거버넌스 문서 |
| 4 | 대시보드 실시간 포지션·손익·리스크(낙폭) 패널 완성, dd_alert.py 텔레그램 연결 |
E | 패널 + 알림 가동 |
| 5 | 손실 한도 실값 결정 → .env 활성화 — 비율(DAILY_LOSS_LIMIT_RATIO) 권장, 절대금액은 우선 적용됨. 사전에 python trade.py risk로 순자산 계산 HTS 대조 |
C | 값 결재·활성화 |
| 게이트 G4 (실계좌 전환 심사) | mock 3주 무사고 + 괴리 보고서 + 거버넌스 승인 → 대표님 결재 |
| # | 항목 | 기한 | 상태 |
|---|---|---|---|
| 1 | Layer 1 가능 여부 — 키움 API 서버 측 상주 손절 주문 존재 확인 (없으면 PC 전원 차단은 포지션 크기로만 방어) | W2 | 키움 문의/문서 확인 필요 |
| 2 | 키움 WS PING 주기 실측 → S1 임계값 확정 | W2 | 도구(wsprobe.py) 준비 완료 — mock 앱키 입력 후 실측 |
| 3 | 일일 손실 한도(DAILY_LOSS_LIMIT_RATIO 또는 _KRW) — 계좌 규모 대비 결정 |
W4 | 대표님 협의 |
| ~~4~~ | ~~HALTED 자동 복귀 vs 수동 해제~~ | — | ✅ 결정 완료 (8/5) — 수동 해제 채택(HEALTH_MANUAL_RESUME=true), 대시보드 '거래 재개' 버튼 |
| 5 | 자동 청산 포함 여부 — 현재 구현은 미포함(진입 차단+알림까지, 청산은 수동 /api/liquidate) |
W3 | 대표님 협의 |
_check_prices) → 신호 발행 중단, repair_kr_holes.py 복구 후 재개live/.venv 패키지 갱신은 대시보드 중지 후 실행 (실행 중 uv sync 시 파일 잠금으로 venv 파손 — 8/5 실사고)