deltaforge-real-time-cross-.../deltaforge_skeleton/backtester.py

18 lines
568 B
Python

from __future__ import annotations
from typing import List
from .dsl import PlanDelta, StrategyDelta
class Backtester:
"""Toy deterministic replay engine for end-to-end validation."""
def __init__(self, seed: int = 0):
self.seed = seed
def replay(self, plan: PlanDelta) -> float:
# Very naive replay: sum absolute deltas to produce a pseudo-PnL
pnl = sum(abs(a.delta) for a in plan.actions)
# Incorporate timestamp entropy for determinism in tests
pnl += (plan.timestamp or 0.0) * 1e-6
return float(pnl)