diff --git a/scripts/factor_research/run_eval.py b/scripts/factor_research/run_eval.py index 9ee08fd..4135d88 100644 --- a/scripts/factor_research/run_eval.py +++ b/scripts/factor_research/run_eval.py @@ -8,6 +8,9 @@ --factors alpha2,alpha6,alpha12,alpha18,kmid,klen,roc_5,ma_20,std_20,wvma_20 全量(Alpha101+158 × 全A × 8.5年): venv310/bin/python scripts/factor_research/run_eval.py --label batch1-full + 财务批(32因子;静态域默认 /volume1/stock/sanguo_vnpy_v2/data/static 容器内外同路径): + venv310/bin/python scripts/factor_research/run_eval.py \ + --start 2024-01-01 --end 2026-06-30 --categories fundamental --label fund-p0 """ import argparse import os @@ -28,6 +31,10 @@ def main() -> int: ap.add_argument("--label", default="batch1") ap.add_argument("--db", default=None, help="factor_eval.db 路径;默认 default_eval_db_path()") ap.add_argument("--run-id", default=None, help="断点续跑:复用既有 run_id,跳过已落库因子") + ap.add_argument("--fund-data-dir", default=None, + help="财务静态域根目录;默认 cfg.data_paths['static_dir'] → " + "/volume1/stock/sanguo_vnpy_v2/data/static(容器内外同路径)," + "仅含 fundamental 因子时才读取") ap.add_argument("--list-factors", default="", metavar="CATEGORY", help="列出类目因子后退出") args = ap.parse_args() @@ -58,7 +65,8 @@ def main() -> int: print(f"[eval] {done}/{total} {current}", flush=True) out = run_batch_eval(factor_names, args.start, args.end, db_path, label=args.label, - symbols=symbols, limit=args.limit, cfg=None, progress_cb=_cb, run_id=args.run_id) + symbols=symbols, limit=args.limit, cfg=None, progress_cb=_cb, + run_id=args.run_id, fund_data_dir=args.fund_data_dir) print(f"[eval] run_id={out['run_id']} done={out['factors_done']} " f"errors={len(out['errors'])} elapsed={out['elapsed_sec']}s symbols={out['symbols_count']}")