23 lines
931 B
Python
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"
|