From e41bc1750a5beba2fea2298476f4f2a894356e7e Mon Sep 17 00:00:00 2001 From: ivelin <ivelin117@gmail.com> Date: Sat, 20 Jul 2024 15:14:43 -0500 Subject: [PATCH] fix: sql bug - ensure scan does not pick up outdated forecasts Signed-off-by: ivelin <ivelin117@gmail.com> --- example.env | 6 +++--- forecast.sh | 4 +++- setup.cfg | 4 ++-- src/canswim/dashboard/__init__.py | 7 ++++++- src/canswim/dashboard/advanced.py | 2 +- src/canswim/dashboard/scans.py | 2 +- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/example.env b/example.env index e9c71de..c98430c 100644 --- a/example.env +++ b/example.env @@ -42,8 +42,8 @@ data_3rd_party="data-3rd-party" # forecast data storage forecast_data_file="forecast_data.parquet" +# path to duckdb file +db_file="canswim_local.duckdb" + # Keep changes local or sync with remote HF Hub repo hfhub_sync=False - -# path to duckdb file -db_file="canswim_local.duckdb" \ No newline at end of file diff --git a/forecast.sh b/forecast.sh index d979b39..1e661ba 100755 --- a/forecast.sh +++ b/forecast.sh @@ -29,4 +29,6 @@ set -exv #./canswim.sh forecast --forecast_start_date "2024-06-17" #./canswim.sh forecast --forecast_start_date "2024-06-24" #./canswim.sh forecast --forecast_start_date "2024-07-01" -./canswim.sh forecast --forecast_start_date "2024-07-08" +#./canswim.sh forecast --forecast_start_date "2024-07-08" +#./canswim.sh forecast --forecast_start_date "2024-07-15" +./canswim.sh forecast --forecast_start_date "2024-07-22" diff --git a/setup.cfg b/setup.cfg index 55e77a9..07231e2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = canswim -version = 0.0.10 +version = 0.0.12 author = Ivelin Ivanov author_email = ivelin117@gmail.com description = "Developer toolkit for IBD CANSLIM practitioners" @@ -22,7 +22,7 @@ package_dir= packages = find: python_requires = >=3.10 install_requires = - darts + darts~=0.27 yfinance fmpsdk optuna==3.4.0 diff --git a/src/canswim/dashboard/__init__.py b/src/canswim/dashboard/__init__.py index 81473a9..0c190e0 100644 --- a/src/canswim/dashboard/__init__.py +++ b/src/canswim/dashboard/__init__.py @@ -82,7 +82,12 @@ def initdb(self): CREATE UNIQUE INDEX stock_tickers_sym_idx ON stock_tickers (symbol) """ ) - logger.info("Creating forecast table") + logger.info( + """ + Creating forecast tables optimized for search. May take a few minutes.\n + Use --help to see dashboard launch options. + """ + ) db_con.sql( f"""--sql CREATE OR REPLACE TABLE forecast diff --git a/src/canswim/dashboard/advanced.py b/src/canswim/dashboard/advanced.py index 88443f7..42651e6 100644 --- a/src/canswim/dashboard/advanced.py +++ b/src/canswim/dashboard/advanced.py @@ -42,7 +42,7 @@ def __init__(self, canswim_model: CanswimModel = None, db_path=None): HAVING forecast_close_high > prior_close_price AND f.start_date = lf.date AND reward_risk> 3 AND reward_percent >= 20 - and forecast_start_date = max(lf.date) + AND forecast_start_date = (select max(date) from latest_forecast) """ ) diff --git a/src/canswim/dashboard/scans.py b/src/canswim/dashboard/scans.py index 79551aa..20fbf2a 100644 --- a/src/canswim/dashboard/scans.py +++ b/src/canswim/dashboard/scans.py @@ -67,7 +67,7 @@ def scan_forecasts(self, lowq, reward, rr): HAVING forecast_close_high > prior_close_price AND f.start_date = lf.date AND reward_risk> $rr AND reward_percent >= $reward - and forecast_start_date = max(lf.date) + AND forecast_start_date = (select max(date) from latest_forecast) """, params={ "rr": rr,