Engines observed

Gather

Gather 엔진은 가격, 컨센서스, 수급, 뉴스, 배당, 소유구조, 섹터, 매크로 등 외부/보조 데이터를 수집하는 실행 스킬이다.

engines.gather GitHub 원본

이어 가기

절차

실행 순서

  1. 1

    dartlab.gather() 또는 c.gather() 로 사용 가능한 method 가이드 확인.

  2. 2

    method 선택 (price · consensus · news · supplyDemand · dividend · ownership · sector · insider · macro).

  3. 3

    dartlab.gather(method, stockCode, period?, market?) 호출.

  4. 4

    결과의 provider · source · latestAsOf · executionRef 검증.

  5. 5

    분석 결합은 engines.analysis · engines.macro 가 담당. gather 결과를 결론으로 직접 포장 금지.

예시

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

  • 현재 가격 snapshot 수집
  • 컨센서스와 뉴스 확인
  • 주요주주와 기관 보유 확인
  • 배당 분할 이력
  • peer 그룹 자동 추출
  • 매크로 원자료 (FRED · ECOS) 가져오기

출력

기대 결과

  • 선택한 gather method
  • 공개 호출
  • provider/source
  • freshness/제한

엔진 역할

gather는 분석 엔진이 쓰는 외부/보조 데이터를 가져오는 L1 성격의 실행 엔진이다. 가격, 컨센서스, 수급, 뉴스, 배당/분할, 섹터, 내부자거래, 주요주주, 기관 보유, peer, 매크로 원자료를 다룬다.

gather는 원자료 수집과 snapshot 생성이 목적이다. 재무 해석은 analysis, 시장 매크로 해석은 macro, 후보 발굴은 scan이 담당한다.

공개 호출 방식

import dartlab

g = dartlab.gather()

price = g.price("005930", market="KR")
consensus = g.consensus("005930", market="KR")
flow = g.flow("005930", market="KR")
history = g.history("005930", market="KR")
news = g.news("삼성전자", market="KR", days=30)
dividends = g.dividends("005930", market="KR")
holders = g.majorShareholders("005930", market="KR")
snapshot = g.collect("005930", market="KR")

c = dartlab.Company("005930")
company_price = c.gather("price")

호출 동작

dartlab.gather()는 기본 Gather 객체를 반환한다. 메서드 호출은 provider, cache, snapshot을 통해 데이터를 가져오며, API 키가 필요한 provider는 키 누락 시 안내 가능한 예외 또는 제한 상태를 반환한다.

Company-bound c.gather(axis)는 회사의 종목코드와 market을 자동으로 넣어 gather method를 실행한다.

전체 축/메서드 목록

method담당 데이터대표 호출
price현재 가격 snapshotg.price("005930", market="KR")
consensus실적/목표가 컨센서스g.consensus("005930", market="KR")
flow투자자별 수급g.flow("005930", market="KR")
revenue_consensus매출 컨센서스g.revenue_consensus("005930", market="KR")
history가격/거래량 시계열g.history("005930", market="KR")
news뉴스 검색/수집g.news("삼성전자", market="KR", days=30)
dividends배당 이력g.dividends("005930", market="KR")
splits액면분할/주식분할g.splits("005930", market="KR")
sector섹터/업종 정보g.sector("005930", market="KR")
insiderTrading내부자 거래g.insiderTrading("005930", market="KR")
majorShareholders주요주주g.majorShareholders("005930", market="KR")
ownership기관/소유 구조g.ownership("005930", market="KR")
industryPeers업종 peerg.industryPeers("005930", market="KR")
macro매크로 원자료g.macro("GDP", market="KR")
collect종목 snapshot 일괄 수집g.collect("005930", market="KR")
invalidatecache 무효화g.invalidate("005930")
closeclient/session 종료g.close()

대표 반환 형태

메서드에 따라 DataFrame, list/dict, Pydantic-like snapshot object, 또는 None을 반환한다.

provider, source, target, market, latestAsOf/date,
metric, value, unit, raw, flags

price는 가격, 통화, 기준시각을 포함하고, history/flow는 DataFrame 성격의 시계열을 반환한다. collect는 여러 domain 결과를 묶은 snapshot을 반환한다. provider가 데이터를 주지 않으면 None, 빈 DataFrame, 제한 flag로 표현한다.

evidence 기준

외부 데이터는 provider, source, latestAsOf, target, executionRef를 남긴다. 최신성이 중요한 질문이면 snapshot 기준시각을 답변에 포함한다.

기본 실행 순서

  1. 필요한 데이터 domain을 정한다.
  2. dartlab.gather() 또는 c.gather(axis)를 선택한다.
  3. provider/API 키 제한을 확인한다.
  4. 반환값의 기준일, source, 결손 여부를 확인한다.
  5. 해석은 analysis/macro/scan/story로 넘긴다.

기본 검증

스킬은 공개 실행 문서다. Gather 공개 메서드, Company-bound 호출, 대표 반환 형태가 바뀌면 이 파일과 관련 응용 스킬을 같은 변경에서 갱신한다.

런타임

실행 환경별 호환성

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

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • API 키 누락을 데이터 없음으로 오해함
  • 최신성 기준 없이 외부 데이터를 분석에 사용함
  • gather 원자료를 analysis 결론으로 바로 포장함
절대 금지
  • API 키나 인증정보를 답변에 노출하지 않는다.
  • provider/source/latestAsOf 없이 최신 데이터라고 말하지 않는다.
  • 공개 API 호출법, 메서드 목록, 반환 형태가 바뀌었는데 이 skill을 갱신하지 않은 상태로 완료 처리하지 않는다.