SignalPilot 분석 프레임워크

SignalPilot AI 의 모든 시그널·판정·점수는 명시적으로 정의된 7개의 프레임워크 기반입니다. 각 프레임워크는 구체적 공식·조건·예시를 포함해 외부 인용·검증이 가능하도록 설계되었습니다.

마지막 갱신: 2026-05-22 · 버전 1.0

시그널 · 3

SignalPilot 신호 등급 (A~D)

워치리스트 종목의 펀더멘탈 강도를 4단계 (A·B·C·D) 로 분류하는 종합 지표. EPS YoY, 매출 YoY, 가속화 여부를 가중 합산해 산정.

정의

fund_score = (EPS_YoY × 0.4) + (Revenue_YoY × 0.4) + (is_accelerating ? +10 : 0). 결과를 4분위로 매핑: A (>20), B (10~20), C (0~10), D (<0).

공식
fund_score = 0.4 × EPS_YoY_pct + 0.4 × Revenue_YoY_pct + (accelerating ? +10 : 0)
조건 (3)
  • ·최근 분기 EPS YoY > 직전 분기 EPS YoY = 가속화 (acceleration)
  • ·8분기 이상 데이터 확보된 종목만 등급 산정
  • ·EPS·매출 둘 다 음수면 자동 D
실제 예시

NVDA Q1 FY27: EPS YoY +83%, Revenue YoY +80%, 가속 → fund_score = 0.4×83 + 0.4×80 + 10 = 75.2 → A 등급

모멘텀 매수 시그널 (6조건)

기술 4조건 + 펀더멘탈 2조건 동시 충족 시 BUY. 한 조건이라도 미충족 시 시그널 미발동 (false signal 최소화).

정의

MA50 > MA200 (정배열) AND 현재가 > MA50 AND RSI14 ≥ 50 AND |이격도| ≤ 15% AND EPS_YoY > 0 AND Revenue_YoY > 0

공식
BUY = (MA50 > MA200) && (Price > MA50) && (RSI ≥ 50) && (|GapFromMA50| ≤ 15%) && (EPS_YoY > 0) && (Revenue_YoY > 0)
조건 (3)
  • ·이격도 = (현재가 − MA50) / MA50 × 100. > +15% 시 HOLD (편입 보류)
  • ·EPS·매출 데이터 부재 시 시그널 미발동
  • ·MA200 데이터 부재 시 정배열 조건 fail
실제 예시

NVDA: MA50 $130 > MA200 $115 ✓, 현재가 $145 > MA50 ✓, RSI 62 ≥ 50 ✓, 이격도 +11.5% ≤ 15% ✓, EPS YoY +83% > 0 ✓, Revenue YoY +80% > 0 ✓ → BUY

매도 경고 (sellSignals 누적)

단일 조건이 아닌 추세 이탈 신호 누적 + 펀더멘탈 약화 시점 일치 시 SELL WARNING. 단기 변동성 false signal 차단.

정의

sellSignals[] 에 추세 이탈 사유 누적: 현재가 MA50 하회 / MA50 MA200 하회 / RSI 45 미만 / EPS 둔화 / Revenue 둔화. 2개 이상 + 펀더멘탈 fund_score < 0 시 SELL WARNING.

조건 (4)
  • ·RSI 45 미만 = 매도 강도 우세
  • ·MA50 < MA200 = 역배열 진입
  • ·EPS 또는 매출 YoY 음수 = 펀더멘탈 둔화
  • ·단일 sellSignal 만으로는 SELL 아님 (HOLD 유지)
실제 예시

INTC: 현재가 $30 < MA50 $34 (sellSignal 1) + RSI 41 (sellSignal 2) + EPS YoY -23% + fund_score -8 → SELL WARNING

실적 · 1

BEAT / MISS / INLINE 판정 기준

실적 발표를 EPS 서프라이즈 ±1% 기준으로 자동 분류. BEAT (>1%) / MISS (<-1%) / INLINE (-1%~+1%).

정의

EPS_surprise_pct = (eps_actual − eps_estimate) / |eps_estimate| × 100. 그 결과를 임계값 ±1% 로 분류.

공식
verdict = surprise > +1% ? BEAT : surprise < -1% ? MISS : INLINE
조건 (4)
  • ·eps_actual 과 eps_estimate 모두 verified source 에서 확보 필요 (FMP / SEC)
  • ·eps_estimate = 0 인 경우 verdict 산정 안 함 (na)
  • ·raw source surprise 값 대신 canonical 재계산 (소스 간 일관성)
  • ·차이 > 0.5%p 시 reconciliation 경고
실제 예시

NVDA Q1 FY27: actual $2.40 vs estimate $1.76 → (2.40 − 1.76) / 1.76 × 100 = +36.4% → BEAT

AI 적중률 · 1

AI 적중률 자기 채점 시스템

그날의 모든 BUY/HOLD/SELL 콜을 다음 거래일 ET 종가 기준으로 비교 채점. 30D/90D/365D 평균을 매일 공개해 투명성 확보.

정의

각 시그널은 발행 시점에 immutable timestamp + 의도 방향 (방향 = BUY:+, SELL:-, HOLD:0) 기록. 다음 거래일 종가가 의도 방향으로 움직였으면 hit, 반대면 miss. 일별 점수 = (hit / total) × 10.

조건 (5)
  • ·발행 시각 ET ≤ 마감 30분 전이어야 다음 거래일 채점 대상
  • ·거래일 ≠ KST 발행일 (시차 보정)
  • ·BUY signal: 다음 거래일 종가 > 발행 시점 종가 → hit
  • ·SELL signal: 다음 거래일 종가 < 발행 시점 종가 → hit
  • ·HOLD signal: |종가 변동| < 1% → hit
실제 예시

2026-04-01 BUY signal: NVDA @$120 → 2026-04-02 종가 $123 (+2.5%) → hit. 같은 날 SELL signal: TSLA @$200 → 다음 종가 $195 → hit. 일일 점수 2/2 = 10.

Catalyst · 1

Catalyst 카드 시스템

임박한 실적·정책 이벤트를 D-DAY 카운트다운으로 강조. 발표 시각 + 12시간 후 자동 숨김, 다음 모닝 브리핑에서 BEAT/MISS hero 로 자동 인계.

정의

ACTIVE_CATALYST 객체에 ticker + scheduled_at (ISO UTC) + 컨센서스 EPS/매출 + 관전 포인트 3개 등록. /today 페이지에 D-DAY 카드 + 다음 브리핑에 결과 hero 노출.

조건 (3)
  • ·scheduled_at + 12h 이후 자동 카드 숨김
  • ·발표 다음 모닝 브리핑의 earnings_scorecard 에 동일 ticker entry → CatalystEarningsHero 자동 렌더
  • ·consensus 수치는 IR/Refinitiv/Bloomberg 종합값 권장 (FMP earnings-calendar)
실제 예시

NVDA Q1 FY27 (KST 2026-05-21 05:20 발표): D-DAY 카드 5/18 ~ 5/21 17:20 노출 → 5/22 모닝 브리핑에 BEAT hero (verdict=beat, EPS $2.40 vs $1.76, +36.4%) 렌더

데이터 · 1

Verified Source Pipeline

모든 본문 수치는 LLM이 만들지 않고 verified source 경유. 각 metric 에 source_id + timestamp + market_date 부착해 추적 가능.

정의

FMP / SEC EDGAR / FRED / Alpaca 의 raw value → _metric() helper 로 Metric 객체 생성 (value + provenance) → Phase 4 Number Provenance Validator 검증 → 본문 노출. 미매핑 숫자 자동 제거.

조건 (4)
  • ·source_id 형식: '{SOURCE}:{SYMBOL}:{metric_key}' (예: 'FMP:NVDA:eps_actual')
  • ·다수 source 가 동일 metric 에 다른 값 보고 시 reconciliation 단계에서 major/minor conflict 분류
  • ·major_conflict 시 publish_gate 가 BLOCK
  • ·LLM 본문에서 숫자 발견 시 NumberProvenanceValidator 가 source 매핑 시도 → 실패 시 제거
실제 예시

S&P 500 종가 7432.97 → source_id='FMP_HISTORICAL:^GSPC:close', source_timestamp='2026-05-20T16:00:00-04:00' (NYSE 마감 시각) → 본문에 '7,432.97' 으로 렌더

본 프레임워크는 SignalPilot AI 가 정의·운영하는 분석 체계입니다. 외부 인용 시 "SignalPilot 의 {프레임워크 이름}" 형식 권장.

연락: [email protected]