recipes.fundamental.disclosure.eventRadar.eventInbox Recipes Recipe observed

Event Radar Event Inbox

Company.disclosure/liveFilings와 gather.news 원자료의 제목·본문 키워드만으로 단기 이벤트 inbox를 만드는 L1/L1.5 절차다.

이 스킬

Event Radar Event Inbox

Company.disclosure/liveFilings와 gather.news 원자료의 제목·본문 키워드만으로 단기 이벤트 inbox를 만드는 L1/L1.5 절차다.

Recipes observed recipes.fundamental.disclosure.eventRadar.eventInbox

이어 가기

절차

실행 순서

  1. 1

    eventInbox row에는 date/source/title/status가 있어야 한다.

  2. 2

    missing이면 이벤트 결론을 내지 않는다.

예시

이런 질문이 들어오면 이 skill 을 쓴다

  • 오늘 공시 뉴스 이벤트 inbox

출력

기대 결과

  • event category와 status
  • filing/news source

공개 호출 방식

AI 도구 실행 순서는 EngineCall 우선이다. 아래 Python 블록은 확보한 L1/L1.5 근거를 buildEventRadarMemo로 묶는 RunPython fallback 절차다.

import dartlab
from dartlab.synth.eventRadar import buildEventRadarMemo

target = "005930"
c = dartlab.Company(target)

def rows(value, limit=30):
    if hasattr(value, "head") and hasattr(value, "to_dicts"):
        return value.head(limit).to_dicts()
    if isinstance(value, list):
        return value[:limit]
    return []

try:
    filings = rows(c.liveFilings(days=7), limit=20)
except Exception:
    try:
        filings = rows(c.disclosure(), limit=50)
    except Exception:
        filings = []

try:
    news_rows = rows(c.gather("news"), limit=20)
except Exception:
    news_rows = []

memo = buildEventRadarMemo(
    target=target,
    market=str(getattr(c, "market", "KR")),
    companyName=str(getattr(c, "corpName", target)),
    filings=filings,
    newsRows=news_rows,
)

emit_result(
    table=memo["tables"]["eventInbox"],
    values=memo["headline"],
    date=memo["asOf"],
    sources=memo["sources"],
)

호출 동작

1. 결론 도출

7 category event inbox 단정. 예: “최근 7일 inbox 14건 — earnings 2 + capitalAction 3 (자사주취득) + financing 1 (CB발행) + governance 2 + regulatory 0 + filingRisk 1 (정정신고) + deal 5 (M&A 루머 news) → financing + filingRisk 동시 발생 → 단기 watch.”

2. 핵심 근거 수집

  • Company.liveFilings(days=7) 우선 (없으면 disclosure() fallback)
  • Company.gather(‘news’) latest 20 row
  • buildEventRadarMemo() → 키워드 매칭 7 category 분류
  • 각 row date / source (filing/news) / title / category / status

3. 메커니즘 분석

filing + news rows → 날짜 역순 정렬

키워드 매칭 7 category:
   earnings (실적/잠정/공정)
   capitalAction (배당/분할/자사주/증자)
   financing (사채/대출/CB)
   governance (이사회/임원/주총)
   regulatory (제재/조사/과징금)
   filingRisk (정정/지연/감리)
   deal (M&A/계약/MOU)

status 판정:
   ok      → 정기 보고 (3월 정기보고서 등)
   watch   → 비정기 + 단일 source
   risk    → filingRisk / regulatory category
   missing → 데이터 없음

inbox 자체는 후보 목록 — 중요도/방향 결론 아님. 다음 단계 (priceFlowReaction, falsifierLedger) 에서 reaction + 정기성 검증 필요.

4. 반례·한계

  • 정기보고서 (분기/연간) 가 일시 inbox spike 보여도 새 신호 아님.
  • 뉴스 키워드 매칭은 false positive 다수 — title 만으로 category 단정 약함.
  • liveFilings days=7 너무 짧으면 큰 이벤트 누락, 너무 길면 dilution.
  • 같은 사건의 filing + news 중복 — dedupe 필요.

5. 후속 모니터링

  • inbox 비정기 row → recipes.fundamental.disclosure.eventRadar.priceFlowReaction 으로 가격/거래량 reaction.
  • regulatory / filingRisk row → recipes.fundamental.disclosure.eventRadar.falsifierLedger 로 정기성/중복 반증.
  • earnings + capitalAction 동시 → recipes.fundamental.disclosure.eventRadar.deepDive 로 7-ledger radar.

대표 반환 형태

column의미
date공시·뉴스 날짜
sourcefiling/news
title원문 제목
category이벤트 유형
statusok/watch/risk/missing

연계 절차

  1. recipes.fundamental.disclosure.eventRadar.priceFlowReaction - 이벤트 뒤 시장 반응 확인.
  2. recipes.fundamental.disclosure.eventRadar.falsifierLedger - 정기·중복 이벤트 반증.

기본 검증

  • eventInbox row에는 date/source/title/status가 있어야 한다.
  • missing이면 이벤트 결론을 내지 않는다.

런타임

실행 환경별 호환성

환경상태비고 / 제한
Local Python supported
Server supported
MCP supported
Web AI supported
Pyodide limited

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • 정기보고서 제출을 새로운 촉매로 오해
절대 금지
  • 키워드만으로 이벤트 중요도를 확정하지 않는다.