From 196ca39e63168bb1d6d149f6e55fd2ce6a88a801 Mon Sep 17 00:00:00 2001 From: "Bobby (aider)" Date: Sat, 8 Feb 2025 11:15:21 -0800 Subject: [PATCH] fix: Update ClickHouse queries to use `window_start` column correctly --- src/screener/t_atr_ema_v2.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/screener/t_atr_ema_v2.py b/src/screener/t_atr_ema_v2.py index 262a4a7..a1781c9 100644 --- a/src/screener/t_atr_ema_v2.py +++ b/src/screener/t_atr_ema_v2.py @@ -56,18 +56,24 @@ def run_atr_ema_target_scanner(min_price: float, max_price: float, min_volume: i SELECT ticker FROM ( SELECT ticker, count() as cnt - FROM stock_db.stock_prices_daily - WHERE date BETWEEN '{start_date.date()}' AND '{end_date.date()}' + FROM ( + SELECT + ticker, + toDate(window_start) as date + FROM stock_db.stock_prices + WHERE window_start BETWEEN {start_ts} AND {end_ts} + GROUP BY ticker, date + ) GROUP BY ticker - HAVING cnt >= 50 + HAVING count() >= 50 UNION ALL SELECT ticker, count() as cnt - FROM stock_db.stock_prices - WHERE window_start BETWEEN {start_ts} AND {end_ts} + FROM stock_db.stock_prices_daily + WHERE date BETWEEN '{start_date.date()}' AND '{end_date.date()}' GROUP BY ticker - HAVING cnt >= 250 # 50 days * average 50 bars/day + HAVING cnt >= 50 ) GROUP BY ticker HAVING sum(cnt) >= 50