fix: correct timestamp handling and add date validation in stock data queries
This commit is contained in:
parent
44beec4b6c
commit
41380c3638
@ -25,7 +25,7 @@ def get_stock_data(ticker: str, start_date: datetime, end_date: datetime, interv
|
||||
# Unified query format
|
||||
query = f"""
|
||||
SELECT
|
||||
toDate(window_start) as date,
|
||||
toDateTime(window_start/1000000000) as date,
|
||||
open,
|
||||
high,
|
||||
low,
|
||||
@ -34,9 +34,11 @@ def get_stock_data(ticker: str, start_date: datetime, end_date: datetime, interv
|
||||
FROM stock_db.stock_prices
|
||||
WHERE ticker = '{ticker}'
|
||||
AND window_start BETWEEN
|
||||
toUnixTimestamp('{start_date.date()}') * 1000000000 AND
|
||||
toUnixTimestamp('{end_date.date()}') * 1000000000
|
||||
ORDER BY window_start ASC
|
||||
{int(start_date.timestamp() * 1e9)} AND
|
||||
{int(end_date.timestamp() * 1e9)}
|
||||
AND toYear(toDateTime(window_start/1000000000)) <= toYear(now())
|
||||
AND toYear(toDateTime(window_start/1000000000)) >= (toYear(now()) - 1)
|
||||
ORDER BY date ASC
|
||||
"""
|
||||
|
||||
result = client.query(query)
|
||||
@ -47,7 +49,7 @@ def get_stock_data(ticker: str, start_date: datetime, end_date: datetime, interv
|
||||
print(f"⚠️ No daily data for {ticker}, resampling from intraday data")
|
||||
intraday_query = f"""
|
||||
SELECT
|
||||
toStartOfDay(window_start) AS date,
|
||||
toDateTime(window_start/1000000000) as date,
|
||||
first_value(open) AS open,
|
||||
max(high) AS high,
|
||||
min(low) AS low,
|
||||
@ -56,8 +58,10 @@ def get_stock_data(ticker: str, start_date: datetime, end_date: datetime, interv
|
||||
FROM stock_db.stock_prices
|
||||
WHERE ticker = '{ticker}'
|
||||
AND window_start BETWEEN
|
||||
toUnixTimestamp('{start_date.date()}') * 1000000000 AND
|
||||
toUnixTimestamp('{end_date.date()}') * 1000000000
|
||||
{int(start_date.timestamp() * 1e9)} AND
|
||||
{int(end_date.timestamp() * 1e9)}
|
||||
AND toYear(toDateTime(window_start/1000000000)) <= toYear(now())
|
||||
AND toYear(toDateTime(window_start/1000000000)) >= (toYear(now()) - 1)
|
||||
GROUP BY date
|
||||
ORDER BY date ASC
|
||||
"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user