Spaces:
Runtime error
Runtime error
File size: 1,204 Bytes
b717bee | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | """Fetch latest hourly ETH data via CCXT — ready for V5 feature pipeline"""
import ccxt # type: ignore
import pandas as pd
from datetime import datetime
from src.config import SYMBOL, TIMEFRAME
def fetch_latest_data(limit: int = 2000) -> pd.DataFrame:
"""Returns hourly OHLCV + placeholder on-chain columns (exactly as notebook)"""
exchange = ccxt.binance({'enableRateLimit': True})
print(f"📡 Fetching latest {TIMEFRAME} ETH data from Binance...")
ohlcv = exchange.fetch_ohlcv(SYMBOL, timeframe=TIMEFRAME, limit=limit)
df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')
df = df.set_index('timestamp').sort_index()
df['return'] = df['close'].pct_change().fillna(0.0)
# Placeholder on-chain (same scaling as original dataset)
df['tx_count'] = df['volume'] * 1.5
df['active_senders'] = df['volume'] * 0.8
df['active_receivers'] = df['volume'] * 0.7
df['total_eth_transferred'] = df['volume'] * 1.2
df['total_gas_used'] = df['volume'] * 0.9
print(f"✅ Fetched {len(df)} hourly bars (up to {df.index[-1]})")
return df
|