|
|
||
|---|---|---|
| src/edgemarketsignal | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| README.md | ||
| pyproject.toml | ||
| test.sh | ||
README.md
EdgeMarketSignal: Edge-Native Market Data Plane
This repository provides a compact, production-oriented starting point for an edge-native market data plane that extracts privacy-preserving signals from venue feeds, enables delta-sync for offline modes, and offers a clean pathway to central risk/strategy engines.
- Edge-first signal extraction: lightweight per-venue summaries (top-of-book changes, mid-price, last-trade prices, liquidity metrics).
- Local summarization and aggregation: per-venue metrics with compact representations.
- Privacy-preserving sharing: secure aggregation and optional privacy budgets.
- Delta-sync: deterministic reconciliation on reconnects with auditability.
- Transport-agnostic adapters: pluggable interfaces for FIX/WebSocket/MQTT (future work).
- Security: basic governance metadata scaffolding (AuditLog placeholders).
- MVP roadmap: end-to-end toy demonstration with 2 venues, 2 central analyzers.
EnergiBridge Interop (IR)
- This repo now includes a lightweight EnergiBridge-compatible intermediate representation (IR) to map edge primitives to a common cross-venue interface.
- Key primitives:
- LocalMarketContext: per-venue local state snapshot.
- SharedSignalsIR: IR payload carrying core metrics plus optional privacy budgets and version metadata.
- Converter: EdgeSignalProcessor.to_ir(signals, context, privacy_budget, version) converts SharedSignals into SharedSignalsIR.
Usage sketch:
- Compute signals via EdgeSignalProcessor.extract_signals(feed).
- Optionally attach a LocalMarketContext for venue context.
- Convert to IR via EdgeSignalProcessor.to_ir(signals, context, privacy_budget=0.25, version=1).
This addition enables pluggable adapters to interoperate with a canonical IR without altering existing consumers of SharedSignals.
This project is designed to be production-friendly, with a real packaging setup, tests, and a clear readme that explains how to extend the system.
See pyproject.toml for packaging configuration and the src/edgemarketsignal package for the implementation details.