Skip to main content

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:

Windows Linux Mac OS

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

Instagram Badge Twitter Badge Linkedin

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

fortunae-0.0.10.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fortunae-0.0.10-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file fortunae-0.0.10.tar.gz.

File metadata

  • Download URL: fortunae-0.0.10.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.8

File hashes

Hashes for fortunae-0.0.10.tar.gz
Algorithm Hash digest
SHA256 1471b234fae79ac3ffdd1cc82336aa59f6f73c769f7792ab20121eab540e864c
MD5 8c4eb0f6199423646bdc067f68690b82
BLAKE2b-256 20d2bf7c8d2653a0f985501e9161d1f9e8de3e93127c6d119a2d69ee4ea9173a

See more details on using hashes here.

File details

Details for the file fortunae-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: fortunae-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.8

File hashes

Hashes for fortunae-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 27b92980e0fccd324fa45a98c8adc96be6349a0a95423cd27d2df2c3f0085432
MD5 62828b24b211a545885866fb45843082
BLAKE2b-256 f2af47b8f571c1ef6f759dceeec707fed80e2f3207c2094cdf243e48c1cc6594

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page