Spaces:
Sleeping
Sleeping
| from dataclasses import dataclass | |
| from datetime import datetime | |
| from enum import Enum | |
| from typing import Optional, Any | |
| class SignalType(Enum): | |
| BUY = "BUY" | |
| SELL = "SELL" | |
| HOLD = "HOLD" | |
| class StrategySignal: | |
| timestamp: datetime | |
| symbol: str | |
| signal_type: SignalType | |
| price: float | |
| quantity: Optional[float] = None | |
| confidence: Optional[float] = None | |
| metadata: Optional[dict] = None | |
| def __post_init__(self): | |
| if isinstance(self.timestamp, str): | |
| self.timestamp = datetime.fromisoformat(self.timestamp.replace('Z', '+00:00')) | |
| if isinstance(self.signal_type, str): | |
| self.signal_type = SignalType[self.signal_type.upper()] |