dartlab signal — 48개 키워드로 시장 전체 공시 변화를 추적하다
Quick Summary

dartlab signal()은 AI·ESG·탄소중립 등 48개 키워드의 연도별 공시 등장 빈도를 추적하고, digest()는 시장 전체 변화를 3줄로 요약한다.

사업보고서에 “AI”라는 단어가 얼마나 자주 등장하는지, “ESG”가 언제부터 급증했는지, “구조조정”이 올해 얼마나 많이 나왔는지 — 이런 질문에 답하려면 수천 건의 공시를 직접 읽어야 한다.

dartlab의 signal()은 48개 키워드의 연도별 등장 빈도를 전체 상장사 공시에서 추적한다. digest()는 시장 전체의 공시 변화를 요약해서 돌려준다. 공시 텍스트가 말하는 시장의 방향을 코드 한 줄로 읽는 도구다.

signal() — 키워드별 연도 트렌드

import dartlab

df = dartlab.signal("AI")
# DataFrame: year, keyword, category, companies, totalMentions

특정 키워드를 넣으면, 해당 키워드가 연도별로 몇 개 기업의 공시에서 언급되었는지, 총 몇 번 등장했는지를 돌려준다.

signal() 동작 구조 — 키워드에서 트렌드까지

48개 키워드 — 3개 카테고리

키워드를 지정하지 않으면 48개 전체의 트렌드를 반환한다.

df = dartlab.signal()  # 48개 전체

48개 키워드 분류 — 3개 카테고리

트렌드 (18개)

키워드주제
AI, 인공지능인공지능
ESG, 탄소중립지속가능경영
수소, 전기차, 자율주행미래모빌리티
메타버스, 블록체인디지털 기술
클라우드, 데이터센터인프라
로봇자동화
2차전지, 배터리, 반도체핵심 부품
바이오헬스케어
디지털전환, 플랫폼비즈니스 모델

리스크 (14개)

환율, 금리, 인플레이션, 경기침체, 공급망, 원자재, 유가, 지정학, 규제, 소송, 유동성, 파산, 구조조정, 감사의견

기회 (9개)

수출, 수주, 신규사업, M&A, 시장점유율, 해외진출, 신약, FDA, 특허

결과 해석하기

df = dartlab.signal("AI")
yearkeywordcategorycompaniestotalMentions
2020AI트렌드120340
2021AI트렌드185580
2022AI트렌드3101,240
2023AI트렌드5803,100
2024AI트렌드8205,400

companies는 해당 키워드를 한 번 이상 언급한 기업 수, totalMentions는 전체 등장 횟수다. AI 키워드가 2020년 120개사에서 2024년 820개사로 급증한 것이 보인다.

digest() — 시장 전체 변화 요약

result = dartlab.digest(format="markdown")
print(result)

digest()는 시장 전체의 공시 변화를 요약한다. 세 가지 출력 형식을 지원한다.

format반환 타입용도
"dataframe"Polars DataFrame데이터 분석
"markdown"문자열보고서, 블로그
"json"dictAPI 연동

digest() 3가지 출력 형식

섹터 필터와 종목 지정

# 특정 섹터만
dartlab.digest(sector="반도체", format="markdown")

# 특정 종목들만
dartlab.digest(stock_codes=["005930", "000660", "035420"], format="markdown")

# 상위 N개만
dartlab.digest(top_n=10, format="dataframe")

sector로 특정 업종만 볼 수 있고, stock_codes로 관심 종목만 지정할 수 있다. top_n은 변화가 큰 상위 N개만 추린다.

signal()과 digest()의 차이

signal()digest()
입력키워드없음 (전체 스캔)
출력키워드별 연도 트렌드시장 전체 변화 요약
관점“이 키워드가 얼마나 퍼졌나”“시장에서 무엇이 바뀌었나”
용도특정 테마 추적시장 전체 모니터링

둘을 함께 쓰는 것이 효과적이다. digest()로 전체 그림을 보고, signal()로 관심 키워드를 깊이 추적한다.

어디에서 왜곡이 생기나

키워드 단순 매칭. signal()은 형태소 분석이 아닌 단순 문자열 매칭이다. “AI”가 “FAIR”의 일부로 매칭될 수 있고, “인공지능”과 “AI”가 별도로 카운트된다. 이를 보완하기 위해 관련 키워드를 같은 카테고리에 묶었다.

공시 제출 시차. 연도별 데이터는 해당 연도에 제출된 공시 기준이다. 2024년 사업보고서가 2025년 3월에 제출되면, 2024년이 아닌 2025년에 반영될 수 있다.

digest() 범위. 현재 digest()는 사업보고서 텍스트를 기반으로 한다. 수시공시, IR 자료 등은 포함되지 않는다.

놓치기 쉬운 예외

영문 키워드 대소문자. “AI”와 “ai”는 구분된다. 키워드 목록에 있는 정확한 형태를 사용해야 한다.

없는 키워드를 넣으면. 48개 목록에 없는 키워드를 넣으면 빈 결과가 반환된다. 커스텀 키워드 추가는 현재 지원하지 않는다.

메모리 사용량. 전체 상장사 공시 텍스트를 스캔하므로, signal()은 상당한 메모리를 사용한다. 다른 무거운 작업과 동시 실행은 피하는 것이 좋다.

빠른 점검 체크리스트

  • dartlab.signal("AI") — 키워드 트렌드 DataFrame 확인
  • dartlab.signal() — 48개 전체 트렌드 확인
  • dartlab.digest(format="markdown") — 마크다운 요약 확인
  • dartlab.digest(format="dataframe") — DataFrame 확인
  • dartlab.digest(sector="반도체") — 섹터 필터 확인

FAQ

커스텀 키워드를 추가할 수 있나요?

현재는 48개 고정 키워드만 지원한다. 커스텀 키워드 검색이 필요하면 c.docs.sections에서 원문 텍스트를 직접 검색할 수 있다.

signal()로 특정 기업만 추적할 수 있나요?

signal()은 전체 시장 대상이다. 특정 기업의 키워드 추적은 Company("005930")에서 c.docs.sections를 검색하는 방식으로 가능하다.

digest()가 AI를 쓰나요?

아니다. digest()는 통계 기반 요약이다. LLM을 사용하지 않고, 공시 텍스트의 변화를 정량적으로 집계한다. AI 해석이 필요하면 dartlab.ask()에서 digest 결과를 참조하게 할 수 있다.

데이터는 얼마나 자주 갱신되나요?

공시 데이터가 업데이트될 때마다 갱신된다. 분기 보고서 시즌(3월, 5월, 8월, 11월)에 가장 큰 변화가 생긴다.

트렌드 키워드 18개가 충분한가요?

현재 키워드 목록은 가장 보편적인 산업 트렌드를 커버한다. 틈새 키워드(예: “양자컴퓨팅”, “mRNA”)는 향후 확대 계획이 있다.

signal()과 ask()를 함께 쓸 수 있나요?

signal()로 트렌드를 파악한 후, dartlab.ask("삼성전자", "AI 사업 현황 분석해줘")로 특정 기업의 맥락을 AI에게 해석시킬 수 있다.

EDGAR(미국) 공시에서도 signal()을 쓸 수 있나요?

현재 signal()은 DART(한국) 공시 전용이다. EDGAR 기반 signal은 향후 지원 예정이다.

참고 자료

핵심 구조 요약

signal + digest 전체 흐름

dartlab signal의 구조는 세 문장으로 요약된다.

  1. 48개 키워드 × 3카테고리 — 트렌드(18), 리스크(14), 기회(9)로 시장 전체 공시 텍스트를 스캔한다.
  2. signal()은 추적, digest()는 요약 — signal로 특정 테마의 연도별 확산을 추적하고, digest로 시장 전체 변화를 한눈에 본다.
  3. 정량 스캔 → AI 해석 — 통계 기반 결과를 ask()에 넘기면 맥락과 의미를 AI가 해석한다.
같은 시리즈에서 이어 읽기
DartLab

같은 카테고리에서 더 읽기

DartLab은 데이터 자동화 카테고리 안에서 글이 서로 이어지도록 설계합니다. 다음 글로 넘어가며 구조와 맥락을 같이 쌓는 방식입니다.

DartLab Product

이 글의 판단을 실제 데이터 흐름으로 옮기기

DartLab은 전자공시를 읽는 법을 코드와 데이터로 연결하기 위해 만든 제품입니다. 사업보고서 텍스트, 재무 시계열, 정기보고서 데이터를 한 흐름에서 다루도록 설계했습니다.