Fortunae quer ser tornar uma biblioteca de análise financeira. Indicada para importar indicadores fundamentalistas de ações e fundos
Project description
fortunae
Fortunae quer ser tornar uma biblioteca de análise financeira. Voltada pra importacao de indicadores fundamentalistas de acoes ou fundos imobiliarios usando multithreading. Usando a biblioteca threads
para acelerar a coleta de dados automatizada e massiva. Funciona pra ativos brasileiros e BDR's.
Download
Computer Version:
Instalação
Voce pode instalar fortunae via pip
pip install fortunae
Extraindo dados de acoes
Verificando indicadores fundamentalistas de acoes
import fortunae as ft
acoes = ['mglu3', 'bbas3', 'cash3', 'disb34']
df_acoes = ft.get_stocks(acoes)
O df_acoes
será um dataframe com os ativos e seus indicadores. São identificados 43 indicadores fundamentalistas pra acoes.
Extraindo dados de fundos imobiliarios
Verificando indicadores fundamentalistas de fundos imobiliarios.
import fortunae as ft
fiis = ['hglg11', 'knri11', 'bcff11']
df_fiis = ft.get_fiis(fiis)
O df_fiis
será um dataframe com os ativos e seus indicadores. São identificados 23 indicadores fundamentalistas pra acoes.
Verificando lista de ativos
Verificando lista de acoes
import fortunae as ft
acoes_lista = ft.br_stocks()
Verificando lista de fundos imobiliarios
import fortunae as ft
acoes_lista = ft.br_fiis()
Atualização de ativos
import fortunae as ft
import pandas as pd
import time
start = time.time()
#Pegando a lista de acoes e fundos
acoes = ft.br_stocks() #473 acoes
fiis = ft.br_fiis() #250 fundos
#Scraping de dados usando threads
df_acoes = ft.get_stocks(acoes)
df_fiis = ft.get_fiis(fiis)
#Gravando os resultados
with pd.ExcelWriter('outputs.xlsx') as writer:
df_acoes.to_excel(writer, sheet_name='acoes')
df_fiis.to_excel(writer, sheet_name='FIIs')
print(f'Tempo de processamento gasto {(time.time() - start):.3f}s')
Esse codigo percorre 473 acoes
e 250 fundos imobiliarios
listadas na B3
pegando informacoes de
preço e indicadores fundamentalistas. Após a coleta de dados concluida salva o arquivo em formato de planilha .xlsx
. Esse operação dura em média 3min
e depende de conexão com a internet.
Exemplos do DataFrame df_acoes
Quando usar a função get_stocks ela retornara os indicadores de cada ativo informado em seu argumento em forma de um DataFrame. Assim, fica mais fácil executar analises, filtros e plotagem.
Exemplos - Visualizando os dados do DataFrame
Com os dados do DataFrame agrupar por subsetor de atuação e visualizarmos como o P/L
se distribui em cada setor.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
#Filtrando dados
df = pd.read_excel('outputs.xlsx', index_col=False)
df = df[(df['VOLUME (dia)'] >=0.5e6) & (df['P/L']>0) & (df['P/L']<100)]
#Plot
sns.relplot(size="P/L", y="Subsetor de Atuação", hue="Setor de Atuação", x="D.Y",
sizes=(40, 400), alpha=.5, palette="Paired",
height=6, data=df[(df['D.Y'] > 0) & (df['D.Y'] < 50) &
(df['P/L'] > 0) & (df['P/L'] < 50)])
Pode-se também fazer um histograma pra verificar como o ROE
de distribuiu de acordo com cada setor de atuação.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
#Filtrando dados
df = pd.read_excel('outputs.xlsx', index_col=False)
df = df[(df['VOLUME (dia)'] >=0.5e6) & (df['P/L']>0) & (df['P/L']<100)]
fig, ax = plt.subplots()
sns.kdeplot(
data=df, x="ROE", hue="Setor de Atuação",
fill=True, common_norm=False, palette="Spectral", multiple="stack",
alpha=.5, linewidth=0,
)
ax.grid(linestyle='dotted')
ax.set_xlim(-5, 50)
Ou fazer um histograma pra verificar como o P/L
de distribuiu de acordo com cada setor de atuação.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
#Filtrando dados
df = pd.read_excel('outputs.xlsx', index_col=False)
df = df[(df['VOLUME (dia)'] >=0.5e6) & (df['P/L']>0) & (df['P/L']<100)]
fig, ax = plt.subplots()
sns.kdeplot(
data=df, x="P/L", hue="Setor de Atuação",
fill=True, common_norm=False, palette="Spectral", multiple="stack",
alpha=.5, linewidth=0,
)
ax.grid(linestyle='dotted')
ax.set_xlim(-5, 50)
Support ou contato
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fortunae-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27b92980e0fccd324fa45a98c8adc96be6349a0a95423cd27d2df2c3f0085432 |
|
MD5 | 62828b24b211a545885866fb45843082 |
|
BLAKE2b-256 | f2af47b8f571c1ef6f759dceeec707fed80e2f3207c2094cdf243e48c1cc6594 |