analisefundamentalista 0.0.13
Pacote analisefundamentalista
License: MIT License

# Analise Fundamentalista
- Essa biblioteca em python tem objetivo de extrair dados de empresas e do mercado e criar indicadores fundamentalistas de forma simplificada e intuitiva.
- Todos os dados sÃ£o extraÃ­dos diretamente de fontes oficiais (CVM e B3).


# Como utilizar
### InstalaÃ§Ã£o
>

```python
$ pip install analisefundamentalista
```
### ImportaÃ§Ã£o da biblioteca
```python
import analisefundamentalista as af
```


 
### Importando relatÃ³rios de demonstrativos
#### - RelatÃ³rios:
	1. BPA -- BalanÃ§o Patrimonial Ativo 
	2. BPP -- BalanÃ§o Patrimonial Passivo
	3. DRE -- Demonstrativo de Resultados do ExercÃ­cio 
	4. DRA -- DemonstraÃ§Ã£o de Resultado Abrangente
	5. DMPL -- DemonstraÃ§Ã£o das MutaÃ§Ãµes do PatrimÃ´nio LÃ­quido
	6. DFC_MI -- Demonstrativo de Fluxo de Caixa (MÃ©todo Indireto)
	7. DVA -- DemonstraÃ§Ã£o de Valor Adicionado

#### - FunÃ§Ã£o:
	>def importar_relatorio(cod, ano, tri, demonstrativo='consolidado', acumulado=True,  tickers = [], setores = [], subsetores = [], segmentos = [], infos = False)

- cod: sigla do relatÃ³rio desejado
- ano: ano do relatÃ³rio
- tri: trimestre
- demonstrativo: 'consolidado' ou 'individualizado'
- tickers: filtra pelos cÃ³digos da aÃ§Ã£o das empresas
- setores: filtra pelos setores
- subsetores: filtra pelos subsetores
- segmentos: filtra pelos segmentos
- infos: em caso de True, a tabela tambÃ©m retorna a data de divulgaÃ§Ã£o do relatÃ³rio
```python
## Exemplos:
af.importar_relatorio('DRE', 2021, 4, tickers = ['PETR4', 'VALE3'])

af.importar_relatorio('DRE', 2021, 4, setores = ['SaÃºde', 'Financeiro'])
```
	
#### - Lista de setores, subsetores e segmentos:
	```python
	# Lista de setores:
	af.listar_setores()
	
	# Lista de subsetores
	af.listar_subsetores()

	# Lista de segmentos:
	af.listar_segmentos()
	```

### Gerando indicadores de anÃ¡lise fundamentalista
#### - Instanciando o objeto Analise:
	> af.Analise(ano, tri, tickers=[], setores=[], subsetores=[], segmentos=[], demonstrativo='consolidado', acumulado=True)
	
- ano: ano do relatÃ³rio
- tri: trimestre
- tickers: filtra pelos cÃ³digos da aÃ§Ã£o das empresas
- setores: filtra pelos setores
- subsetores: filtra pelos subsetores
- segmentos: filtra pelos segmentos

```python
# Exemplo:
analise = af.Analise(2021, 3, segmentos=['Bancos'])
```

#### - MÃ©todos:

##### Obter um relatÃ³rio:
> analise.get_relatorio(cod)
- cod: cÃ³digo do relatario

##### Obter a anÃ¡lise horizontal de um relatÃ³rio:
> analise.analise_horizontal(cod)

##### Obter a anÃ¡lise horizontal de um relatÃ³rio:
> analise.analise_horizontal(cod)


#####  * Os mÃ©todos seguintes retornam um objeto da classe Conta(float). Essa classe alÃ©m do valor, tambÃ©m contem o calculo utilizado.
##### Obter uma conta pelo cÃ³digo
> analise.conta(conta)
- conta: cÃ³digo da conta
```python
# Exemplo:
analise = af.Analise(2021, 3, tickers = ['PETR4', 'ABEV3'])
analise.conta('3.01')
```
> Retorna:
> {'ABEV': conta: 3.01
 descriÃ§Ã£o: Receita de Venda de Bens e/ou ServiÃ§os
 valor: 50,843,511.00000000,
 'PETR': conta: 3.01
 descriÃ§Ã£o: Receita de Venda de Bens e/ou ServiÃ§os
 valor: 318,478,000.00000000}

##### Obter uma conta pela descriÃ§Ã£o:
> analise.dsc(cod, *dscs)
- cod: cÃ³digo numÃ©rico do relatÃ³rio.
- descs: palavras chave que serÃ£o buscadas no relatÃ³rio e retorna a soma.
```python
# Exemplo:
analise = af.Analise(2021, 3, tickers = ['PETR4', 'ABEV3'])
analise.dsc(6, 'amortiza' ,'deprecia')
```
> Retorna:
> {'ABEV': conta: 6.01.01.02
 descriÃ§Ã£o: DepreciaÃ§Ã£o, AmortizaÃ§Ã£o e Impairment
 valor: 3,934,218.00000000,
 'PETR': conta: 6.03.03 + 6.03.04 + 6.03.08 + 6.01.01.04
 descriÃ§Ã£o: AmortizaÃ§Ãµes de principal - financiamentos + AmortizaÃ§Ãµes de Juros - financiamentos + AmortizaÃ§Ãµes de arrendamentos + DepreciaÃ§Ã£o, DepleÃ§Ã£o e AmortizaÃ§Ã£o
 valor: -95,044,000.00000000}

##### Obter um indicador:
> analise.ind(ind)
- ind: nome do indicador

Ã‰ possÃ­vel ver a lista de indiadores pela constante INDICADORES
```python
print(af.INDICADORES)
```
```python
# Exemplo:
analise = af.Analise(2021, 3, tickers = ['PETR4', 'ABEV3'])
analise.ind('ebitda')
```
> Retorna:
> {'ABEV': conta: 3.05 + 6.01.01.02
 descriÃ§Ã£o: Resultado Antes do Resultado Financeiro e dos Tributos + DepreciaÃ§Ã£o, AmortizaÃ§Ã£o e Impairment
 valor: 15,807,008.00000000,
 'PETR': conta: 3.05 + 6.01.01.04
 descriÃ§Ã£o: Resultado Antes do Resultado Financ	eiro e dos Tributos + DepreciaÃ§Ã£o, DepleÃ§Ã£o e AmortizaÃ§Ã£o
 valor: 199,362,000.00000000}