idea144-crossvenuearbx-fede.../tests/test_bridge.py

34 lines
1022 B
Python

from crossvenue_arbx.bridge import EnergiBridge
from crossvenue_arbx.core import LocalArbProblem, SharedSignals
def test_to_catopt_basic_structure():
problem = LocalArbProblem(
id="venue1-p1",
venue="Venue1",
assets=["AAPL", "MSFT"],
target_misprice=0.001,
max_exposure=100000.0,
latency_budget=0.1,
)
signals = SharedSignals(
version=1,
price_delta_by_asset={"AAPL": 0.001, "MSFT": -0.0007},
cross_corr={("AAPL", "MSFT"): 0.8},
liquidity_estimates={"AAPL": 1.0, "MSFT": 1.2},
)
bridge = EnergiBridge()
catopt = bridge.to_catopt(problem, signals)
# Basic structure checks
assert isinstance(catopt, dict)
assert "version" in catopt
assert catopt["version"] >= 1
assert "objects" in catopt
objs = catopt["objects"]
assert "LocalArbProblem" in objs
assert objs["LocalArbProblem"]["venue"] == "Venue1"
assert "SharedSignals" in objs
assert objs["SharedSignals"]["version"] == 1