build(agent): new-agents-4#58ba63 iteration
This commit is contained in:
parent
46c351cde8
commit
2eeec96010
|
|
@ -4,6 +4,7 @@ A minimal, production-oriented MVP scaffold for a cross-venue delta-hedge engine
|
|||
"""
|
||||
|
||||
from .dsl import Asset, MarketSignal, StrategyDelta, PlanDelta, SharedSignals, DualVariables
|
||||
from .dsl import LocalArbProblem, PrivacyBudget, AuditLog, PolicyBlock
|
||||
from .coordination import ADMMCoordinator
|
||||
from .goc_registry import GoCRegistry
|
||||
from .curator import Curator
|
||||
|
|
@ -19,6 +20,10 @@ __all__ = [
|
|||
"PlanDelta",
|
||||
"SharedSignals",
|
||||
"DualVariables",
|
||||
"LocalArbProblem",
|
||||
"PrivacyBudget",
|
||||
"AuditLog",
|
||||
"PolicyBlock",
|
||||
"ADMMCoordinator",
|
||||
"GoCRegistry",
|
||||
"Curator",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
from __future__ import annotations
|
||||
from typing import List
|
||||
from ..dsl import Asset, MarketSignal
|
||||
|
||||
|
||||
def generate_venue_signals(symbols: List[str], price_dict: dict) -> List[MarketSignal]:
|
||||
"""Venue A feed stub: generate MarketSignal objects for given symbols.
|
||||
|
||||
This is a minimal adapter to seed interoperability with the EnergiBridge-like IR.
|
||||
"""
|
||||
signals: List[MarketSignal] = []
|
||||
import time
|
||||
ts = time.time()
|
||||
for s in symbols:
|
||||
asset = Asset(symbol=s, asset_type="equity")
|
||||
price = price_dict.get(s, 100.0)
|
||||
signals.append(MarketSignal(asset=asset, price=price, timestamp=ts))
|
||||
return signals
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
from __future__ import annotations
|
||||
from typing import List
|
||||
from ..dsl import Asset, MarketSignal
|
||||
|
||||
|
||||
def generate_venue_signals(symbols: List[str], price_dict: dict) -> List[MarketSignal]:
|
||||
"""Venue B trade feed stub: generate MarketSignal objects for given symbols."""
|
||||
signals: List[MarketSignal] = []
|
||||
import time
|
||||
ts = time.time()
|
||||
for s in symbols:
|
||||
asset = Asset(symbol=s, asset_type="equity")
|
||||
price = price_dict.get(s, 100.0)
|
||||
signals.append(MarketSignal(asset=asset, price=price, timestamp=ts))
|
||||
return signals
|
||||
|
|
@ -50,3 +50,35 @@ class PlanDelta:
|
|||
steps: List[str] = field(default_factory=list)
|
||||
timestamp: float = 0.0
|
||||
safety_tags: List[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class LocalArbProblem:
|
||||
"""Canonical local arbitrage problem seed for a venue.
|
||||
|
||||
Maps a venue-independent set of assets to objectives and constraints that solvers
|
||||
can attempt to satisfy locally before enforcing cross-venue coherence.
|
||||
"""
|
||||
venue: str
|
||||
assets: List[Asset]
|
||||
objectives: Dict[str, float] = field(default_factory=dict)
|
||||
constraints: Dict[str, float] = field(default_factory=dict)
|
||||
solver_hint: Optional[str] = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class PrivacyBudget:
|
||||
budget: float = 0.0
|
||||
expiry: float = 0.0
|
||||
leakage_bound: float = 0.0
|
||||
|
||||
|
||||
@dataclass
|
||||
class AuditLog:
|
||||
entries: List[str] = field(default_factory=list)
|
||||
last_signature: Optional[str] = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class PolicyBlock:
|
||||
safety: List[str] = field(default_factory=list)
|
||||
|
|
|
|||
|
|
@ -18,4 +18,4 @@ dependencies = [
|
|||
readme = "README.md"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["src"]
|
||||
where = ["deltaforge_skeleton"]
|
||||
|
|
|
|||
Loading…
Reference in New Issue