INNER CODE UNIT · Python
cmd_portfolio
initial-d/ml-quant-trading · src/mlquant/cli/main.py:295
def cmd_portfolio(config_path: str) -> None:
cfg = load_config(config_path)
seed_everything(cfg.get("seed", 42))
art = _artifacts_dir(cfg)
panel = _load_panel(art)
pred_blob = torch.load(art / "predictions.pt", weights_only=False)
mask = panel.mask.numpy()
pred = pred_blob["pred"].numpy()
# Halt-aware returns: loaders zero-fill halted prices.
rets = panel.returns.numpy()
look_back = cfg.get("cov_lookback", 60)
mk_cfg = MarkowitzConfig(**(cfg.portfolio.to_dict() if "portfolio" in cfg else {}))
opt = MarkowitzOptimizer(mk_cfg)
T, N = pred.shape
oos = int(pred_blob.get("oos_start", 0))