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 Asset, MarketSignal, StrategyDelta, PlanDelta, SharedSignals, DualVariables
|
||||||
|
from .dsl import LocalArbProblem, PrivacyBudget, AuditLog, PolicyBlock
|
||||||
from .coordination import ADMMCoordinator
|
from .coordination import ADMMCoordinator
|
||||||
from .goc_registry import GoCRegistry
|
from .goc_registry import GoCRegistry
|
||||||
from .curator import Curator
|
from .curator import Curator
|
||||||
|
|
@ -19,6 +20,10 @@ __all__ = [
|
||||||
"PlanDelta",
|
"PlanDelta",
|
||||||
"SharedSignals",
|
"SharedSignals",
|
||||||
"DualVariables",
|
"DualVariables",
|
||||||
|
"LocalArbProblem",
|
||||||
|
"PrivacyBudget",
|
||||||
|
"AuditLog",
|
||||||
|
"PolicyBlock",
|
||||||
"ADMMCoordinator",
|
"ADMMCoordinator",
|
||||||
"GoCRegistry",
|
"GoCRegistry",
|
||||||
"Curator",
|
"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)
|
steps: List[str] = field(default_factory=list)
|
||||||
timestamp: float = 0.0
|
timestamp: float = 0.0
|
||||||
safety_tags: List[str] = field(default_factory=list)
|
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"
|
readme = "README.md"
|
||||||
|
|
||||||
[tool.setuptools.packages.find]
|
[tool.setuptools.packages.find]
|
||||||
where = ["src"]
|
where = ["deltaforge_skeleton"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue