idea159-arbsphere-federated.../idea159_arbsphere_federated.../adapters/mock_price_feed.py

28 lines
1022 B
Python

from __future__ import annotations
from datetime import datetime
from idea159_arbsphere_federated_cross.core import LocalArbProblem, SharedSignals
def create_local_arb_problem(venue: str = "EX1", asset_pair: str = "AAPL/GOOGL", target_misprice: float = 0.0, max_exposure: float = 1000.0, latency_budget_ms: int = 50) -> LocalArbProblem:
"""Create a toy LocalArbProblem for a given venue."""
return LocalArbProblem(
id=f"lp-{venue}-{datetime.utcnow().isoformat()}",
venue=venue,
asset_pair=asset_pair,
target_misprice=target_misprice,
max_exposure=max_exposure,
latency_budget_ms=latency_budget_ms,
)
def create_shared_signals(version: int = 1, price_delta: float = 0.0, cross_venue_corr: float = 0.0, liquidity: float = 1.0) -> SharedSignals:
"""Create toy SharedSignals for the bridge."""
return SharedSignals(
version=version,
price_delta=price_delta,
cross_venue_corr=cross_venue_corr,
liquidity=liquidity,
)