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