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

23 lines
931 B
Python

import math
from deltaforge.dsl import Asset, MarketSignal, PlanDelta, StrategyDelta
def test_asset_and_signals_creation():
a = Asset(id="eq-ABC", type="equity", symbol="ABC")
ms = MarketSignal(asset=a, timestamp=1.0, price=100.0)
assert a.symbol == "ABC"
assert ms.asset.symbol == "ABC"
assert ms.price == 100.0
def test_plan_delta_creation():
a = Asset(id="eq-ABC", type="equity", symbol="ABC")
ms = MarketSignal(asset=a, timestamp=1.0, price=100.0)
plan = PlanDelta(delta=[{"action": "hedge", "symbol": "ABC", "size": -0.5, "price": 100.0}], timestamp=1.0, author="tester")
assert isinstance(plan.delta, list)
assert plan.author == "tester"
assert plan.timestamp == 1.0
def test_strategy_delta_creation():
a = Asset(id="eq-ABC", type="equity", symbol="ABC")
sd = StrategyDelta(id="s1", assets=[a], objectives={"maximize": "return"})
assert sd.assets[0].symbol == "ABC"