Hola Rers!

El objetivo de este documento es mostrar cómo puedes usar la librería coinmarkercapr para obener el trading de las cryptos (criptomonedas) en el momento que necesites. Además, mostraré cómo vincularse con google para volcar los datos un spreadsheet si lo requieres.

Así que, si tienes en mente obtener el valor de una o varias crypto (a USD) en el instante, registrar los valores en una spreadsheet y por qué no, hacer algún análisis sobre tu inversión, reporting o sencillamente chusmear, quizá esta RPUB te puede ayudar 😉

Los datos provienen de Coinmarkercap, una página con índices, capitalizaciones, precio, volumen y más, de las cryptos, segundo a segundo. Claro que para extraer datos deberás generar un Token y conectarte a la API que dejan a disposición (es gratuito para consultas moderadas)

Instalar e invocar las librerías necesarias

library(coinmarketcapr)
library(googlesheets4)
library(tidyverse)

Configurar conexión con CoinMarketCap

Genera tu Api Key en Coinmarkercap

Dashboard CoinMarkerCap API

En el dashboard obtendras la KEY que te permitirar usar la API para tus consultas. En el plan basic (gratuito) podrás hacer 333 consultas diarias o 10mil mensuales.

# Crear una variable con tu Key (no mostrar y mantener en privado)

ApiKeyCrypto1 <- ApiKeyCrypto # pegar el token o KEY de tipo "4****cl8-ka33-4***-12jsd-2i89*****"
setup(api_key = ApiKeyCrypto1, FALSE)

Correr la consulta en CMC

mercado <- get_marketcap_ticker_all()
head(mercado[,1:8])
id name symbol slug num_market_pairs date_added tags max_supply
1 Bitcoin BTC bitcoin 9796 2013-04-28 mineable , pow , sha-256 , store-of-value , state-channels , coinbase-ventures-portfolio , three-arrows-capital-portfolio, polychain-capital-portfolio 21000000
1027 Ethereum ETH ethereum 6107 2015-08-07 mineable , pow , smart-contracts , coinbase-ventures-portfolio , three-arrows-capital-portfolio, polychain-capital-portfolio NA
2010 Cardano ADA cardano 238 2017-10-01 mineable , dpos , pos , platform , research , smart-contracts, staking , binance-chain 45000000000
1839 Binance Coin BNB binance-coin 477 2017-07-25 marketplace, payments 170532785
825 Tether USDT tether 11074 2015-02-25 store-of-value , payments , stablecoin , stablecoin-asset-backed NA
6636 Polkadot DOT polkadot-new 153 2020-08-19 substrate , polkadot , binance-chain , dot-ecosystem , three-arrows-capital-portfolio, polychain-capital-portfolio NA
# Seleccionar las columnas importantes según cada necesidad:

Cryptos <- mercado %>% 
  select(id,name,symbol,slug, num_market_pairs, USD_price, USD_volume_24h, USD_percent_change_24h, USD_percent_change_7d, USD_percent_change_30d, USD_last_updated)

head(Cryptos[1:10,])
id name symbol slug num_market_pairs USD_price USD_volume_24h USD_percent_change_24h USD_percent_change_7d USD_percent_change_30d USD_last_updated
1 Bitcoin BTC bitcoin 9796 51006.701484 55029425596 4.4177069 0.4095847 51.494101 2021-03-04 03:16:00
1027 Ethereum ETH ethereum 6107 1603.869171 23162262358 5.2237215 -2.3126668 16.038026 2021-03-04 03:16:00
2010 Cardano ADA cardano 238 1.221296 4881474728 -1.1359107 17.4778308 203.212619 2021-03-04 03:16:00
1839 Binance Coin BNB binance-coin 477 247.122767 5946642695 2.2414355 -3.2680011 386.812799 2021-03-04 03:16:00
825 Tether USDT tether 11074 1.000515 98898153760 -0.0325432 0.0229705 -0.033706 2021-03-04 03:16:00
6636 Polkadot DOT polkadot-new 153 37.761845 2660574551 0.3088413 10.1549100 134.627773 2021-03-04 03:17:00

Volcar el resultado en un spreadsheet de google para registro

Primero se debe crear una hoja nueva en el Drive que estes usando con la cuenta gmail con la cual tengas acceso. Al crear el SS con el “gs4_create” la consola pedirá realizar el OAUTH esto es, autorizar a que RStudio pueda administrar tu sesión de Drive (crear, sobreescribir, etc) para mas información aquí El SS puedes crearlo con el nombre que desees.

a <-  gs4_create("sheets-create-demo-1") # creo el SS con un nombre cualquiera

sheet_write(Cryptos,a, NULL) # vuelca el df al SS

El resultado será una “Hoja 1” en un Spreadsheet “sheets-create-demo-1” con los resultados obtenidos; al momento de actualizar los datos, o bien, incorporar una nueva consulta (ya que queremos mantener la marca temporal para analítica de mercado), utilizaremos la siguiente función “sheet_append”, dado que la función anterior “gs4_create” crearía una archivo nuevo cada vez que la ejecutemos.

Para actualizar el dataset agregando filas

sheet_append(a,Cryptos,"Hoja 1") # pega nuevas filas inmediatamente debajo de la última encontrada en la Hoja de la SS

Elabora reportes, métricas o analítica con tus resultados

Los archivos de Google tienen la ventaja de ser dinámicos, ágiles, permitiendo compartir reportes con otras personas de una manera rápida y efectiva.

Usa fórmulas para crear tus propias vistas y tableros, por ejemplo:

Puedes programar un bot que ejecute el código todos los días, para automatizar más la obtención de CryptoCurrency diaria.

Próximamente…

Cuando tenga suficientes registros, publicaré algunos resultados analíticos con R, usando tidyverse y ggplot2! 😉


Encuentrame en LinkedIn Daniela Rattia - Geógrafa., Especialista en Datos y GisAnalytics