#!/usr/bin/env python3
"""premarket_full_review.py — 盘前全量重评

执行顺序：
1. regenerate_all() 全量技术分析重评（持仓+自选）
2. watchlist_auto_exit() 自选退出检查
3. 输出摘要

调度：交易日 08:10（A股09:30开盘）
"""
import sys, os, json
sys.path.insert(0, '/home/hmo/MoFin')

# Step 1: 全量重评
print("=" * 50)
print("📊 盘前全量重评开始")
print("=" * 50)
from strategy_lifecycle import regenerate_all
result = regenerate_all(stdout=True)
print(f"\n重评完成: {result.get('ok',0)}/{result.get('total',0)}成功")

# Step 2: 自选退出
print("\n" + "=" * 50)
print("🔍 自选退出检查")
print("=" * 50)
from scripts.watchlist_auto_exit import main as auto_exit
exited = auto_exit(dry_run=False)

# Step 3: 写入摘要供开盘简报引用
summary = {
    "premarket_at": __import__('datetime').datetime.now().isoformat(),
    "reassess": result,
    "auto_exit": [{"code": c, "name": n, "reason": r} for c, n, s, r in exited],
    "total_kept": result.get('total', 0) - len(exited),
}
os.makedirs("/tmp/mofin_premarket", exist_ok=True)
with open("/tmp/mofin_premarket/summary.json", "w") as f:
    json.dump(summary, f, ensure_ascii=False, indent=2)

print(f"\n✅ 盘前重评完毕")
