show each model's prediction (last inference) and store T model checkpoint

This commit is contained in:
Dobromir Popov
2025-07-02 09:52:45 +03:00
parent b47805dafc
commit 488fbacf67
3 changed files with 625 additions and 89 deletions

View File

@ -677,15 +677,31 @@ class DashboardComponentManager:
# Model metrics
html.Div([
# Last prediction
# Last prediction with enhanced details
html.Div([
html.Span("Last: ", className="text-muted small"),
html.Span(f"{pred_action}",
className=f"small fw-bold {'text-success' if pred_action == 'BUY' else 'text-danger' if pred_action == 'SELL' else 'text-muted'}"),
className=f"small fw-bold {'text-success' if pred_action == 'BUY' else 'text-danger' if pred_action == 'SELL' else 'text-warning' if 'PREDICTION' in pred_action else 'text-info'}"),
html.Span(f" ({pred_confidence:.1f}%)", className="text-muted small"),
html.Span(f" @ {pred_time}", className="text-muted small")
], className="mb-1"),
# Additional prediction details if available
*([
html.Div([
html.Span("Price: ", className="text-muted small"),
html.Span(f"${last_prediction.get('predicted_price', 0):.2f}", className="text-warning small fw-bold")
], className="mb-1")
] if last_prediction.get('predicted_price', 0) > 0 else []),
*([
html.Div([
html.Span("Change: ", className="text-muted small"),
html.Span(f"{last_prediction.get('price_change', 0):+.2f}%",
className=f"small fw-bold {'text-success' if last_prediction.get('price_change', 0) > 0 else 'text-danger'}")
], className="mb-1")
] if last_prediction.get('price_change', 0) != 0 else []),
# Timing information (NEW)
html.Div([
html.Span("Timing: ", className="text-muted small"),