From ebb2e6d12ddc95b99404be1a791792e4ef28e6a3 Mon Sep 17 00:00:00 2001 From: juanlf Date: Sun, 15 Jun 2025 17:18:31 +0200 Subject: [PATCH] Nuevos Get USDT-EUR usando precio medio --- get-usdt-eur-range.sh | 30 ++++++++++++++++------------ usdt-eur-2025-range.py | 45 ------------------------------------------ usdt-eur.sh | 30 ---------------------------- 3 files changed, 17 insertions(+), 88 deletions(-) delete mode 100755 usdt-eur-2025-range.py delete mode 100755 usdt-eur.sh diff --git a/get-usdt-eur-range.sh b/get-usdt-eur-range.sh index ea75888..9c332f9 100755 --- a/get-usdt-eur-range.sh +++ b/get-usdt-eur-range.sh @@ -1,30 +1,34 @@ #!/bin/bash -# === Configuración === +# === CONFIGURACIÓN === COIN_ID="tether" VS_CURRENCY="eur" OUTPUT="usdt-eur-2025.csv" -# Timestamps: 2025-01-01 00:00:00 a 2026-01-01 00:00:00 (en segundos UTC) -FROM_TIMESTAMP=$(date -j -f "%Y-%m-%d" "2025-01-01" +"%s") # macOS +# Timestamps UNIX para 2025-01-01 → 2026-01-01 +FROM_TIMESTAMP=$(date -j -f "%Y-%m-%d" "2025-01-01" +"%s") TO_TIMESTAMP=$(date -j -f "%Y-%m-%d" "2026-01-01" +"%s") -# === Llamada API CoinGecko === +# === Llamada API === URL="https://api.coingecko.com/api/v3/coins/$COIN_ID/market_chart/range?vs_currency=$VS_CURRENCY&from=$FROM_TIMESTAMP&to=$TO_TIMESTAMP" - -echo "📡 Consultando CoinGecko..." +echo "📡 Llamando a CoinGecko..." RESPONSE=$(curl -s "$URL") -# === Procesar respuesta === -echo "date,usdt_eur" > "$OUTPUT" +# === CSV: cabecera === +echo "date_utc,date_gmt1,usdt_eur" > "$OUTPUT" +# === Procesar respuesta JSON === echo "$RESPONSE" | jq -c '.prices[]' | while read -r entry; do - ts=$(echo "$entry" | jq '.[0]') + ts_ms=$(echo "$entry" | jq '.[0]') price=$(echo "$entry" | jq '.[1]') - # Convertir timestamp ms → fecha UTC - date=$(date -j -u -r "$((ts/1000))" +"%Y-%m-%d") - echo "$date,$price" + # UTC (timestamp → fecha UTC) + date_utc=$(date -u -r "$((ts_ms/1000))" "+%Y-%m-%d %H:%M:%S") + + # GMT+1 + date_gmt1=$(TZ=Europe/Madrid date -r "$((ts_ms/1000))" "+%Y-%m-%d %H:%M:%S") + + echo "$date_utc,$date_gmt1,$price" done | sort | uniq -f0 >> "$OUTPUT" -echo "✅ Guardado en $OUTPUT" +echo "✅ Exportado como $OUTPUT" diff --git a/usdt-eur-2025-range.py b/usdt-eur-2025-range.py deleted file mode 100755 index e075d36..0000000 --- a/usdt-eur-2025-range.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python3 -import requests -import pandas as pd -from datetime import datetime -import time - -# === Configuración === -coin = "tether" -vs_currency = "eur" -start_date = datetime(2025, 1, 1) -end_date = datetime(2026, 1, 1) - -# === Convertir a timestamps UNIX en segundos === -from_ts = int(start_date.timestamp()) -to_ts = int(end_date.timestamp()) - -# === URL de CoinGecko === -url = f"https://api.coingecko.com/api/v3/coins/{coin}/market_chart/range" -params = { - "vs_currency": vs_currency, - "from": from_ts, - "to": to_ts -} - -print("📡 Solicitando datos a CoinGecko...") -response = requests.get(url, params=params) -if response.status_code != 200: - print("❌ Error en la solicitud:", response.status_code) - exit(1) - -data = response.json() -prices = data.get("prices", []) - -# === Convertir a DataFrame === -df = pd.DataFrame(prices, columns=["timestamp_ms", "usdt_eur"]) -df["timestamp"] = pd.to_datetime(df["timestamp_ms"], unit="ms") -df["date"] = df["timestamp"].dt.date - -# === Agrupar por fecha y tomar el primer valor de cada día === -df_daily = df.groupby("date").first().reset_index()[["date", "usdt_eur"]] - -# === Guardar CSV === -output_file = "usdt-eur-2025.csv" -df_daily.to_csv(output_file, index=False) -print(f"✅ Exportado como {output_file} ({len(df_daily)} días)") diff --git a/usdt-eur.sh b/usdt-eur.sh deleted file mode 100755 index ed9550a..0000000 --- a/usdt-eur.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -OUTPUT="usdt-eur-2025.csv" -> "$OUTPUT" -echo '"date","usdt_eur"' > "$OUTPUT" - -START_DATE="2025-01-01" -END_DATE="2025-01-31" -CURRENT_DATE="$START_DATE" - -while [[ "$CURRENT_DATE" < "$END_DATE" ]]; do - # Formatear fecha como DD-MM-YYYY (requerido por CoinGecko) - FORMATTED=$(date -j -f "%Y-%m-%d" "$CURRENT_DATE" "+%d-%m-%Y") - - echo "🔄 Consultando precio para $CURRENT_DATE..." - - PRICE=$(curl -s "https://api.coingecko.com/api/v3/coins/tether/history?date=${FORMATTED}&localization=false" \ - | jq -r '.market_data.current_price.eur // empty') - - if [[ -n "$PRICE" ]]; then - echo "\"$CURRENT_DATE\",\"$PRICE\"" >> "$OUTPUT" - else - echo "\"$CURRENT_DATE\",\"N/A\"" >> "$OUTPUT" - fi - - CURRENT_DATE=$(date -j -v+1d -f "%Y-%m-%d" "$CURRENT_DATE" "+%Y-%m-%d") - sleep 2 # Evita ser bloqueado por CoinGecko -done - -echo "✅ Exportado como $OUTPUT"