diff --git a/scripts/generate_report.py b/scripts/generate_report.py index cc85326a..74ae17b9 100644 --- a/scripts/generate_report.py +++ b/scripts/generate_report.py @@ -94,6 +94,26 @@ def build_sections(data) -> dict: def main(): report_type = sys.argv[1] if len(sys.argv) > 1 else "intraday_monitor" + # ★ 前置重评:对 holding_strategies 中信号为买入/卖出的股票,先触发重评 + try: + import sqlite3 + _conn = sqlite3.connect(str(SCRIPTS_DIR.parent / "data" / "mofin.db")) + _actionable = _conn.execute( + "SELECT code FROM holding_strategies WHERE status='active' " + "AND timing_signal IN ('买入','可买入','可加仓','卖出','止盈')" + ).fetchall() + _conn.close() + for (_code,) in _actionable: + try: + subprocess.run( + ["python3", str(SCRIPTS_DIR / "per_stock_reassess.py"), _code], + capture_output=True, timeout=30 + ) + except: + pass + except Exception: + pass + data = get_report_data() sections = build_sections(data)