# Import libraries
import pandas as pd
import cufflinks as cf
import PortfolioAnalyser as pa
# Set cufflinks offline
cf.go_offline()
Continuando o anterior post vamos fazer agora o gráfico dos ETFs com o código limpo antes de proceder
# Ler IS3Q, colocar index como datetime e dar o nome do ticker à coluna
IS3Q = pd.read_csv('IS3Q.csv', index_col='Date', parse_dates=True)[['Price']]
IS3Q.columns = ['IS3Q']
# Ler IWDA, colocar index como datetime e dar o nome do ticker à coluna
IWDA = pd.read_csv('IWDA.csv', index_col='Date', parse_dates=True)[['Price']]
IWDA.columns = ['IWDA']
# Fazer dataframe ETFs com merge dos dois ETFs
ETFs = pa.merge_time_series(IS3Q, IWDA, how='inner')
ETFs = ETFs.sort_index(ascending=True)
# Fazer o growth index
ETFs_gi = pa.compute_growth_index(ETFs)
# Fazer o gráfico plotly
ETFs_gi.iplot(dimensions=pa.dimensions)
Para fazer os drawdowns apenas temos de fazer a função para tal da biblioteca PortfolioAnalyser. Assim:
# Fazer DataFrame dos Drawdowns e associar a uma variável
DD = pa.compute_drawdowns(ETFs_gi)
DD
# Fazer o gráfico plotly
DD.iplot(dimensions=pa.dimensions)
Nada mais simples que isto. Apenas 2 linhas de código.
Vamos fazer agora a tabela de performance (não se esqueçam que têm de usar o nome da variável/DataFrame que tem ambos os ETFs):
# Performance since inception
pa.compute_performance_table(ETFs_gi)
ETFs_gi
Por defeito a tabela de performanance mostra a performance desde o início da DataFrame. Mas a função tem uma opção que se passarem o número de anos ela vai calcular a tabela de performance desse período.
# Performance a 3 anos
pa.compute_performance_table(ETFs_gi, years=3)
# Performance a 10 anos
pa.compute_performance_table(ETFs_gi, years=10)