이 스킬
|AR|>3σ 가격 shock 자동 검출 + 인접 뉴스 컨텍스트
종목 1 년 일별 abnormal return (market model 잔차) 의 σ 임계 ±k 밖 일자 = shock event 자동 검출. 각 shock 일자에 ±N 일 뉴스 헤드라인 keyword 매칭 컨텍스트 + 옵션 newsImpact 위임으로 CAR/t-stat 동행. "왜 -5% 빠졌지" 사후 답함. 추론 sentiment 라벨 X — shock direction (up/down) + z-score 정량만. 트리거 — '왜 빠졌나', 'shock event 검출', 'priceShockNews', '가격 → 뉴스 역방향'.
이어 가기
예시
이런 질문이 들어오면 이 skill 을 쓴다
- 005930 1 년 |AR|>3σ shock 일자 + 인접 뉴스
- 가격 급락 일자 + 그날 공시·뉴스 컨텍스트
- 3σ 외 일자 자동 마커 (UI chart 동행)
출력
기대 결과
- n_shocks + threshold_sigma + sigma_obs
- shock_events (list) — date / ar / z_score / direction / is_significant / news (list)
- 옵션 computeImpact=True → 각 shock 의 CAR / t-stat 추가
공개 호출 방식
from dartlab.analysis.eventStudy.priceShockNews import priceShockNews
result = priceShockNews(
stockCode="005930",
market="KR",
periodDays=365,
thresholdSigma=3.0,
newsContextDays=3,
computeImpact=False, # True 면 각 shock CAR/t-stat 위임
)
print(f"{result['n_shocks']} shocks (σ={result['sigma_obs']:.4f})")
for ev in result["shock_events"]:
print(f" {ev['date']}: {ev['direction']} {ev['ar_pct']}% (z={ev['z_score']}) — 뉴스 {ev['n_news']}건") 출력 schema
| key | 의미 |
|---|---|
n_shocks | 검출된 shock 개수 |
threshold_sigma / sigma_obs | 임계 × σ |
alpha / beta | market model (전체 윈도우 lstsq) |
shock_events[i].direction | “up” / “down” |
shock_events[i].z_score | AR / σ |
shock_events[i].news | 인접 ±3 일 keyword 매칭 헤드라인 |
L4 UI 차트 연동
/analysis/$code/events (PriceEventChart) 가 본 결과를 직접 소비 — is_significant shock 은 빨강 (up) / 파랑 (down) 깃발 마커로 차트 상단 표시. 클릭 시 EventSidePanel Sheet 에 동일 dict 의 news 컨텍스트 노출.
연계 절차
- 본 recipe → |AR|>3σ 가격 shock 일자 자동 검출 + 인접 뉴스 컨텍스트.
engines.gather뉴스 archive +engines.quantmarket model (abnormal return) 결합.- shock 일자 →
recipes.news.newsImpact로 CAR / t-stat 임팩트 정량화. recipes.news.eventTimelineFusion으로 이벤트 타임라인 결합.
런타임
실행 환경별 호환성
| 환경 | 상태 | 비고 / 제한 |
|---|---|---|
| Local Python | supported | · |
| Server | supported | · |
| MCP | supported | · |
| Web AI | limited | · |
| Pyodide | limited | · |
실패 회피
흔한 실패 · 절대 금지
- history < 30 일 또는 estimation window 부족
- AR variance 0 (정지 종목)
- news archive Phase A/D 미실행 시 컨텍스트 0
- 매칭 뉴스 0 건으로 원인 부재 단정 금지
- shock direction 으로 sentiment 라벨 단정 금지