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

 

 

 

 

Guía de Binance API Python

Conocer como trabajar con las API, para crear sistemas de inversión algorítmico, te acerca más a ser un inversor profesional.

Existe un grabe problema, que los Trader no son programadores y los programadores no son Trader, así que, con está guía quiero resolver ese problema…

Para que los Traders, puedan usar está información, para construir sus sistemas de inversión y los programadores, sepan como invertir, con los conocimientos que ya poseen.

En este caso, usaré el Exchange de Binance, porque es el más popular y el que más volúmen de mercado de criptomonedas mueve; y el lenguaje de programación Python, el cual, se ha convertido, en unos de los lenguajes más usados para el análisis de Datos.

En nuestro caso, usaremos la API de Binance para obtener los datos y realizar nuestro análisis y crear un sistema de inversión.

¿Cómo empiezo con la API de Binance?

El primer paso es crear una cuenta con Binance. Solo necesita ingresar su correo electrónico y crear una contraseña:

https://accounts.binance.com/es/register?ref=I56LU5P9

Opcionalmente, si está interesado en usar una ID de referencia, puede usar I56LU5P9 para recibir un descuento del 10% en sus tarifas comerciales.

Se le preguntará si desea habilitar la autenticación de dos factores para mayor seguridad. Recomendamos encarecidamente que lo haga. Si nunca lo ha usado antes, deberá instalar Google Authenticator .

Obtener una clave API

Después de iniciar sesión en su cuenta de Binance, haga clic en el icono de perfil en la parte superior derecha de la pantalla. Desde allí, seleccione API Management.

imagen:

A continuación, se le pedirá que cree una etiqueta para la clave API. Si planea crear varias claves, es una buena idea usar un nombre descriptivo aquí para que pueda distinguirlo fácilmente más adelante.

Si tiene habilitada la autenticación de dos factores, se le pedirá que se autentique una vez más en este punto.

Binance le enviará un correo electrónico para confirmar la creación de la clave API. Haga clic en el enlace de confirmación de su correo electrónico de confirmación para continuar.

Su clave de API debe crearse en este punto. Tenga en cuenta que esta es la única vez que se revelará el secreto de su API. Si navega fuera de esta pantalla, no podrá volver a verla.

En tal escenario, deberá eliminar su clave API y comenzar de nuevo creando una nueva.

Proteja los detalles de su API como lo haría con cualquier contraseña, ya que cualquier persona puede acceder a su cuenta si pudiera obtener esta información.

Antes de seguir adelante, hay algunas configuraciones aquí que debemos revisar.

La opción Solo lectura está seleccionada de forma predeterminada y es probable que no pueda desmarcarla.

Esto permite que la API lea los detalles de su cuenta y está habilitado de forma predeterminada. Quizás sea un poco engañoso ya que incluye el término Solo , pero aún puede realizar otras operaciones con esta opción marcada.

También hay una opción para habilitar el comercio , habilitar retiros y habilitar futuro .

Si todavía está probando la API, puede ser una buena idea dejarlos sin marcar. Si está listo para comenzar a operar, marque la casilla Habilitar operaciones y la casilla Habilitar futuro si planea operar con futuros.

Para algunas personas, el cuadro Habilitar futuro no se mostrará aquí. Eso significa que la cuenta no está configurada para operar con futuros.

Nota: si se muestra el cuadro Habilitar futuros, aún debe configurar su cuenta de futuros antes de intentar crear una clave API (si planea negociar futuros). De lo contrario, puede provocar errores de autenticación de API.

Es fácil configurar el comercio de futuros en su cuenta si aún no está habilitado. Desde la página principal de inicio de sesión de Binance, haga clic en la opción Derivados en la barra de menú superior.

Desde allí, haga clic en Futuros, que le llevará a la pantalla de negociación de futuros. Debería haber una opción en esa página para abrir una cuenta de futuros.

Si planea realizar retiros desde su secuencia de comandos de operaciones de Python, deberá habilitarlo. Para hacerlo, debe especificar la dirección IP desde donde el script accederá a la API. Esto es por motivos de seguridad.

Si tiene la intención de ejecutar su script desde un servidor privado virtual como AWS, esto no debería ser un gran problema. Sin embargo, si está ejecutando el script desde su máquina local, podría tener problemas ya que la mayoría de los proveedores de servicios de Internet no ofrecen direcciones IP estáticas.

Existen soluciones de terceros, como noip.com, que brindan una forma de evitar tener una IP estática.

Instalación de la biblioteca Python-Binance

La forma más sencilla de instalar la biblioteca python-binance es usar pip. Desde la línea de comando, simplemente escriba:

pip install python-binance

Asegurar sus claves API

Recomendamos almacenar sus claves de API como variables de entorno. De esa manera, si carga su código en GitHub o se lo envía a alguien, no corre el riesgo de revelar sus credenciales.

Esto se puede hacer a través del símbolo del sistema. Aquí está la sintaxis para usuarios de Windows.

set binance_api=your_api_key_here
set binance_secret=your_api_secret_here

Puede verificar que las claves se guarden directamente desde el símbolo del sistema iniciando Python. Aquí hay un video: