Last active
June 25, 2024 22:30
-
-
Save andreluizjaques/2fdd97c104a76e14fcec3ecffc98d251 to your computer and use it in GitHub Desktop.
Conexão B3 DI Futuro
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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