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

Event Radar Capital Action Monitor

dividends, splits, 자사주, 증자, 전환사채 등 자본 이벤트 원자료를 묶어 단기 촉매를 확인하는 L1/L1.5 절차다.

이 스킬

Event Radar Capital Action Monitor

dividends, splits, 자사주, 증자, 전환사채 등 자본 이벤트 원자료를 묶어 단기 촉매를 확인하는 L1/L1.5 절차다.

Recipes observed recipes.fundamental.disclosure.eventRadar.capitalActionMonitor

이어 가기

절차

실행 순서

  1. 1

    자본 이벤트는 호재·악재 결론이 아니라 action row로 둔다.

  2. 2

    value가 없으면 제목과 sourceRef를 근거로 둔다.

예시

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

  • 배당 자사주 분할 증자 이벤트 확인

출력

기대 결과

  • dividend/split/filing capital action rows

공개 호출 방식

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=20):
    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.disclosure(), limit=50)
except Exception:
    filings = []

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

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

memo = buildEventRadarMemo(
    target=target,
    market=str(getattr(c, "market", "KR")),
    companyName=str(getattr(c, "corpName", target)),
    filings=filings,
    dividendRows=dividend_rows,
    splitRows=split_rows,
)

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

호출 동작

1. 결론 도출

dividend / split / capitalAction action table 단정. 예: “최근 12개월 capital action 8건 — 정기배당 4 (분기 5,500원) + 무상증자 1 + 자사주 매입 2 (총 1.2조) + 전환사채 1 (희석 +2.3%) → action mix 정기 + buyback 우세 (희석 1건 한정).”

2. 핵심 근거 수집

  • Company.disclosure() filings — capitalAction category (배당결정·무상증자·유상증자·CB·자사주취득/소각)
  • Company.gather(‘dividends’) — 배당 시계열
  • Company.gather(‘splits’) — 분할 시계열
  • buildEventRadarMemo() → action table 통합

3. 메커니즘 분석

3 source → action category 통합
   dividend rows → action="dividend" value=배당금
   split rows    → action="split"    value=비율
   filings       → action="filingCapitalAction" value=공시 제목

12M action mix:
   buyback > issuance → 주주환원 우세
   issuance > buyback → 희석 우세 (유상증자 + CB)
   dividend 정기성 일관 → 안정 배당정책
   특별배당 / 자사주 소각 → 일회성 호재

status="watch": 향후 12M 예상 action (인지 가능)
status="missing": disclosure 부재 row

action 자체는 호재/악재 판정 X — 정기성 분리 + 희석 vs 환원 비교가 핵심. CB/유상증자 = 희석. 자사주 매입/소각 + 배당 = 환원.

4. 반례·한계

  • 유상증자와 무상증자 자본 영향 다름 (희석 vs 단순 분할).
  • 자사주 매입 vs 소각 구분 — 매입은 자본 감소, 소각은 EPS 즉시 상승.
  • CB 발행은 즉시 희석 아님 — 전환 시점에 발현 (5-10% 가정).
  • 분기 정기배당 변동은 변화 만 신호 — 같은 금액 4회 반복은 baseline.

5. 후속 모니터링

  • buyback 큰 규모 → recipes.fundamental.dividend.buybackVsDividendMix 로 환원 mix 변화 확인.
  • CB/유상증자 → recipes.fundamental.governance.relatedPartyTransactionShare 로 거버넌스 risk.
  • 정기배당 변동 → recipes.fundamental.dividend.payoutFcfCoverage 로 fcf 충당 점검.

대표 반환 형태

column의미
date기준일
actiondividend/split/filingCapitalAction
value배당금, 분할비율, filing title
statuswatch/missing
evidence원자료 출처

연계 절차

  1. recipes.fundamental.disclosure.eventRadar.eventInbox - 자본 이벤트 공시 분류.
  2. recipes.fundamental.disclosure.eventRadar.falsifierLedger - 정기성·희석 반증.

기본 검증

  • 자본 이벤트는 호재·악재 결론이 아니라 action row로 둔다.
  • value가 없으면 제목과 sourceRef를 근거로 둔다.

런타임

실행 환경별 호환성

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

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • 유상증자와 무상증자 영향을 섞음
절대 금지
  • 배당·분할을 항상 호재로 단정하지 않는다.