Update test
This commit is contained in:
@@ -212,27 +212,28 @@ public class BacktestTests : BaseTests
|
||||
Assert.NotNull(backtestResult);
|
||||
|
||||
// Financial metrics - using decimal precision
|
||||
Assert.Equal(-106.56m, Math.Round(backtestResult.FinalPnl, 2));
|
||||
Assert.Equal(-187.36m, Math.Round(backtestResult.NetPnl, 2));
|
||||
Assert.Equal(80.80m, Math.Round(backtestResult.Fees, 2));
|
||||
Assert.Equal(44.34m, Math.Round(backtestResult.FinalPnl, 2));
|
||||
Assert.Equal(-42.30m, Math.Round(backtestResult.NetPnl, 2));
|
||||
Assert.Equal(86.65m, Math.Round(backtestResult.Fees, 2));
|
||||
Assert.Equal(1000.0m, backtestResult.InitialBalance);
|
||||
|
||||
// Performance metrics
|
||||
Assert.Equal(31, backtestResult.WinRate);
|
||||
Assert.Equal(-10.66m, Math.Round(backtestResult.GrowthPercentage, 2));
|
||||
Assert.Equal(4.43m, Math.Round(backtestResult.GrowthPercentage, 2));
|
||||
Assert.Equal(-0.67m, Math.Round(backtestResult.HodlPercentage, 2));
|
||||
|
||||
// Risk metrics
|
||||
Assert.Equal(247.62m, Math.Round(backtestResult.MaxDrawdown.Value, 2));
|
||||
Assert.Equal(-0.021, Math.Round(backtestResult.SharpeRatio.Value, 3));
|
||||
Assert.Equal(0.0, backtestResult.Score);
|
||||
Assert.Equal(119.84m, Math.Round(backtestResult.MaxDrawdown.Value, 2));
|
||||
Assert.Equal(0.011, Math.Round(backtestResult.SharpeRatio.Value, 3));
|
||||
Assert.True(Math.Abs(backtestResult.Score - 12.402462405916662) < 0.001,
|
||||
$"Score {backtestResult.Score} should be within 0.001 of expected value 12.402462405916662");
|
||||
|
||||
// Date range validation
|
||||
Assert.Equal(new DateTime(2025, 10, 14, 12, 0, 0), backtestResult.StartDate);
|
||||
Assert.Equal(new DateTime(2025, 10, 24, 11, 45, 0), backtestResult.EndDate);
|
||||
|
||||
// Additional validation - strategy didn't outperform HODL
|
||||
Assert.True(backtestResult.GrowthPercentage < backtestResult.HodlPercentage,
|
||||
"Strategy underperformed HODL as expected for this test scenario");
|
||||
// Additional validation - strategy outperformed HODL
|
||||
Assert.True(backtestResult.GrowthPercentage > backtestResult.HodlPercentage,
|
||||
"Strategy outperformed HODL as expected for this test scenario");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user