File size: 1,388 Bytes
590a501 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #!/usr/bin/env python3
"""Generate research reports from GP outputs and qlib experiment artifacts."""
import argparse
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
from reports.analysis import generate_experiment_report, generate_gp_only_report
def main():
parser = argparse.ArgumentParser(description="Generate IC/backtest/GP analysis charts")
parser.add_argument("--run-id", type=str, default=None, help="GP mining run id")
parser.add_argument("--recorder-id", type=str, default=None, help="qlib Recorder id from mlruns")
parser.add_argument(
"--experiment-name",
type=str,
default=None,
help="qlib experiment name (e.g. ml_alpha_baseline, ml_alpha_gp)",
)
parser.add_argument("--output-dir", type=str, default=None, help="Custom report output directory")
args = parser.parse_args()
out_dir = Path(args.output_dir) if args.output_dir else None
if args.recorder_id and args.experiment_name:
generate_experiment_report(
recorder_id=args.recorder_id,
experiment_name=args.experiment_name,
output_dir=out_dir,
run_id=args.run_id,
)
else:
generate_gp_only_report(run_id=args.run_id, output_dir=out_dir)
if __name__ == "__main__":
main()
|