work on backtest engine

This commit is contained in:
Boki 2025-07-04 07:45:56 -04:00
parent 3a7557c8f4
commit b8cefdb8cd
11 changed files with 1525 additions and 318 deletions

View file

@ -81,29 +81,29 @@ export function BacktestResults({ status, results, currentTime }: BacktestResult
<div className="grid grid-cols-2 lg:grid-cols-3 gap-4">
<MetricsCard
title="Total Return"
value={`${results.metrics.totalReturn >= 0 ? '+' : ''}${results.metrics.totalReturn.toFixed(2)}%`}
trend={results.metrics.totalReturn >= 0 ? 'up' : 'down'}
value={`${(results.metrics.totalReturn || 0) >= 0 ? '+' : ''}${(results.metrics.totalReturn || 0).toFixed(2)}%`}
trend={(results.metrics.totalReturn || 0) >= 0 ? 'up' : 'down'}
/>
<MetricsCard
title="Sharpe Ratio"
value={results.metrics.sharpeRatio.toFixed(2)}
trend={results.metrics.sharpeRatio >= 1 ? 'up' : 'down'}
value={results.metrics.sharpeRatio?.toFixed(2) || '0.00'}
trend={(results.metrics.sharpeRatio || 0) >= 1 ? 'up' : 'down'}
/>
<MetricsCard
title="Max Drawdown"
value={`${(results.metrics.maxDrawdown * 100).toFixed(2)}%`}
value={`${((results.metrics.maxDrawdown || 0) * 100).toFixed(2)}%`}
trend="down"
/>
<MetricsCard
title="Win Rate"
value={`${results.metrics.winRate.toFixed(1)}%`}
trend={results.metrics.winRate >= 50 ? 'up' : 'down'}
value={`${(results.metrics.winRate || 0).toFixed(1)}%`}
trend={(results.metrics.winRate || 0) >= 50 ? 'up' : 'down'}
/>
<MetricsCard
title="Total Trades"
value={results.metrics.totalTrades.toString()}
value={(results.metrics.totalTrades || 0).toString()}
/>
{results.metrics.profitFactor && (
{results.metrics.profitFactor !== null && results.metrics.profitFactor !== undefined && (
<MetricsCard
title="Profit Factor"
value={results.metrics.profitFactor.toFixed(2)}