Comparar Precios Bittrex, Poloniex y Coinmarketcap

in spanish •  7 years ago  (edited)

Hoy vamos a hacer algo bastante sencillo que nos acercara un poco al Trading Automático, el proceso de comparación de los diferentes mercados!!!

Podemos tomar decisiones en si una moneda va a subir o bajar según ciertos factores, pero el Factor de Comparación de los diferentes mercados debería ser fundamental, claro como no queremos estar todo el día en el computador viendo si sube o baja y salir corriendo a vender es estresante vamos a seguir con mi Sistema de Trading Automático, pero esta Ves solo vamos a comparar los precios de @bittrex @poloniex y @cointmarketcap...

Para esta entrada solo vamos a ver los precios del STEEM y vamos a construir una tabla con los datos que vamos obteniendo, no quiero abrumarlos y por eso solo vamos a obtener 1 linea en la tabla que serán los precios del momento:

Para extraer el Valor del STEEM en  Bittrex voy a usar este link:

https://bittrex.com/api/v1.1/public/getticker?market=BTC-STEEM

Para extraer el Valor del STEEM en  Poloniex voy a usar este link:

https://poloniex.com/public?command=returnOrderBook&currencyPair=BTC_STEEM&depth=1

Para extraer el Valor del STEEM en Coinmarketcap voy a usar este link:

https://coinmarketcap-nexuist.rhcloud.com/api/steem/price


Aunque para Bittrex podríamos usar este link:

https://bittrex.com/api/v1.1/public/getmarkethistory?market=BTC-STEEM

Lo que en realidad me interesa es el precio de de los Bids mas que el de los Ask, explico un poco:

El precio Bids es lo que están ofertando las personas que quieren comprar la moneda o acción.
El precio Ask es el precio en el que otras personas están Vendiendo.

Generalmente los ASKs serán mas Altos que los Bids, por eso en otras entradas colocaba lo que tenemos invertido que viene dado por el ASK y lo que tenemos en la Realidad el Precio Bids pero esto tampoco es tan así, incluso si quisiéramos especular un poco podríamos tomar un valor intermedio y ver si vendemos. Pero eso escapa a lo que quiero hacer en este POST.

Por ejemplo noten a Poloniex:

asks 

    "0.00065373"

        172.62933522

bids

    "0.00065000"

        19.95676913

En este ejemplo tenemos el Precio del STEEM en BTC que es donde ahora mismo nos interesa... Ya luego vemos otras cosas que se me han ocurrido pero no quiero abrumarlos...

Tenemos un precio  de 0.00065373 por cada STEEM pero solo nos van a vender 172.62933522. Y tambien 0.00065000 por cada STEEM pero solo nos van a comprar 19.95676913.

Por eso los Bids son lo que ahora nos interesa aunque mas adelante veremos como los precios de ASK son los que también mueven el mercado.

Ahora que ya sabemos cuales son los datos que nos interesa, solo los precios de Bids procedemos a sacarlos, Recordemos que Coinmarketcap no tiene Bids ni Ask solo Price...

El programa se va a conectar a cada Link y sacara los datos de los precios Bids y nos permitirá saber en donde esta mas caro el STEEM cual es la Diferencia en % y esto nos dará una idea si debemos vender o comprar en el futuro o incluso nos permitirá cambiar estas monedas entre Plataformas para obtener mejores Ganancias Claro Teniendo en Cuenta las comisiones que esto implica, pero esto lo veremos mas adelante.

Aquí les dejo parte del Script:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from bittrex import Bittrex

import urllib2

from bs4 import BeautifulSoup

import re

from prettytable import PrettyTable

lista_bitrex = []

lista_bitrex_poloniex = []

lista_bitrex_coinmarket = []

lista_poloniex = []

lista_poloniex_bitrex = []

lista_poloniex_coinmarket = []

lista_coinmarket = []

dictionary_data = {}

#VALUE BTC bittrex

url = "https://bittrex.com/api/v1.1/public/getticker?market=USDT-BTC"

page = urllib2.urlopen(url)

soup = BeautifulSoup(page, "lxml")

valor = soup.find_all('p')

valor = valor[0].get_text()

valor = eval(valor.replace('true','True'))

Bid_valor = valor['result']['Bid']

Bid_valor_bitt = float(Bid_valor)

dictionary_data['price_BTC_bittrex'] = Bid_valor_bitt

#VALUE STEEM bittrex

url = "https://bittrex.com/api/v1.1/public/getticker?market=BTC-STEEM"

page = urllib2.urlopen(url)

soup = BeautifulSoup(page, "lxml")

valor = soup.find_all('p')

valor = valor[0].get_text()

valor = eval(valor.replace('true','True'))

Bid_valor = valor['result']['Bid']

Bid_valor_bitt = float(Bid_valor)

dictionary_data['price_steem_bittrex'] = Bid_valor_bitt

dictionary_data['price_steem_bittrex_usd'] = Bid_valor_bitt * dictionary_data['price_BTC_bittrex']

#VALUE BTC poloniex

url = "https://poloniex.com/public?command=returnOrderBook&currencyPair=USDT_BTC&depth=1"

page = urllib2.urlopen(url)

soup = BeautifulSoup(page, "lxml")

valor = soup.find_all('p')

valor = valor[0].get_text()

valor = eval(valor.replace('true','True'))

Bid_valor = valor['bids']

Bid_valor_polo = float(Bid_valor[0][0])

dictionary_data['price_BTC_poloniex'] = Bid_valor_polo

#VALUE STEEM poloniex

url = "https://poloniex.com/public?command=returnOrderBook&currencyPair=BTC_STEEM&depth=1"

page = urllib2.urlopen(url)

soup = BeautifulSoup(page, "lxml")

valor = soup.find_all('p')

valor = valor[0].get_text()

valor = eval(valor.replace('true','True'))

Bid_valor = valor['bids']

Bid_valor_polo = float(Bid_valor[0][0])

dictionary_data['price_steem_poloniex'] = Bid_valor_polo

dictionary_data['price_steem_poloniex_usd'] = Bid_valor_polo * dictionary_data['price_BTC_poloniex']

#VALUE STEEM coinmarketcap

url = "https://coinmarketcap-nexuist.rhcloud.com/api/btc/price"

page = urllib2.urlopen(url)

soup = BeautifulSoup(page, "lxml")

valor = soup.find_all('p')

valor = valor[0].get_text()

valor = eval(valor.replace('true','True'))

Bid_valor = valor['usd']

Bid_valor_coin = float(Bid_valor)

dictionary_data['price_BTC_coinmarket'] = Bid_valor_coin

#VALUE STEEM coinmarketcap

url = "https://coinmarketcap-nexuist.rhcloud.com/api/steem/price"

page = urllib2.urlopen(url)

soup = BeautifulSoup(page, "lxml")

valor = soup.find_all('p')

valor = valor[0].get_text()

valor = eval(valor.replace('true','True'))

Bid_valor = valor['btc']

Bid_valor_coin = float(Bid_valor)

dictionary_data['price_steem_coinmarket'] = Bid_valor_coin

dictionary_data['price_steem_coinmarket_usd'] = Bid_valor_coin * dictionary_data['price_BTC_coinmarket']

print ""

print ""

print ""

print "STEEM"

table_bid = PrettyTable([u'Bitrex Price', u'Poloniex Price', u'Coinmarket Price'])

table_bid.add_row([

                    dictionary_data['price_steem_bittrex_usd'],

                    dictionary_data['price_steem_poloniex_usd'],

                    dictionary_data['price_steem_coinmarket_usd']

                    ])

print table_bid

print ""

print ""

print ""

print "BTC"

table_bid_btc = PrettyTable([u'Bitrex Price', u'Poloniex Price', u'Coinmarket Price'])

table_bid_btc.add_row([

                    dictionary_data['price_BTC_bittrex'],

                    dictionary_data['price_BTC_poloniex'],

                    dictionary_data['price_BTC_coinmarket']

                    ])

print table_bid_btc

Y esta es la Salida:

STEEM

+--------------+----------------+------------------+

| Bitrex Price | Poloniex Price | Coinmarket Price |

+--------------+----------------+------------------+

|  1.5946106   | 1.59992280003  |  1.62030700986   |

+--------------+----------------+------------------+

BTC

+--------------+----------------+------------------+

| Bitrex Price | Poloniex Price | Coinmarket Price |

+--------------+----------------+------------------+

|    2515.0    | 2520.00000004  |     2542.34      |

+--------------+----------------+------------------+


Ya muchos entenderán que esto es un trabajo un poco complicado pero que dará sus frutos con el Favor y la Bendición de Dios... Hasta la próxima :D





Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  ·  7 years ago (edited)

Muy buen artículo.
Una sugerencia es que estamos mirando dos exchange de gran liquidez, y por tanto mayor eficiencia en los precios (siempre similares).
Si lo que buscamos es encontrar oportunidades de arbitraje sería conveniente incluir algunos otros exchange de renombre pero menor liquidez, tales como cryptopia, novaexchange, poswallet, entre otros.
Un saludo

Gracias amigo precisamente eso es lo que quiero que me ayuden con algunas cosas que no conozco como esos mercados, y arbitraje pues ese seria uno de los fines del Bot pero mas que anda poder gestionar nuestra cuenta con Reglas claras como si estuviéramos detrás del computador...
Gracias por el Apoyo :D

No soy programador, pero si necesitas cualquier tipo de ayuda con triangulaciones, combinaciones y exchanges no dudes en ponerte en contacto conmigo e intentaré ayudar.

Tiangulaciones y Combinaciones como seria eso :S
Disculpa mi ignorancia
Y bueno estoy mejorando el Sistema para que le metan el mercado o el nombre de la moneda y veamos la comparacion... ademas agregare 1 base de datos en txt, me dices que te aprece o si ves algo que le pueda agregar¡???

Mi intención es seguir 1 moneda por ahora y hacer trading automático cada 2 o 3 minutos según muchos parametros :S

La contrapartida de hacer trading en los intercambios con muy poca liquidez es que aunque des de alta una orden "oportuna"nadie te la comprará/venderá. Suerte con el proyecto @sethroot! Muchos estamos pendientes de tu BOT 😊❤

Como siempre amigo, muy buen post! Gracias por compartir esta informacion! Saludos

Muchas Gracias amigo, pronto todo esto sera WEB para que otros puedan usarlo fácilmente :D

Excelente post, felicidades, ya te sigo.

Gracias amigo, Espero tus impresiones sobre los proyectos que hago :D

Gracias por la info

De nada hermano

Interesante, gracias por regalarnos esta herramienta.

Solo es una parte de la Herramienta, espero poder hacer algo funcional pronto, que nos ayude a tradear :D

Excelente post, Gracias por compartir esta información! felicidades, te sigo y voto. @sethroot

saludos

Muchas gracias amigo, Espero me ayuden a mejorar al máximo este sistemita :D

Muy interesante. Otro detalle a tener en cuenta el la disponibilidad de las carteras, cuando hay discrepancia de precio suele ocurrir que alguna de ellas esta en mantenimiento.

mmmm puede ser, incluso podríamos ver cuando se ponen en Mantenimiento las de Litecoin Eth o algunas grandes y sabríamos que van a bajar así sea poco, pero ahora mismo eso si es difícil saberlo :S
Gracias lo tendré presente :D