Add walk-forward validation with optimizer, OOS evaluation and visualizer

This commit is contained in:
DaM
2026-01-28 23:40:12 +01:00
parent e15074c0a7
commit af7b862f60
11 changed files with 910 additions and 10 deletions

View File

@@ -1,16 +1,19 @@
# dam_test.py
"""
Script para probar el optimizador de parámetros
Script para probar cositas
"""
import os
import sys
from dotenv import load_dotenv
from pathlib import Path
import pandas as pd
# Añadir raíz del proyecto al path
sys.path.insert(0, str(Path(__file__).parent.parent))
from src.data.storage import StorageManager
from src.backtest.walk_forward import WalkForwardValidator
from src.strategies import MovingAverageCrossover
def setup_environment():
"""Carga variables de entorno"""
@@ -38,9 +41,19 @@ def dam_test():
use_cache=False
)
print(data.columns)
wf = WalkForwardValidator(
strategy_class=MovingAverageCrossover,
param_grid={},
data=data,
train_window=pd.Timedelta(days=365),
test_window=pd.Timedelta(days=90),
)
print(data[['close', 'adx']].tail(10))
windows = wf._generate_windows()
print(f"Ventanas generadas: {len(windows)}")
for w in windows[:3]:
print(w)
if __name__ == "__main__":
dam_test()