From bf4afbc0a3cc4e847ef01840365fd6a6ae9c142f Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Thu, 2 Apr 2026 15:54:55 +0900 Subject: style: auto-fix lint violations from enhanced ruff rules --- scripts/backtest_moc.py | 54 +++++++++++++++++++++++------------------------ scripts/stock_screener.py | 4 ++-- 2 files changed, 29 insertions(+), 29 deletions(-) (limited to 'scripts') diff --git a/scripts/backtest_moc.py b/scripts/backtest_moc.py index 92b426b..9307668 100755 --- a/scripts/backtest_moc.py +++ b/scripts/backtest_moc.py @@ -4,11 +4,11 @@ Usage: python scripts/backtest_moc.py """ -import sys import random -from pathlib import Path +import sys +from datetime import UTC, datetime, timedelta from decimal import Decimal -from datetime import datetime, timedelta, timezone +from pathlib import Path ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(ROOT / "services" / "strategy-engine" / "src")) @@ -16,10 +16,11 @@ sys.path.insert(0, str(ROOT / "services" / "strategy-engine")) sys.path.insert(0, str(ROOT / "services" / "backtester" / "src")) sys.path.insert(0, str(ROOT / "shared" / "src")) -from shared.models import Candle # noqa: E402 from backtester.engine import BacktestEngine # noqa: E402 from strategies.moc_strategy import MocStrategy # noqa: E402 +from shared.models import Candle # noqa: E402 + def generate_stock_candles( symbol: str = "AAPL", @@ -38,7 +39,7 @@ def generate_stock_candles( """ candles = [] price = base_price - start_date = datetime(2025, 1, 2, tzinfo=timezone.utc) # Start on a Thursday + start_date = datetime(2025, 1, 2, tzinfo=UTC) # Start on a Thursday trading_day = 0 current_date = start_date @@ -136,27 +137,26 @@ def main(): ] # Parameter grid - param_sets = [] - for rsi_min in [25, 30, 35]: - for rsi_max in [55, 60, 65]: - for sl in [1.5, 2.0, 3.0]: - for ema in [10, 20]: - param_sets.append( - { - "quantity_pct": 0.2, - "stop_loss_pct": sl, - "rsi_min": rsi_min, - "rsi_max": rsi_max, - "ema_period": ema, - "volume_avg_period": 20, - "min_volume_ratio": 0.8, - "buy_start_utc": 19, - "buy_end_utc": 21, - "sell_start_utc": 14, - "sell_end_utc": 15, - "max_positions": 5, - } - ) + param_sets = [ + { + "quantity_pct": 0.2, + "stop_loss_pct": sl, + "rsi_min": rsi_min, + "rsi_max": rsi_max, + "ema_period": ema, + "volume_avg_period": 20, + "min_volume_ratio": 0.8, + "buy_start_utc": 19, + "buy_end_utc": 21, + "sell_start_utc": 14, + "sell_end_utc": 15, + "max_positions": 5, + } + for rsi_min in [25, 30, 35] + for rsi_max in [55, 60, 65] + for sl in [1.5, 2.0, 3.0] + for ema in [10, 20] + ] print(f"\nParameter combinations: {len(param_sets)}") print(f"Stocks: {[s[0] for s in stocks]}") @@ -234,7 +234,7 @@ def main(): print("\n" + "=" * 60) print("WORST 3 PARAMETER SETS") print("=" * 60) - for _rank, (params, profit, trades, sharpe, _) in enumerate(param_results[-3:], 1): + for _rank, (params, profit, _trades, sharpe, _) in enumerate(param_results[-3:], 1): print( f" RSI({params['rsi_min']}-{params['rsi_max']})," f" SL={params['stop_loss_pct']}%, EMA={params['ema_period']}" diff --git a/scripts/stock_screener.py b/scripts/stock_screener.py index 7a5c0ba..7552aa3 100755 --- a/scripts/stock_screener.py +++ b/scripts/stock_screener.py @@ -16,7 +16,7 @@ import asyncio import json import os import sys -from datetime import datetime, timezone +from datetime import UTC, datetime from pathlib import Path ROOT = Path(__file__).resolve().parents[1] @@ -195,7 +195,7 @@ async def main_async(top_n: int = 5, universe: list[str] | None = None): print("=" * 60) print("Daily Stock Screener — MOC Strategy") - print(f"Date: {datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M UTC')}") + print(f"Date: {datetime.now(UTC).strftime('%Y-%m-%d %H:%M UTC')}") print(f"Universe: {len(symbols)} stocks") print("=" * 60) -- cgit v1.2.3