algograph-algebraic-portfol.../tests/test_bridge.py

21 lines
640 B
Python

import numpy as np
from algograph_algebraic_portfolio_compiler_f.dsl import LocalProblem
from algograph_algebraic_portfolio_compiler_f.bridge import to_canonical_ir, from_canonical_ir
def test_bridge_roundtrip_local_problem():
lp = LocalProblem(
id="lp1",
assets=["A", "B"],
objective={"type": "quad", "Q": [[1.0, 0.0], [0.0, 1.0]], "c": [0.0, 0.0]},
constraints=[],
signals={"price_A": 100.0},
)
ir = to_canonical_ir(lp)
lp2 = from_canonical_ir(ir)
assert isinstance(ir, dict)
assert lp2.id == lp.id
assert lp2.assets == lp.assets
assert lp2.signals == lp.signals