Team Ai
Apppublic

diegobeyl/backtesting

sourceHugging Faceupdated 9mo agoView on Hugging Face
2likes
test_1mo_data.py53 linesDownload Raw Back to tests
1#!/usr/bin/env python32"""Test para verificar cuántas velas retorna el DataLoader con 1mo timeframe"""3import sys4import os5sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))6 7from datetime import datetime, timedelta8from backtesting_app.core import DataLoader9from backtesting_app.core.validator import DataValidator10 11# Test con 10 años y timeframe 1 mes12print("="*70)13print("TEST: 10 años con timeframe 1 mes (1mo)")14print("="*70)15 16start_date = (datetime.now() - timedelta(days=365*10)).strftime('%Y-%m-%d')17end_date = datetime.now().strftime('%Y-%m-%d')18 19print(f"\nFecha inicio: {start_date}")20print(f"Fecha fin: {end_date}")21print(f"Período: 10 años")22 23# Primero validar que está permitido24is_valid, error = DataValidator.validate_request('BTC-USDT', '1mo', 25                                                  datetime.now() - timedelta(days=365*10),26                                                  datetime.now())27 28print(f"\n✓ Validación: {'VÁLIDO ✅' if is_valid else f'INVÁLIDO ❌\n{error}'}")29 30if is_valid:31    print(f"\n⏳ Descargando datos...")32    try:33        df = DataLoader.download(34            symbol='BTC-USDT',35            interval='1mo',36            start_date=start_date,37            end_date=end_date,38            source='yahoo'39        )40        41        if df is not None:42            print(f"✅ Datos descargados: {len(df)} velas")43            print(f"   Primero: {df.index[0]}")44            print(f"   Último: {df.index[-1]}")45            print(f"\n   Primeras 5 filas:")46            print(df.head())47        else:48            print("❌ DataLoader retornó None")49    except Exception as e:50        print(f"❌ Error: {e}")51        import traceback52        traceback.print_exc()53