Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import investpy as inv
- import numpy as np
- import matplotlib.pyplot as plt
- import pandas as pd
- import json
- class Historical_data:
- def __init__(self, data_inicial, data_final, pais = 'brazil', json = False, ordem = 'ascending', intervalo = 'Daily'):
- self.data_inicial = data_inicial
- self.data_final = data_final
- self.pais = pais
- self.json = json
- self.ordem = ordem
- self.intervalo = intervalo
- def historico_acoes(self, acao, status = 'Close'):
- if len(acao) > 1:
- dados = pd.DataFrame()
- for papel in acao:
- dados[papel] = inv.get_stock_historical_data(papel, self.pais,
- from_date=self.data_inicial,
- to_date=self.data_final,
- as_json= False,
- order=self.ordem,
- interval=self.intervalo)[status]
- else:
- dados = pd.DataFrame()
- for papel in acao:
- dados = inv.get_stock_historical_data(papel, self.pais,
- from_date=self.data_inicial,
- to_date=self.data_final,
- as_json= False,
- order=self.ordem,
- interval=self.intervalo)
- if self.json:
- stock_json = dict()
- dados['Date'] = dados.index
- stock_json['stock'] = dados.to_dict('records')
- return stock_json
- else:
- return dados
- def historico_index(self, indice, status = 'Close'):
- dados = pd.DataFrame()
- if len(indice) != 1:
- for papel in indice:
- dados[papel] = inv.get_index_historical_data(papel, self.pais,
- from_date=self.data_inicial,
- to_date=self.data_final,
- as_json= self.json,
- order=self.ordem,
- interval=self.intervalo)[status]
- return dados
- else:
- for papel in indice:
- dados= inv.get_index_historical_data(papel, self.pais,
- from_date=self.data_inicial,
- to_date=self.data_final,
- as_json= self.json,
- order=self.ordem,
- interval=self.intervalo)
- return dados
- #ativos = Historical_data('01/01/2015', '31/12/2020', json=True).historico_acoes(['ITUB4', 'PETR4', 'VALE3'])
- ativo = Historical_data('01/01/2019', '31/12/2020').historico_acoes(['ITUB4', 'PETR4', 'PETR3'])
- #index = Historical_data('01/01/2015', '31/12/2020').historico_index(['bovespa'])
- limpando = dict()
- limpando2 = dict()
- teste = list()
- for a in ativo.columns:
- teste.clear()
- for b in range(len(ativo)):
- limpando = {
- 'data': ativo.index[b],
- 'preço': ativo[a][b]
- }
- teste.append(limpando)
- limpando2[a] = teste
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement