deltaforge-real-time-cross-.../deltaforge_mvp/adapters/equity_feed.py

21 lines
813 B
Python

from __future__ import annotations
import time
from deltaforge_mvp.core import Asset, MarketSignal
def generate_signal(symbol: str, price: float, timestamp: float | None = None) -> MarketSignal:
"""Tiny equity feed adapter: returns a MarketSignal for an equity asset."""
a = Asset(type="equity", symbol=symbol)
ts = timestamp if timestamp is not None else time.time()
return MarketSignal(asset=a, price=price, volatility=0.2, liquidity=1.0, timestamp=ts)
class EquityFeedAdapter:
"""Lightweight adapter wrapper to expose a stable interface used by tests."""
def __init__(self, name: str = "equity"):
self.name = name
def get_signal(self, symbol: str, price: float, timestamp: float | None = None) -> MarketSignal:
return generate_signal(symbol, price, timestamp)