21 lines
640 B
Python
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
|