From 4f6b811666b5f5b149fb4defc5c7d244e2f60904 Mon Sep 17 00:00:00 2001 From: "Bobby Abellana (aider)" Date: Thu, 6 Feb 2025 22:06:32 -0800 Subject: [PATCH] fix: Update intraday ticker query to use today's market hours --- src/screener/t_sunnyband.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/screener/t_sunnyband.py b/src/screener/t_sunnyband.py index 40c704b..e9a91d7 100644 --- a/src/screener/t_sunnyband.py +++ b/src/screener/t_sunnyband.py @@ -93,6 +93,7 @@ def get_valid_tickers(min_price: float, max_price: float, min_volume: int, inter """Get tickers that meet the price and volume criteria""" client = create_client() yesterday = (datetime.now() - timedelta(days=1)).date() + today = datetime.now().date() if interval == "daily": table = "stock_prices_daily" @@ -101,10 +102,10 @@ def get_valid_tickers(min_price: float, max_price: float, min_volume: int, inter else: table = "stock_prices" date_col = "window_start" - # Get yesterday's timestamp range - start_ts = int(datetime.combine(yesterday, datetime.min.time()).timestamp()) - end_ts = int(datetime.combine(yesterday, datetime.max.time()).timestamp()) - date_condition = f"{date_col} BETWEEN {start_ts} AND {end_ts}" + # Get today's trading hours timestamp range (9:30 AM to 4:00 PM EST) + market_open = int(datetime.combine(today, datetime.strptime("09:30", "%H:%M").time()).timestamp()) + market_close = int(datetime.combine(today, datetime.strptime("16:00", "%H:%M").time()).timestamp()) + date_condition = f"{date_col} BETWEEN {market_open} AND {market_close}" query = f""" SELECT DISTINCT ticker