diff options
Diffstat (limited to 'services/backtester/tests/test_metrics.py')
| -rw-r--r-- | services/backtester/tests/test_metrics.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/services/backtester/tests/test_metrics.py b/services/backtester/tests/test_metrics.py index b222b8a..68bc0b5 100644 --- a/services/backtester/tests/test_metrics.py +++ b/services/backtester/tests/test_metrics.py @@ -1,4 +1,6 @@ """Tests for detailed backtest metrics.""" + +import math from datetime import datetime, timedelta, timezone from decimal import Decimal @@ -21,9 +23,9 @@ def test_compute_metrics_basic(): """Two round-trip trades: 1 win, 1 loss. Verify counts and win_rate.""" trades = [ _make_trade("BUY", "100", 0), - _make_trade("SELL", "120", 10), # win: +20 + _make_trade("SELL", "120", 10), # win: +20 _make_trade("BUY", "130", 20), - _make_trade("SELL", "110", 30), # loss: -20 + _make_trade("SELL", "110", 30), # loss: -20 ] metrics = compute_detailed_metrics(trades, Decimal("10000"), Decimal("10000")) @@ -37,9 +39,9 @@ def test_compute_metrics_profit_factor(): """Verify profit_factor = gross_profit / gross_loss.""" trades = [ _make_trade("BUY", "100", 0), - _make_trade("SELL", "150", 10), # win: +50 + _make_trade("SELL", "150", 10), # win: +50 _make_trade("BUY", "150", 20), - _make_trade("SELL", "130", 30), # loss: -20 + _make_trade("SELL", "130", 30), # loss: -20 ] metrics = compute_detailed_metrics(trades, Decimal("10000"), Decimal("10030")) @@ -51,9 +53,9 @@ def test_compute_metrics_max_drawdown(): """Max drawdown should be > 0 when there is a losing trade after a peak.""" trades = [ _make_trade("BUY", "100", 0), - _make_trade("SELL", "150", 10), # win: equity goes up + _make_trade("SELL", "150", 10), # win: equity goes up _make_trade("BUY", "150", 20), - _make_trade("SELL", "120", 30), # loss: equity drops + _make_trade("SELL", "120", 30), # loss: equity drops ] metrics = compute_detailed_metrics(trades, Decimal("10000"), Decimal("10020")) @@ -91,6 +93,3 @@ def test_compute_metrics_empty_trades(): assert metrics.calmar_ratio == 0.0 assert metrics.max_drawdown == 0.0 assert metrics.monthly_returns == {} - - -import math |
