Skip to content

Instantly share code, notes, and snippets.

@andreluizjaques
Last active June 25, 2024 22:30
Show Gist options
  • Save andreluizjaques/2fdd97c104a76e14fcec3ecffc98d251 to your computer and use it in GitHub Desktop.
Save andreluizjaques/2fdd97c104a76e14fcec3ecffc98d251 to your computer and use it in GitHub Desktop.
Conexão B3 DI Futuro
#importando as bibliotecas
import pandas as pd
import json
import requests, json
#realizando uma requisição atráves da api com os dados
url = requests.get("https://cotacao.b3.com.br/mds/api/v1/DerivativeQuotation/DI1")
#lendo o conteúdo da resposta
text = url.text
#carregando o conteúdo de resposta
data = json.loads(text)
#Normalizando os dados para criação de um data frame
df = pd.json_normalize(data['Scty'])
#Ordenação dos dados pelo vencimento do contrato
df_ord = df.sort_values(by='asset.AsstSummry.mtrtyCode')
#Alterando os nomes das colunas
df = df.rename(columns={"symb":"Simbolo",
"SctyQtn.bottomLmtPric":"Limite_Inferior",
"SctyQtn.prvsDayAdjstmntPric":"Ajuste_Anterior",
"SctyQtn.topLmtPric":"Limite_Superior",
"SctyQtn.opngPric":"Preco_Abertura",
"SctyQtn.minPric":"Preco_Minimo",
"SctyQtn.maxPric":"Preco_Maximo",
"SctyQtn.avrgPric":"Preco_Medio",
"SctyQtn.curPrc":"Ultimo_Preco",
"asset.AsstSummry.grssAmt":"Volume",
"asset.AsstSummry.mtrtyCode":"Vencimento",
"asset.AsstSummry.opnCtrcts":"Contr_Aberto",
"asset.AsstSummry.tradQty":"Num_Negoc",
"asset.AsstSummry.traddCtrctsQty":"Contr_Negoc",
"asset.code":"Codigo",
"buyOffer.price":"Ult_Oft_Compra",
"mkt.cd":"Mercado",
"sellOffer.price":"Ult_Oft_Venda",})
#Posicionando os valores das colunas
df = df[['Simbolo', 'desc', 'Mercado', 'Codigo', 'Vencimento', 'Contr_Aberto', 'Num_Negoc', 'Contr_Negoc', 'Volume', 'Preco_Abertura', 'Preco_Minimo', 'Preco_Maximo',
'Preco_Medio', 'Ultimo_Preco', 'Ult_Oft_Compra', 'Ult_Oft_Venda', 'Ajuste_Anterior', 'Limite_Inferior', 'Limite_Superior', ]]
#Ordenação dos dados pelo vencimento do contrato
difuturo = df.sort_values(by='Vencimento')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment