53 lines
1000 B
Python
53 lines
1000 B
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
from datetime import datetime
|
|
|
|
|
|
@dataclass
|
|
class LocalArbProblem:
|
|
id: str
|
|
venue: str
|
|
asset_pair: str
|
|
target_misprice: float
|
|
max_exposure: float
|
|
latency_budget_ms: int
|
|
|
|
|
|
@dataclass
|
|
class SharedSignals:
|
|
version: int
|
|
price_delta: float
|
|
cross_venue_corr: float
|
|
liquidity: float
|
|
|
|
|
|
@dataclass
|
|
class DualVariables:
|
|
"""Federated optimization multipliers (shadow prices)."""
|
|
multipliers: dict
|
|
version: int = 1
|
|
|
|
|
|
@dataclass
|
|
class AuditLog:
|
|
"""Governance or arbitration audit log entry."""
|
|
entry: str
|
|
signer: str
|
|
timestamp: datetime
|
|
contract_id: str
|
|
version: int = 1
|
|
|
|
|
|
@dataclass
|
|
class PrivacyBudget:
|
|
"""Privacy budget token for a data-sharing signal."""
|
|
limit: float
|
|
remaining: float
|
|
expiration: datetime
|
|
|
|
|
|
__all__ = ["LocalArbProblem", "SharedSignals", "DualVariables", "AuditLog", "PrivacyBudget"]
|
|
|
|
__all__ = ["LocalArbProblem", "SharedSignals"]
|