Edwin Salguero
Initial commit: Enhanced Algorithmic Trading System with Synthetic Data Generation, Comprehensive Logging, and Extensive Testing
859af74
| import abc | |
| import logging | |
| from typing import Dict, Any | |
| class Agent(abc.ABC): | |
| def __init__(self, config: Dict[str, Any]): | |
| self.config = config | |
| self.logger = logging.getLogger(self.__class__.__name__) | |
| self.logger.info(f"Initialized {self.__class__.__name__}") | |
| def act(self, data: Any) -> Dict[str, Any]: | |
| """Produce an action given input data""" | |
| pass | |
| def log_action(self, action: Dict[str, Any]) -> None: | |
| """Log the action taken by the agent""" | |
| self.logger.info(f"Action taken: {action}") | |
| def log_error(self, error: Exception, context: str = "") -> None: | |
| """Log errors with context""" | |
| self.logger.error(f"Error in {self.__class__.__name__}: {error}", | |
| exc_info=True, extra={'context': context}) | |