deltaforge-real-time-cross-.../tests/test_backtester.py

12 lines
573 B
Python

from deltaforge.backtester import Backtester
from deltaforge.dsl import Asset, MarketSignal
from deltaforge.dsl import PlanDelta
def test_backtester_runs_deterministic():
a = Asset(id="eq-XYZ", type="equity", symbol="XYZ")
s = MarketSignal(asset=a, timestamp=0.0, price=10.0)
plan = PlanDelta(delta=[{"action": "hedge", "symbol": "XYZ", "size": -1.0, "price": 10.0}], timestamp=0.0, author="tester")
bt = Backtester(initial_cash=1000.0)
final_cash = bt.apply([s], plan)
assert final_cash == 1000.0 - 1.0 * 10.0 + 0 # initial cash minus hedge cost