summaryrefslogtreecommitdiff
path: root/services/backtester/src
diff options
context:
space:
mode:
Diffstat (limited to 'services/backtester/src')
-rw-r--r--services/backtester/src/backtester/main.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/services/backtester/src/backtester/main.py b/services/backtester/src/backtester/main.py
index 0a2b47d..a4cea76 100644
--- a/services/backtester/src/backtester/main.py
+++ b/services/backtester/src/backtester/main.py
@@ -1,4 +1,5 @@
"""Main entry point for the backtester service."""
+
import asyncio
import importlib
import os
@@ -7,18 +8,20 @@ from decimal import Decimal
from pathlib import Path
# Resolve strategies directory from env or relative path
-_STRATEGIES_DIR = Path(os.environ.get(
- "STRATEGIES_DIR",
- str(Path(__file__).resolve().parents[4] / "strategy-engine" / "strategies")
-))
+_STRATEGIES_DIR = Path(
+ os.environ.get(
+ "STRATEGIES_DIR",
+ str(Path(__file__).resolve().parents[4] / "strategy-engine" / "strategies"),
+ )
+)
if _STRATEGIES_DIR.parent not in [Path(p) for p in sys.path]:
sys.path.insert(0, str(_STRATEGIES_DIR.parent))
-from shared.db import Database
-from shared.models import Candle
-from backtester.config import BacktestConfig
-from backtester.engine import BacktestEngine
-from backtester.reporter import format_report
+from shared.db import Database # noqa: E402
+from shared.models import Candle # noqa: E402
+from backtester.config import BacktestConfig # noqa: E402
+from backtester.engine import BacktestEngine # noqa: E402
+from backtester.reporter import format_report # noqa: E402
async def run_backtest() -> str:
@@ -28,6 +31,7 @@ async def run_backtest() -> str:
mod = importlib.import_module(f"strategies.{config.strategy_name}")
# Find the first BaseStrategy subclass
from strategies.base import BaseStrategy
+
strategy_cls = None
for attr_name in dir(mod):
obj = getattr(mod, attr_name)