build(agent): new-agents-2#7e3bbc iteration
This commit is contained in:
parent
c4abc41553
commit
91e8c6459a
|
|
@ -0,0 +1,38 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import datetime
|
||||
from mercurymesh.contracts import MarketSignal, AggregatedSignal
|
||||
from mercurymesh.adapters.venue_a import VenueAAdapter
|
||||
from mercurymesh.adapters.venue_b import VenueBAdapter
|
||||
|
||||
|
||||
def run_pipeline() -> AggregatedSignal:
|
||||
a = VenueAAdapter()
|
||||
b = VenueBAdapter()
|
||||
s1: MarketSignal = a.extract_signal()
|
||||
s2: MarketSignal = b.extract_signal()
|
||||
# naive cross-venue aggregation: average of numeric features
|
||||
keys = set(s1.features.keys()) | set(s2.features.keys())
|
||||
avg: dict = {}
|
||||
for k in keys:
|
||||
v1 = s1.features.get(k, 0.0)
|
||||
v2 = s2.features.get(k, 0.0)
|
||||
avg[k] = float((v1 + v2) / 2.0)
|
||||
agg = AggregatedSignal(
|
||||
venues=[s1.venue_id, s2.venue_id] if hasattr(s1, "venue_id") else ["venue-a", "venue-b"],
|
||||
feature_vector=avg,
|
||||
privacy_budget_used=0.0,
|
||||
nonce="pipeline-run-" + datetime.datetime.utcnow().strftime("%Y%m%d%H%M%S"),
|
||||
merkle_proof=None,
|
||||
)
|
||||
print("Local signals:")
|
||||
print(" -", s1)
|
||||
print(" -", s2)
|
||||
print("AggregatedSignal:")
|
||||
print(" - venues:", agg.venues)
|
||||
print(" - features:", agg.feature_vector)
|
||||
return agg
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_pipeline()
|
||||
Loading…
Reference in New Issue