Fix snapshot path resolution for paper backtest

Snapshots can be in data/parquet/ or data/datasets/snapshots/.
Now tries default parquet_dir first, falls back to data/datasets/snapshots/
if the snapshot exists there instead.

Fixes FileNotFoundError when running multi-strategy paper backtest with
configs that reference snapshots in the alternate directory.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
main
I Luk Kim 5 months ago
parent 0134476632
commit c747d5e4f0

@ -46,8 +46,16 @@ def run_backtest_session_sync(
manifest = load_manifest(config_path)
config = resolve_config(manifest)
# Use merged store (train+valid+test) to cover the full date range
store = _build_merged_snapshot_store(manifest, config, snapshot_dir_override=None)
# Use merged store (train+valid+test) to cover the full date range.
# Try default parquet_dir first, fall back to data/datasets/snapshots.
from libs.common.config import get_settings
settings = get_settings()
snapshot_dir_override = None
default_path = Path(settings.parquet_dir) / config.dataset_snapshot_id
alt_path = Path("data/datasets/snapshots") / config.dataset_snapshot_id
if not default_path.exists() and alt_path.exists():
snapshot_dir_override = "data/datasets/snapshots"
store = _build_merged_snapshot_store(manifest, config, snapshot_dir_override=snapshot_dir_override)
# Slice to requested date range
store = store.slice_by_date_range(start_date, end_date)

Loading…
Cancel
Save