프로젝트 소개

FinanceDatabase는 금융 상품의 대규모 큐레이션 참조 데이터베이스를 제공하는 오픈소스 Python 패키지입니다. 주식(11개 섹터, 80개 산업, 117개 국가, 84개 거래소에 걸쳐 약 112,690개), ETF(313개 패밀리, 44개 카테고리에 걸쳐 약 36,481개), 펀드(1,540개 패밀리에 걸쳐 약 57,853개), 지수(약 91,181개), 통화(약 2,556개), 암호화폐(약 3,367개), 머니마켓(약 1,367개)에 걸쳐 30만 개 이상의 심볼을 포함합니다. 이 프로젝트는 명시적으로 시장 데이터나 펀더멘털 피드가 아닙니다. 대신 상품 분류와 메타데이터에 초점을 맞춥니다. 각 심볼에 대해 티커, 이름, 통화, 섹터, 산업 그룹, 산업, 거래소, 시장, 국가, 주, 도시, 우편번호, 웹사이트, 시가총액 구간, ISIN, CUSIP, FIGI 식별자를 저장합니다. 이를 통해 특정 국가, 섹터, 산업에 어떤 상품이 존재하는지 발견하고 다른 금융 데이터 워크플로를 보강하는 데 유용합니다(저자는 실제 가격 및 펀더멘털 데이터를 위해 별도의 FinanceToolkit 패키지와 함께 사용합니다). 설치는 `pip install financedatabase -U` 명령 한 번이면 되며, 이후 `import financedatabase as fd`로 패키지를 가져옵니다. 각 자산 클래스는 클래스로 노출되며(예: `fd.Equities()`), 인스턴스화한 후 `country`, `sector`, `industry`, `exchange`, `market`, `currency`, `market_cap`, `only_primary_listing`과 같은 키워드 필터를 사용하여 `select(...)`로 쿼리할 수 있습니다. 필터는 단일 값 또는 값 목록을 허용하며, 목록인 경우 일치하는 항목이 반환됩니다. `show_options(...)` 헬퍼는 각 열에 사용 가능한 고유 값을 나열하며, 선택적으로 다른 필터로 좁힐 수 있어 사용자가 전체 데이터 파일을 로드하지 않고도 분류 체계를 탐색할 수 있습니다. 동일한 회사가 여러 거래소에 상장될 수 있으므로 결과에 중복 회사가 포함될 수 있습니다. `only_primary_listing` 플래그나 명시적인 `exchange`/`market` 필터로 이를 좁힐 수 있습니다. 기반 데이터는 CSV 파일로 저장되며, 프로젝트는 이를 의도적인 설계 선택으로 강조합니다. 코딩 경험이 없는 기여자도 파일을 직접 편집하여 티커를 추가, 수정, 제거할 수 있으며, README에는 CONTRIBUTING.md 가이드를 통한 커뮤니티 기여 요청이 포함되어 있습니다. 이 패키지는 PyPI에 배포되며 여러 Python 버전을 지원하고 Jeroen Bouma가 유지관리합니다. 글로벌 금융 상품 세계에 대한 광범위하고 필터링 가능한 개요를 원하는 모든 사람을 위해 상업적 참조 데이터 제공업체에 대한 무료 커뮤니티 주도 대안으로 자리매김하고 있습니다.