Sobre o projeto

O FinanceDatabase é um pacote Python de código aberto que disponibiliza uma grande base de dados de referência curada de instrumentos financeiros. Abrange mais de 300.000 símbolos, incluindo ações (cerca de 112.690 em 11 setores, 80 indústrias, 117 países e 84 bolsas), ETFs (cerca de 36.481 em 313 famílias e 44 categorias), fundos (cerca de 57.853 em 1.540 famílias), índices (cerca de 91.181), moedas (cerca de 2.556), criptomoedas (cerca de 3.367) e mercados monetários (cerca de 1.367). O projeto não é explicitamente uma fonte de dados de mercado ou de fundamentos. Em vez disso, concentra-se na categorização de produtos e metadados: para cada símbolo, armazena o ticker, nome, moeda, setor, grupo de indústria, indústria, bolsa, mercado, país, estado, cidade, código postal, site, faixa de capitalização de mercado, identificadores ISIN, CUSIP e FIGI. Isso o torna útil para descobrir quais produtos existem em um determinado país, setor ou indústria, e para enriquecer outros fluxos de trabalho de dados financeiros (o autor o combina com o pacote separado FinanceToolkit para dados reais de preços e fundamentos). A instalação é feita com um único comando `pip install financedatabase -U`, após o qual o pacote é importado como `import financedatabase as fd`. Cada classe de ativo é exposta como uma classe (por exemplo, `fd.Equities()`) e, uma vez instanciada, pode ser consultada com `select(...)` usando filtros por palavra-chave como `country`, `sector`, `industry`, `exchange`, `market`, `currency`, `market_cap` e `only_primary_listing`. Os filtros aceitam um único valor ou uma lista de valores, caso em que qualquer correspondência é retornada. Um auxiliar `show_options(...)` lista os valores distintos disponíveis por coluna, opcionalmente restringidos por outros filtros, para que os usuários possam explorar a taxonomia sem carregar os arquivos de dados completos. Como a mesma empresa pode estar listada em várias bolsas, os resultados podem conter empresas duplicadas; o sinalizador `only_primary_listing` ou um filtro explícito de `exchange`/`market` reduz isso. Os dados subjacentes são armazenados como arquivos CSV, o que o projeto destaca como uma escolha de design deliberada: colaboradores sem experiência em programação podem editar os arquivos diretamente para adicionar, editar ou remover tickers, e o README inclui um chamado para contribuições da comunidade por meio de um guia CONTRIBUTING.md. O pacote é distribuído no PyPI, suporta várias versões do Python e é mantido por Jeroen Bouma. Ele é posicionado como uma alternativa gratuita e impulsionada pela comunidade aos provedores comerciais de dados de referência para qualquer pessoa que deseje uma visão ampla e filtrável do universo global de produtos financeiros.