Guía de Binance and Moneytoday Parte II

En la primera parte sobre esta guía de Binance vimos como crearnos una cuanta en Binance y los aspectos más importante sobre la seguridad, si es tu primera vez en las inversiones de criptomonedas te recomiendo que leas esa primera parte en el siguiente link: 

Guía de Binance and Moneytoday Parte I  

Si lograste guardar las claves API como variables de entorno ¡Muchas Felicidades! eso quiere decir que eres un usuario avanzado, pero no te preocupe puedes trabajar con tus propias API en tu código, pero te recomiendo no compartirlo con nadie y si lo hace borra primero tu clave API este es el ejemplo:

from binance.client import Client
client = Client(api_key, api_secret)

Para comprobar si todo esta bien, podemos obtener el ultimo precio del BTCUSDT 

# Get latest price from Binance API
btc_price = client.get_symbol_ticker(symbol="BTCUSDT")
print(btc_price)

Puedes obtener más información aquí sobre  Python Binance 

Ahora vamos a la parte más interesante de esta guía que no se recoge en la documentación de Binance, que es guardar los datos históricos del precio en un archivo JSON o CSV para crear sistemas de inversión:

Importar los datos históricos del precio de Binance en archivo JSON and CSV 

Lo primero que necesitamos hacer:

Es importar las librerías de jsoncsv para guardar nuestro archivo en este tipo de formato, podemos usar cualquiera de las dos 

import json

import csv

También debes importar la librería Pandas para crear DataFrameData Time para trabajar con el formato de las fechas.   

import pandas as pd
from datetime import datetime

Creamos la variable timestamp donde vamos a almacenar las diferente temporalidades o timeframe (periodo de tiempo)

 

# Ejemplo:1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 
timestamp = client._get_earliest_valid_timestamp('BTCUSDT', '1d')

Creamos otra variable data donde guardamos el precio del BTCUSDT en temporalidad de un día (‘1d’) . Si quieres otro timeframe con cambiar este parámetro ya tienes.  

data = client.get_historical_klines('BTCUSDT', '1d', timestamp, limit=1000) 

Ahora vamos a crear nuestra DataFrame con las cabeceras de nuestras columnas, aquí es cuando entra a jugar la librería de Pandas, quédate con este concepto, que es muy importante para el análisis de datos y Machine Learning tema fundamentar de nuestro proyecto moneytoday.es 

Nuestras columnas serán las siguientes: 

df = pd.DataFrame(data, columns=['Open_Time','Open', 'High', 'Low','Close','Volume','Close_Time','Quote','Trades','Takers_buy_base','Takers_buy_quote','Ignore'])

Ahora escogemos la columnas del precio de apertura  ( Open Time) para trabajar las fechas, recuerda que importamos la librería date time la cual nos permite convertir las fechas en formato legible a la que estamos a conturbados, de lo contario, seria un número largo que no sabíamos que tipo de fecha es. 

df['Open_Time'] = pd.to_datetime(df1['Open_Time'], unit='ms')

Por último guardamos nuestros datos en un fichero JSON con el siguiente comando:

df1.to_json(‘BTCUSDT_1d.json’)

Para guardarlo en formato CSV seria:

df2.to_csv(‘BTCUSDT_1d.csv’)

Para imprimir las primeras filas de nuestra tabla, usamos el comando de Pandas

df.head()

El cual nos muestra las primeras 5 filas

Aquí el resultado:

Puedes consultar todo el código en Github de Moneytoday si necesitas ayuda por el Whatsapp de esta página web, para estar al día sobre nuestras publicaciones síguenos por Facebook. 

Estoy actualizando está quía de Binance en la fecha domingo 28/05/2023

Les dejo las capturas de pantallas usando los pasos descritos más arriba, con todo lo aprendido en el últimos años, puedo mejorar mi Script Trading

 

 

 

 

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.