SHARE
TWEET

Untitled

von_mises Jun 29th, 2020 1,100 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import investpy as inv
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. import pandas as pd
  5. import json
  6.  
  7. class Historical_data:
  8.     def __init__(self, data_inicial, data_final, pais = 'brazil', json = False, ordem = 'ascending', intervalo = 'Daily'):
  9.  
  10.         self.data_inicial = data_inicial
  11.         self.data_final = data_final
  12.         self.pais = pais
  13.         self.json = json
  14.         self.ordem = ordem
  15.         self.intervalo = intervalo
  16.  
  17.     def historico_acoes(self, acao, status = 'Close'):
  18.  
  19.  
  20.         if len(acao) > 1:
  21.             dados = pd.DataFrame()
  22.             for papel in acao:
  23.                 dados[papel] = inv.get_stock_historical_data(papel, self.pais,
  24.                                                              from_date=self.data_inicial,
  25.                                                              to_date=self.data_final,
  26.                                                              as_json= False,
  27.                                                              order=self.ordem,
  28.                                                              interval=self.intervalo)[status]
  29.         else:
  30.             dados = pd.DataFrame()
  31.             for papel in acao:
  32.                 dados = inv.get_stock_historical_data(papel, self.pais,
  33.                                                              from_date=self.data_inicial,
  34.                                                              to_date=self.data_final,
  35.                                                              as_json= False,
  36.                                                              order=self.ordem,
  37.                                                              interval=self.intervalo)
  38.  
  39.         if self.json:
  40.             stock_json = dict()
  41.             dados['Date'] = dados.index
  42.             stock_json['stock'] = dados.to_dict('records')
  43.             return stock_json
  44.         else:
  45.             return dados
  46.  
  47.     def historico_index(self, indice, status = 'Close'):
  48.         dados = pd.DataFrame()
  49.         if len(indice) != 1:
  50.             for papel in indice:
  51.                 dados[papel] = inv.get_index_historical_data(papel, self.pais,
  52.                                                              from_date=self.data_inicial,
  53.                                                              to_date=self.data_final,
  54.                                                              as_json= self.json,
  55.                                                              order=self.ordem,
  56.                                                              interval=self.intervalo)[status]
  57.             return dados
  58.  
  59.         else:
  60.             for papel in indice:
  61.                 dados= inv.get_index_historical_data(papel, self.pais,
  62.                                                              from_date=self.data_inicial,
  63.                                                              to_date=self.data_final,
  64.                                                              as_json= self.json,
  65.                                                              order=self.ordem,
  66.                                                              interval=self.intervalo)
  67.                 return dados
  68.  
  69.  
  70. #ativos = Historical_data('01/01/2015', '31/12/2020', json=True).historico_acoes(['ITUB4', 'PETR4', 'VALE3'])
  71. ativo = Historical_data('01/01/2019', '31/12/2020').historico_acoes(['ITUB4', 'PETR4', 'PETR3'])
  72. #index = Historical_data('01/01/2015', '31/12/2020').historico_index(['bovespa'])
  73.  
  74. limpando = dict()
  75. limpando2 = dict()
  76. teste = list()
  77. for a in ativo.columns:
  78.     teste.clear()
  79.     for b in range(len(ativo)):
  80.         limpando = {
  81.             'data': ativo.index[b],
  82.             'pre├žo': ativo[a][b]
  83.         }
  84.  
  85.         teste.append(limpando)
  86.  
  87.     limpando2[a] = teste
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top