fix: Correct price and volume filtering in get_qualified_stocks query

This commit is contained in:
Bobby (aider) 2025-02-09 00:45:19 -08:00
parent fcc8203aae
commit b8eaafafd6

View File

@ -68,6 +68,8 @@ def get_qualified_stocks(start_date: datetime, end_date: datetime, min_price: fl
FROM stock_db.stock_prices
WHERE window_start BETWEEN {start_ts} AND {end_ts}
AND toDateTime(window_start/1000000000) <= now()
AND close BETWEEN {min_price} AND {max_price}
AND volume >= {min_volume}
),
daily_data AS (
SELECT
@ -77,8 +79,6 @@ def get_qualified_stocks(start_date: datetime, end_date: datetime, min_price: fl
sum(volume) as daily_volume
FROM filtered_data
GROUP BY ticker, toDate(trade_date)
HAVING daily_close BETWEEN {min_price} AND {max_price}
AND daily_volume >= {min_volume}
),
latest_data AS (
SELECT
@ -88,6 +88,7 @@ def get_qualified_stocks(start_date: datetime, end_date: datetime, min_price: fl
max(toUnixTimestamp(date)) as last_update
FROM daily_data
GROUP BY ticker
HAVING last_close BETWEEN {min_price} AND {max_price}
)
SELECT
ticker,