python ffn — Funções de Finanças

Leonardo Gregianin
3 min readJul 6, 2019

--

A biblioteca “ffna financial function library for Python” contém muitas funções úteis para se trabalhar com finanças quantitativas, fornecendo uma vasta gama de utilidades, desde medição e avaliação de desempenho até gráficos e transformações de dados.

O dados são obtidos do Yahoo Finance que fornece todos os dados históricos de todas as Ações, Stocks, FIIs, ETFs e Reits negociados em todas as Bolsas de Valores do mundo.

Instalação

A instalação da biblioteca segue o mesmo padrão da instalação de qualquer outra biblioteca Python, usamos o pip (Python Package Index):

pip install ffn

O pip instalará inicialmente todas as dependências da ffn até que tudo esteja instalado, inclusive a ffn.

Outra opção muito interessante é a instalação da distribuição Anaconda onde ela já disponibiliza pre-instaladas todas as bibliotecas necessárias para análise de dados em geral, bibliotecas muito utilizadas para este fim como Pandas, Numpy, Scipy e outras. Com o Anaconda é possível utilizar o editor Jupyter para programar e trabalhar com o ffn.

Utilização

Para importar a biblioteca e começar a utilizá-la:

import ffn

Para buscar os dados da Apple e da Microsoft desde 2010:

price = ffn.get('aapl,msft', start='2010-01-01')

Vamos comparar o desempenho relativo de cada ação graficamente:

ax = prices.rebase().plot()

Vamos analisar os dados quantitativos de quatro gigantes do mundo da tecnologia: Apple, Microsoft, Amazon e Google.

price = ffn.get('aapl,msft,amzn,goog', start='2010-01-01')

Análise da performance de cada uma:

stats = price.calc_stats()
stats.display()

As estatísticas acima nos mostram que, por exemplo, a Amazon retornou ao acionista 1351% de 04-jan-2010 até 05-set-2019 \o/

Falando em ações do Brasil…

Vamos analisar de maio de 2018 a julho de 2019 como alguns bancos brasileiros performaram.

Dois dos maiores bancos de varejo do Brasil: Itaú (ITUB4) e Bradesco (BBDC4) contra dois bancos digitais em crescente ascensão Banco Inter (BIDI4) e Banco Pan (BPAN4).

import ffn
price = ffn.get(‘bidi4.sa,bpan4.sa,itub4.sa,bbdc4.sa’)
stats = price.calc_stats()
stats.display()

O total de retorno ao acionista do Banco Inter foi de 377,24%, do Banco Pan 453,31% enquanto do Itaú foi de 20,43% e do Bradesco 50,73%.

Mais informações sobre o ffn

A documentação da biblioteca é vasta, existem muitos outros indicadores a analisar. Para visualizar todas as funções disponíveis consulte os links abaixo.

Site oficial: http://pmorissette.github.io/ffn/index.html

Código-fonte da biblioteca: https://github.com/pmorissette/ffn

Quickstart: http://pmorissette.github.io/ffn/quick.html

Documentação da API: http://pmorissette.github.io/ffn/ffn.html

Para ir além

A biblioteca bt (https://github.com/pmorissette/bt), que também utiliza a biblioteca ffn, é um framework Python para realizar backtesting de estratégias de trades. Falaremos mais sobre ela nos próximos artigos.

--

--