|
201 | 201 | { |
202 | 202 | "name": "search", |
203 | 203 | "kind": "function", |
204 | | - "summary": "종목 검색 (KR + US 통합).", |
| 204 | + "summary": "공시 원문 시맨틱 검색. *(alpha)*", |
205 | 205 | "group": "dartlab", |
206 | 206 | "params": [ |
207 | 207 | { |
208 | | - "name": "keyword", |
| 208 | + "name": "query", |
209 | 209 | "type": "str" |
| 210 | + }, |
| 211 | + { |
| 212 | + "name": "corp", |
| 213 | + "type": "str | None", |
| 214 | + "default": "None", |
| 215 | + "keyword_only": "true" |
| 216 | + }, |
| 217 | + { |
| 218 | + "name": "start", |
| 219 | + "type": "str | None", |
| 220 | + "default": "None", |
| 221 | + "keyword_only": "true" |
| 222 | + }, |
| 223 | + { |
| 224 | + "name": "end", |
| 225 | + "type": "str | None", |
| 226 | + "default": "None", |
| 227 | + "keyword_only": "true" |
| 228 | + }, |
| 229 | + { |
| 230 | + "name": "topK", |
| 231 | + "type": "int", |
| 232 | + "default": "10", |
| 233 | + "keyword_only": "true" |
210 | 234 | } |
211 | 235 | ], |
212 | | - "args": "keyword: 종목명, 종목코드, 또는 ticker. 한글이면 KR, 영문이면 US 자동 감지.", |
213 | | - "returns": "pl.DataFrame — 검색 결과 (code, name, market 등).", |
214 | | - "example": "import dartlab\ndartlab.search(\"삼성전자\")\ndartlab.search(\"AAPL\")", |
215 | | - "capabilities": "한글 입력 시 DART 종목 검색 (종목명, 종목코드)\n영문 입력 시 EDGAR 종목 검색 (ticker, 회사명)\n부분 일치, 초성 검색 지원 (KR)", |
216 | | - "requires": "데이터: listing (자동 다운로드)", |
217 | | - "guide": "\"삼성전자 종목코드 뭐야?\" -> search(\"삼성전자\")로 종목코드 확인\n\"애플 티커?\" -> search(\"AAPL\")로 EDGAR 종목 검색\nAPI 키 불필요. listing 데이터만으로 동작.", |
218 | | - "seealso": "Company: 종목코드 확인 후 Company 생성하여 상세 분석\nlisting: 전체 상장법인 목록 조회" |
| 236 | + "args": "query: 검색어 (한국어). \"유상증자 결정\", \"대표이사 변경\" 등.\ncorp: 종목 필터 (종목코드 \"005930\" 또는 회사명 \"삼성전자\").\nstart: 시작일 (YYYYMMDD).\nend: 종료일 (YYYYMMDD).\ntopK: 반환 건수 (기본 10).", |
| 237 | + "returns": "pl.DataFrame — 검색 결과.\n컬럼: score, rcept_no, corp_name, rcept_dt, report_nm,\nsection_title, text, dartUrl", |
| 238 | + "example": "import dartlab\ndartlab.search(\"유상증자 결정\")\ndartlab.search(\"대표이사 변경\", corp=\"005930\")\ndartlab.search(\"전환사채\", start=\"20240101\", topK=5)", |
| 239 | + "capabilities": "전체 공시 원문 시맨틱 검색 (수시공시 포함)\n종목/기간 필터 지원\nDART 공시 뷰어 링크 포함 (dartUrl 컬럼)", |
| 240 | + "requires": "데이터: vectorIndex (자동 다운로드)\n의존성: pip install dartlab[vector]", |
| 241 | + "guide": "\"유상증자 한 회사?\" -> search(\"유상증자 결정\")\n\"삼성전자 최근 공시?\" -> search(\"공시\", corp=\"005930\")\n인덱스 없으면 자동 다운로드 (~8MB, 3초)", |
| 242 | + "seealso": "Company: 종목코드/회사명으로 Company 생성\nlisting: 전체 상장법인 목록" |
219 | 243 | }, |
220 | 244 | { |
221 | 245 | "name": "listing", |
|
262 | 286 | ], |
263 | 287 | "returnType": "dict", |
264 | 288 | "args": "*codes: 종목코드 1개 이상 (\"005930\", \"000660\").\ncategories: 수집 카테고리 [\"finance\", \"docs\", \"report\"]. None이면 전체.\nincremental: True면 증분 수집 (기본). False면 전체 재수집.", |
265 | | - "returns": "dict — {종목코드: {카테고리: 수집 건수}}.", |
| 289 | + "returns": "dict — 종목코드별 카테고리별 수집 건수.", |
266 | 290 | "example": "import dartlab\ndartlab.collect(\"005930\") # 삼성전자 전체\ndartlab.collect(\"005930\", \"000660\", categories=[\"finance\"]) # 재무만", |
267 | 291 | "capabilities": "종목별 DART 공시 데이터 직접 수집 (finance, docs, report)\n멀티키 병렬 수집 (DART_API_KEYS 쉼표 구분)\n증분 수집 — 이미 있는 데이터는 건너뜀\n카테고리별 선택 수집", |
268 | 292 | "requires": "API 키: DART_API_KEY", |
|
302 | 326 | ], |
303 | 327 | "returnType": "dict", |
304 | 328 | "args": "categories: 수집 카테고리 [\"finance\", \"docs\", \"report\"]. None이면 전체.\nmode: \"new\" (미수집만, 기본) 또는 \"all\" (전체 재수집).\nmaxWorkers: 병렬 워커 수. None이면 키 수에 따라 자동.\nincremental: True면 증분 수집. False면 전체 재수집.", |
305 | | - "returns": "dict — {종목코드: {카테고리: 수집 건수}}.", |
| 329 | + "returns": "dict — 종목코드별 카테고리별 수집 건수.", |
306 | 330 | "example": "import dartlab\ndartlab.collectAll() # 전체 미수집 종목\ndartlab.collectAll(categories=[\"finance\"]) # 재무만\ndartlab.collectAll(mode=\"all\") # 기수집 포함 전체", |
307 | 331 | "capabilities": "전체 상장종목 DART 공시 데이터 일괄 수집\n미수집 종목만 선별 수집 (mode=\"new\") 또는 전체 재수집 (mode=\"all\")\n멀티키 병렬 수집 (DART_API_KEYS 쉼표 구분)\n카테고리별 선택 (finance, docs, report)", |
308 | 332 | "requires": "API 키: DART_API_KEY", |
|
857 | 881 | { |
858 | 882 | "name": "searchName", |
859 | 883 | "kind": "function", |
860 | | - "summary": "회사명 부분 검색.", |
| 884 | + "summary": "종목명/코드로 종목 찾기 (KR + US).", |
861 | 885 | "group": "dartlab", |
862 | 886 | "params": [ |
863 | 887 | { |
864 | 888 | "name": "keyword", |
865 | 889 | "type": "str" |
866 | 890 | } |
867 | 891 | ], |
868 | | - "returnType": "pl.DataFrame", |
869 | | - "args": "keyword: 검색 키워드 (예: \"삼성\", \"반도체\").", |
870 | | - "returns": "매칭된 종목 DataFrame (회사명, 종목코드, ...)." |
| 892 | + "args": "keyword: 종목명, 종목코드, 또는 ticker.", |
| 893 | + "returns": "pl.DataFrame — 종목 검색 결과.", |
| 894 | + "example": "dartlab.searchName(\"삼성전자\")\ndartlab.searchName(\"AAPL\")" |
871 | 895 | }, |
872 | 896 | { |
873 | 897 | "name": "fuzzySearch", |
|
975 | 999 | "guide": "\"dartlab 뭐 할 수 있어?\" -> capabilities()\n\"분석 기능 뭐 있어?\" -> capabilities(\"analysis\")\n\"scan 어떻게 써?\" -> capabilities(\"scan\")\n\"재무건전성 관련 API?\" -> capabilities(search=\"재무건전성\")", |
976 | 1000 | "seealso": "ask: AI 질문 (capabilities로 기능 파악 후 ask로 분석)\nsetup: AI provider 설정 (capabilities 확인 후 설정)" |
977 | 1001 | }, |
978 | | - { |
979 | | - "name": "guide", |
980 | | - "kind": "module", |
981 | | - "summary": "dartlab 안내 데스크 — 시스템 총괄 관리 엔진.", |
982 | | - "group": "dartlab" |
983 | | - }, |
984 | 1002 | { |
985 | 1003 | "name": "Company.BS", |
986 | 1004 | "kind": "property", |
|
1988 | 2006 | "example": "c = Company(\"005930\")\nc.sections # 전체 sections 지도", |
1989 | 2007 | "capabilities": "topic × period 수평화 통합 DataFrame\ndocs/finance/report 3-source 병합\nshow(topic)/trace(topic)/diff() 의 근간 데이터", |
1990 | 2008 | "requires": "데이터: docs (필수), finance/report (선택, 자동 다운로드)", |
1991 | | - "guide": "\"이 회사 전체 데이터 지도\" → c.sections\n\"어떤 topic이 있어?\" → c.sections 또는 c.topics", |
| 2009 | + "guide": "\"이 회사 전체 데이터 지도\" → c.sections\n\"어떤 topic이 있어?\" → c.topics (경량)", |
1992 | 2010 | "seealso": "topics: sections 기반 topic 요약 (더 간결)\nshow: 특정 topic 데이터 조회\nindex: 전체 구조 메타데이터 목차" |
1993 | 2011 | }, |
1994 | 2012 | { |
|
0 commit comments