Hace un tiempo era posible usar Google Finance para obtener precios de crypto (como Bitcoin) directamente en Google Spreadsheets, sin embargo esto ya no es posible y se cambió en 2018.

A la hora de manejar tu propio portfolio ( o sencillamente seguir el mercado ) mediante Google Spreadsheets, era bastante útil tener acceso a los datos de cotización de Bitcoin directamente, al igual que sucede con otros valores. Pero aún podemos hacerlo:

La idea es obtener los datos de cotización directamente desde algún sitio web que use una API, en este caso usaré cryptocompare.com. Luego necesitaré 3 métodos que ya están construidos dentro de Google:

  • IMPORTDATA() importa los datos desde una URL dada.
  • REGEXEXTRACT() extrae sub-secuencias (substrings) que concuerden con una expresión regular dada (regular expressions).
  • VALUE() convierte una secuencia en un formato de dígitos entendible para Google Sheets.

1) El primer paso será usar la URL donde se encuentran los datos en “crudo”, en este caso queremos obtener el diferencial EUR/BTC desde https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=EUR. Si quieres usar otro tipo de diferencial solo cambia los parámetros de la URL que se leen como “fsym=BTC&tsyms=EUR”

=IMPORTDATA("https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=EUR")

2) Ahora que tenemos este diferencial importando en Google Spreadsheets via IMPORTDATA() , obtendremos la siguiente respuesta: {"EUR":6073.11}  (a precios de ahora mismo) . Esto es un objeto que podemos analizar para obtener solo la información que nos interesa, en este caso únicamente el valor del precio. Para ello usaremos REGEXEXTRACT() para extraer los datos que aparecen después de  ":" mediante REGEX {.+:(.+)}

=REGEXEXTRACT(IMPORTDATA("https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=EUR"), "{.+:(.+)}")

3) Finalmente, como el precio lo has extraído como un objeto de JSON, el precio no es un dígito, sino una string. Para convertir esto en un valor que Google pueda leer y operar como tal podrás usar VALUE() , que es un método por defecto para transformar datatypes.

=VALUE(REGEXEXTRACT(IMPORTDATA("https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=EUR"), "{.+:(.+)}"))

4) Y eso es todo! Una vez tengas el precio podrás usarlo para construir otro tipo de indicadores que se basen en este.

¿Tienes curiosidad sobre crypto y Bitcoin? Puedes usar este link para recibir 9.15€ en tu cartera inicial mediante Coinbase.

Leave a Reply

%d bloggers like this: