store and show (wip) predictions
This commit is contained in:
@@ -372,6 +372,9 @@ class TradingOrchestrator:
|
||||
self.recent_cnn_predictions: Dict[str, deque] = (
|
||||
{}
|
||||
) # {symbol: List[Dict]} - Recent CNN predictions
|
||||
self.recent_transformer_predictions: Dict[str, deque] = (
|
||||
{}
|
||||
) # {symbol: List[Dict]} - Recent Transformer predictions
|
||||
self.prediction_accuracy_history: Dict[str, deque] = (
|
||||
{}
|
||||
) # {symbol: List[Dict]} - Prediction accuracy tracking
|
||||
@@ -379,6 +382,7 @@ class TradingOrchestrator:
|
||||
# Initialize prediction tracking for the primary trading symbol only
|
||||
self.recent_dqn_predictions[self.symbol] = deque(maxlen=100)
|
||||
self.recent_cnn_predictions[self.symbol] = deque(maxlen=50)
|
||||
self.recent_transformer_predictions[self.symbol] = deque(maxlen=50)
|
||||
self.prediction_accuracy_history[self.symbol] = deque(maxlen=200)
|
||||
self.signal_accumulator[self.symbol] = []
|
||||
|
||||
@@ -1109,6 +1113,8 @@ class TradingOrchestrator:
|
||||
self.recent_dqn_predictions[symbol].clear()
|
||||
for symbol in self.recent_cnn_predictions:
|
||||
self.recent_cnn_predictions[symbol].clear()
|
||||
for symbol in self.recent_transformer_predictions:
|
||||
self.recent_transformer_predictions[symbol].clear()
|
||||
for symbol in self.prediction_accuracy_history:
|
||||
self.prediction_accuracy_history[symbol].clear()
|
||||
|
||||
@@ -2518,6 +2524,9 @@ class TradingOrchestrator:
|
||||
"cnn_predictions_tracked": sum(
|
||||
len(preds) for preds in self.recent_cnn_predictions.values()
|
||||
),
|
||||
"transformer_predictions_tracked": sum(
|
||||
len(preds) for preds in self.recent_transformer_predictions.values()
|
||||
),
|
||||
"accuracy_history_tracked": sum(
|
||||
len(history)
|
||||
for history in self.prediction_accuracy_history.values()
|
||||
@@ -2527,6 +2536,7 @@ class TradingOrchestrator:
|
||||
for symbol in self.symbols
|
||||
if len(self.recent_dqn_predictions.get(symbol, [])) > 0
|
||||
or len(self.recent_cnn_predictions.get(symbol, [])) > 0
|
||||
or len(self.recent_transformer_predictions.get(symbol, [])) > 0
|
||||
],
|
||||
}
|
||||
|
||||
@@ -2791,4 +2801,19 @@ class TradingOrchestrator:
|
||||
"""Set the trading executor for position tracking"""
|
||||
self.trading_executor = trading_executor
|
||||
logger.info("Trading executor set for position tracking and P&L feedback")
|
||||
|
||||
def store_transformer_prediction(self, symbol: str, prediction: Dict):
|
||||
"""Store a transformer prediction for visualization and tracking"""
|
||||
try:
|
||||
if symbol not in self.recent_transformer_predictions:
|
||||
self.recent_transformer_predictions[symbol] = deque(maxlen=50)
|
||||
|
||||
# Add timestamp if not present
|
||||
if 'timestamp' not in prediction:
|
||||
prediction['timestamp'] = datetime.now()
|
||||
|
||||
self.recent_transformer_predictions[symbol].append(prediction)
|
||||
logger.debug(f"Stored transformer prediction for {symbol}: {prediction.get('action', 'N/A')}")
|
||||
except Exception as e:
|
||||
logger.error(f"Error storing transformer prediction: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user