Files
QuantEngineByItz/docs/DAILY_SIGNAL_TRACKING.md
T
kjh2064 2c49f083d0 feat(deployment): Add deployment script and signal tracking system
배포 및 실전 운영 준비:

1. 배포 스크립트 (deploy.sh)
   - SSH 기반 자동 배포
   - 원격 백업 생성
   - nginx 자동 재시작
   - 헬스 체크

2. Live Outcome Ledger (live_outcome_ledger.gs)
   - addSignal_(): 신호 기록
   - updatePriceT5_(): T+5 가격 입력
   - updatePriceT20_(): T+20 가격 + outcome 자동 계산
   - calculateStats_(): 통계 계산 (win_rate, avg_margin)
   - checkCalibrationReady_(): CALIBRATED 전환 조건 확인
   - calibrateIfReady_(): 자동 전환 (30개 신호 + 60% 승률)

3. 일일 추적 가이드 (DAILY_SIGNAL_TRACKING.md)
   - 신호 발생 시 → T+5 → T+20 프로세스
   - 주간 리뷰 체크리스트
   - 마일스톤 일정 (6주)
   - CALIBRATED 전환 조건
   - honest_proof_score 개선 경로

배포 준비:
  - publish 폴더: 24MB (172개 파일)
  - appsettings.json: PostgreSQL 연결 설정됨
  - MudBlazor UI: 반응형 대시보드
  - GAS 함수: 7개 (P3~P6)

실전 운영:
  - 신호 수집 기간: 2026-06-25 ~ 2026-08-10 (6주)
  - 목표: 30개 신호 + win_rate >= 60%
  - 최종 목표: honest_proof_score 95.0 달성

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-25 17:57:50 +09:00

5.5 KiB

📊 Daily Signal Tracking Guide

목표: 30개 거래신호 수집 → CALIBRATED 전환 → honest_proof_score 95 달성

기간: 2026-06-25 ~ 2026-08-10 (약 6주)


📋 매일 해야 할 일

1️⃣ 신호 발생 시 (거래 진입 시점)

# Python 또는 GAS 콘솔에서 실행
signal = {
    "date": "2026-06-25",
    "ticker": "000660",           # SK하이닉스 등
    "signal_type": "BUY",         # BUY 또는 SELL
    "signal_score": 78,           # 0-100
    "entry_price": 50000,         # KRW
    "entry_quantity": 10,         # 주
    "entry_time": "10:30",        # HH:MM
    "style": "SWING",             # SCALP|SWING|MOMENTUM|POSITION
    "routing_confidence": 82,     # buildRoutePacket_ 결과
    "notes": "MA20 돌파 + 스마트머니 매수"
}

# GAS: addSignal_(signal)
# 또는 스프레드시트에 직접 입력

체크리스트:

  • signal_id 자동 생성됨 (YYYYMMDD_HHMM 형식)
  • validation_status = "UNVALIDATED"
  • 스프레드시트 행 추가됨

2️⃣ T+5 (5거래일 후)

거래일 기준:
- 월요일 진입 → 다음주 월요일이 T+5
- 금요일 진입 → 그다음주 금요일이 T+5

해야 할 일:

  1. T+5일의 종가 조회
  2. updatePriceT5_(signalId, priceT5) 실행
  3. 또는 스프레드시트 "price_t5" 열에 직접 입력

예시:

signal_id: 20260625_1030
진입가: 50,000
T+5 종가: 51,000

3️⃣ T+20 (20거래일 후) 가장 중요

T+5 이후 추가 15거래일 경과

해야 할 일:

  1. T+20 종가 조회
  2. updatePriceT20_(signalId, priceT20) 실행
  3. 자동으로 계산됨:
    • return_pct_t20 = (priceT20 - entryPrice) / entryPrice * 100
    • outcome = WIN / LOSS / BREAKEVEN
    • win_margin = |return_pct_t20|
    • validation_status = PROVISIONAL (자동으로 UNVALIDATED → PROVISIONAL 전환)

판정 기준:

return_pct_t20 > 2%    → WIN
-2% ≤ ret_pct ≤ 2%    → BREAKEVEN (통계 제외)
return_pct_t20 < -2%   → LOSS

예시:

signal_id: 20260625_1030
진입가: 50,000
T+20 종가: 51,050
수익률: (51,050-50,000)/50,000 * 100 = 2.1%
outcome: WIN ✅
win_margin: 2.1
validation_status: PROVISIONAL

📈 주간 리뷰 (매주 금요일)

확인 사항

// GAS 콘솔에서 실행
stats = calculateStats_();
Logger.log(JSON.stringify(stats, null, 2));

출력 예시:

{
  "total": 8,
  "completed": 4,
  "win_count": 3,
  "loss_count": 1,
  "breakeven_count": 0,
  "win_rate": "75.00",
  "avg_win_margin": "2.45",
  "calibrated_progress": "4/30"
}

분석

  • win_rate >= 60%? → YES면 순조로운 진행
  • 📊 avg_win_margin → 평균 수익률 확인
  • 🎯 calibrated_progress → 남은 신호 수 (30 - 완료)

보고

## 주간 리포트 (Week 1)

| 항목 | 값 |
|------|-----|
| 누적 신호 | 8개 |
| 완료됨 | 4개 |
| 승률 | 75% |
| 평균 수익 | 2.45% |
| 진행률 | 4/30 |
| 예상 완료 | 2026-07-20 |

🎯 마일스톤

Week 1-2 (2026-06-25 ~ 2026-07-08)

  • 목표: 6-8개 신호
  • 누적: 6-8개
  • 예상 승률: 50-70%

Week 3-4 (2026-07-09 ~ 2026-07-22)

  • 목표: 추가 8-10개
  • 누적: 14-18개
  • T+20 데이터 수집 시작 (첫 신호들 마감)

Week 5-6 (2026-07-23 ~ 2026-08-05)

  • 목표: 추가 8-10개
  • 누적: 22-28개
  • 승률 검증 시작

Week 7 (2026-08-06 ~ 2026-08-10)

  • 목표: 최종 2-8개
  • 누적: 30개 완료
  • CALIBRATED 전환 확인

🚀 CALIBRATED 전환

자동 확인

// 매일 또는 주간 실행
check = checkCalibrationReady_();
Logger.log(JSON.stringify(check, null, 2));

조건

✅ sample_count >= 30
✅ avg_win_rate >= 60%

전환 프로세스

// 조건 충족 시 실행
calibrateIfReady_();

// 결과
// → 모든 PROVISIONAL → CALIBRATED
// → honest_proof_score +15점 (86.57 → 101.57... 실제로는 cap 95)
// → 알고리즘 locked 배포

📊 honest_proof_score 개선 경로

현재: 56.57

Phase 1 (P0): +10점
  → 66.57

Phase 2 (30건 샘플): +20점
  → 86.57

Phase 3 (P3~P6 운영): +8점
  → 94.57 ≈ 95 목표 달성 ✅

⚠️ 주의사항

신호 품질

  • 거짓 신호 추가 금지 (spec 위반)
  • 뒷북 신호 제외 (P5 Alpha Lead 미충족)
  • 배분 위험 신호 차단 (P5 Distribution Risk Gate)

데이터 정확성

  • T+20 가격: KIS/OpenAPI/Yahoo Finance에서 정확하게 수집
  • 수익률 계산: 수수료·세금 제외 (순가격 기준)
  • 시간대: 모든 시간대는 KRW/KST 기준

매뉴얼 점검

  • 주당 1회 통계 검증
  • 월당 1회 샘플 품질 감사
  • 승률 급락 시 즉시 신호 정책 재검토

📝 템플릿

신호 기록 양식

신호 ID: [자동 생성]
종목: SK하이닉스 (000660)
진입가: 50,000원
진입 수량: 10주
진입 시간: 10:30
신호 강도: 78/100
라우팅 신뢰도: 82/100 (buildRoutePacket_)
스타일: SWING
이유: 5일선 돌파 + 스마트머니 순매수 + 기관 매수

T+20 기록

T+20 종가: 51,050원
수익률: +2.1%
판정: WIN
마진: 2.1%
메모: 목표가 도달, 손절 전 청산

🔗 관련 문서

  • spec/realtime/live_outcome_ledger_plan.yaml — 마스터 계획
  • src/google_apps_script/live_outcome_ledger.gs — GAS 코드
  • V9_HARDENING_IMPLEMENTATION_ROADMAP.md — 전체 로드맵

마지막 업데이트: 2026-06-25
다음 리뷰: 2026-07-04 (금요일)