이 스킬
Damodaran 일회성 항목 조정 감사
손상, 구조조정, 중단영업, 소송, 비경상 손익 등 one-off line item을 찾아 normalized EBIT/FCFF 조정 필요성을 표시하는 절차. 트리거 — 'one-off adjustment', '비경상 손익 조정', '정규화 이익'.
이어 가기
예시
이런 질문이 들어오면 이 skill 을 쓴다
- INTC one-off adjustment
출력
기대 결과
- impairment/restructuring/discontinued ? ??? ?? ??
- normalized EBIT ?? ??? ??
- ?? ??? ? ??? fallback ??
공개 호출 방식
import dartlab
import importlib.resources as resources
import json
import polars as pl
from dartlab.synth.damodaranL15 import buildDamodaranMemo
target = "005930"
c = dartlab.Company(target)
market = getattr(c, "market", "US" if not target.isdigit() else "KR")
currency = getattr(c, "currency", "USD" if market == "US" else "KRW")
company_name = getattr(c, "corpName", getattr(c, "companyName", target))
def _loadReference(name):
return json.loads(resources.files("dartlab.reference.data").joinpath(name).read_text(encoding="utf-8"))
def _safeShow(topic):
try:
table = c.show(topic, freq="Y")
except TypeError:
table = c.show(topic)
except Exception:
return pl.DataFrame()
return table if isinstance(table, pl.DataFrame) else pl.DataFrame()
try:
dartlab.gather("price", target, market="US") if market == "US" else dartlab.gather("price", target)
except Exception:
pass
memo = buildDamodaranMemo(
target=target,
market=market,
currency=currency,
companyName=company_name,
statements={topic: _safeShow(topic) for topic in ("IS", "BS", "CF")},
countryDefaults=_loadReference("damodaranDefaults.json"),
industryDefaults=_loadReference("damodaranIndustryDefaults.json"),
marketData={},
)
emit_result(
table=memo["tables"]["oneOffAdjustment"],
values=memo["headline"],
date=memo.get("asOf"),
units=memo["units"],
sources=memo["sources"],
) 호출 동작
1. 결론 도출
one-off 후보 line item을 찾고 정규화 후보로 표시한다.
2. 핵심 근거 수집
Company.show("IS"|"CF") line item의 snakeId와 항목명을 검색한다.
3. 메커니즘 분석
반복 영업력과 일회성 항목을 분리해야 성장·마진 가정이 과대/과소 추정되지 않는다.
4. 반례·한계
반복 구조조정 여부는 텍스트 근거가 필요하므로 line item 감사 단계에서 confidence를 낮춘다.
5. 후속 모니터링
후속 스킬은 normalizedFinancials, scenarioFalsifier다.
대표 반환 형태
oneOffAdjustment : list[dict] — adjustment, status, lineItem, latestValue, action.
연계 절차
- recipes.fundamental.valuation.damodaran.accountTraceAudit - 계정 trace 확인.
- recipes.fundamental.valuation.damodaran.normalizedFinancials - 정규화 후보 반영.
런타임
실행 환경별 호환성
| 환경 | 상태 | 비고 / 제한 |
|---|---|---|
| Local Python | supported | — |
| Server | supported | — |
| MCP | unknown | — |
| Web AI | unknown | — |
| Pyodide | unknown | — |
실패 회피
흔한 실패 · 절대 금지
흔한 실패
- 손상차손을 반복 영업마진으로 반영
절대 금지
- L2 엔진 호출 금지.
- 일회성 라인 결손을 정상 반복손익으로 단정하지 않는다.