| + Started + | ++ Status + | ++ Return + | ++ Sharpe + | ++ Max DD + | ++ Alpha + | ++ Trades + | ++ Source + | +
|---|---|---|---|---|---|---|---|
| + {new Date(run.started_at).toLocaleString()} + | ++ + {badge.label} + + {run.error_message && ( + + {run.error_message} + + )} + | += 0 ? 'text-green-400' : 'text-red-400'}`}> + {m ? fmt(m.total_return_pct) : '—'} + | ++ {m?.sharpe_ratio != null ? m.sharpe_ratio.toFixed(2) : '—'} + | ++ {m?.max_drawdown_pct != null ? `${m.max_drawdown_pct.toFixed(2)}%` : '—'} + | += 0 ? 'text-green-400' : 'text-red-400'}`}> + {m ? fmt(m.alpha_vs_spy_pct) : '—'} + | ++ {m?.trade_count ?? '—'} + | ++ {run.trigger_source} + | +
| + Symbol + | ++ Signal + | ++ Conviction + | ++ Price + | ++ P&L + | ++ Status + | ++ Mentions + | ++ Last seen + | ++ |
|---|---|---|---|---|---|---|---|---|
| + ${t.symbol} + {t.is_held && ( + + HOLDING + + )} + | +
+ |
+
+
+
+
+
+
+ {(t.latest_conviction * 100).toFixed(0)}%
+
+ |
+ + {t.current_price != null + ? `$${t.current_price.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` + : '—'} + | ++ {pnl != null ? ( + = 0 ? 'text-green-400' : 'text-red-400'}> + {pnl >= 0 ? '+' : ''}{pnl.toFixed(2)}% + + ) : ( + — + )} + | ++ {badge ? ( + + {badge.label} + + ) : ( + — + )} + | +{t.mention_count} | ++ {new Date(t.last_mention_at).toLocaleDateString()} + | ++ {t.is_held && ( + + )} + | +
{label}
+{value}
++ Backtest history, ticker scorecard, and equity vs SPY +
+Backtest running…
+Results will appear automatically
+Backtest Failed
++ {selectedRun.error_message ?? 'An unknown error occurred'} +
+