Add walk-forward validation with optimizer, OOS evaluation and visualizer
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user