docs(signal-v2): amend spread formula to absolute (q90-q10) for Chronos-bolt zero-shot reality
Phase 0 spec §6.1 originally specified relative spread (q90-q10)/median < 0.6. Phase 3b smoke (005930: median=-0.59%, q90-q10=15.3%) revealed Chronos-bolt zero-shot median frequently sits near zero, causing relative spread to explode (15.3/0.0059 ≈ 25) and reject every signal. Absolute spread (0.153 < 0.6) preserves the threshold semantic and keeps Phase 7 IC validation tractable. Phase 4 spec §4.2 + Phase 0 §6.1 both amended with cross-reference. chronos_predictor.py conf calculation unchanged — monotonic mapping there is independent of hard-gate semantics.
This commit is contained in:
@@ -118,10 +118,16 @@ Phase 2/3a/3b 의 모든 산출을 종합해 Phase 0 spec §6.1/§6.2/§6.3 의
|
||||
### 4.2 Hard gate (모든 조건 충족)
|
||||
|
||||
1. `state.chronos_predictions[ticker].median > 0` (다음날 상승)
|
||||
2. `(q90 - q10) / max(|median|, 0.001) < settings.chronos_spread_threshold`
|
||||
2. `(q90 - q10) < settings.chronos_spread_threshold` (**absolute spread** — Phase 3b 실 운영 데이터 기반 변경)
|
||||
3. `state.minute_momentum[ticker] == settings.min_momentum_for_buy` (기본 strong_up)
|
||||
4. `state.asking_price[ticker].bid_ratio >= settings.asking_bid_ratio_threshold`
|
||||
|
||||
**Spread formula 결정 노트 (2026-05-17 implementer 변경 채택)**:
|
||||
- Phase 0 spec §6.1 의 한국어 "(90-10 분위수) / 50 분위수 < 0.6" 은 *relative spread* 로 명시되었으나, Phase 3b 실 운영 결과 (Chronos zero-shot prediction 의 median 이 종종 0 가까이) 에서 relative formula 가 거의 모든 신호 거부 → useless.
|
||||
- **변경**: absolute spread `(q90 - q10) < 0.6` 사용. 0.6 = 60% 변동 예측 — 한국 주식 1-day 변동성 (1-2%) 대비 매우 넓음 (모델 자신 없음 신호).
|
||||
- 결과: Phase 3b smoke 005930 (median=-0.59%, q10=-8.9%, q90=6.4%, spread=15.3%) → spread 0.153 < 0.6 → hard gate 통과 가능 (다른 조건 충족 시).
|
||||
- Phase 7 IC 검증 시 임계값 재조정 가능 (env `CHRONOS_SPREAD_THRESHOLD`).
|
||||
|
||||
### 4.3 Soft confidence (Phase 0 spec §6.1)
|
||||
|
||||
```python
|
||||
|
||||
Reference in New Issue
Block a user