diff --git a/dashboard/src/pages/meetKevin/Strategy.tsx b/dashboard/src/pages/meetKevin/Strategy.tsx
index 6ee8197..16ead54 100644
--- a/dashboard/src/pages/meetKevin/Strategy.tsx
+++ b/dashboard/src/pages/meetKevin/Strategy.tsx
@@ -123,36 +123,35 @@ export default function MeetKevinStrategy() {
{/* Headline metrics */}
{performance && (
-
+
= 0 ? 'text-green-400' : 'text-red-400'}
+ label="Total Trades"
+ value={(performance.trade_count ?? 0).toString()}
/>
= 0 ? 'text-green-400' : 'text-red-400'}
+ label="Closed Trades"
+ value={(performance.closed_trade_count ?? 0).toString()}
/>
= 1 ? 'text-green-400' : 'text-yellow-400'}
+ label="Total P&L"
+ value={`${(performance.total_pnl_usd ?? 0) >= 0 ? '+' : ''}$${(performance.total_pnl_usd ?? 0).toFixed(2)}`}
+ color={(performance.total_pnl_usd ?? 0) >= 0 ? 'text-green-400' : 'text-red-400'}
/>
= 50 ? 'text-green-400' : 'text-yellow-400'}
+ />
+
+
- = 0 ? 'text-green-400' : 'text-red-400'}
- />
-
)}
diff --git a/dashboard/src/types/meetKevin.ts b/dashboard/src/types/meetKevin.ts
index 3c04ef4..0982e15 100644
--- a/dashboard/src/types/meetKevin.ts
+++ b/dashboard/src/types/meetKevin.ts
@@ -199,13 +199,12 @@ export interface StrategyEquityCurve {
}
export interface StrategyPerformance {
- total_return_pct: number;
- annualized_return_pct: number | null;
- sharpe_ratio: number | null;
- max_drawdown_pct: number | null;
- win_rate: number | null;
+ // Live-path metrics — current shape from
+ // GET /api/meet-kevin/strategy/performance.
trade_count: number;
- alpha_vs_spy_pct: number | null;
- open_positions: number;
- last_backtest_at: string | null;
+ closed_trade_count: number;
+ total_pnl_usd: number;
+ win_rate_pct: number;
+ wins: number;
+ losses: number;
}