阶段三模型 | 强化学习金融交易智能体(UG-CPPO:不确定性门控 CVaR-PPO,FinAI Contest 2025)| 昇腾 910B NPU 推理验证
UG-CPPO v3 是面向美股 10 标的组合交易的风险敏感强化学习智能体(Stable-Baselines3 PPO, ActorCriticPolicy MLP 81→64→64,Tanh 激活)。仓库含 30 个训练 checkpoint (ppo / cppo / ug_cppo × seeds 42-51),观测为 81 维 FinRL 风格交易状态 (现金 + 10 股价 + 10 持仓 + 60 技术指标),输出 10 维连续调仓动作([-1,1],10 只股票)。
ug_cppo_seed47.zip(论文 Rachev 比率最优 1.0104)| 问题 | 修复 |
|---|---|
| 环境无 stable_baselines3 | 直接解析 SB3 zip(zipfile 读 data + policy.pth),手工重建 Actor-Critic MLP,零 SB3 依赖 |
| 重建正确性 | 安装 SB3 2.8.0 交叉验证:手工重建 vs PPO.predict(deterministic=True) 动作最大误差 0.0 |
| 无 gymnasium 交易环境 | 自合成 81 维 FinRL 风格观测(归一化现金/股价/持仓/技术指标,随机游走行情),64 步回测前向 |
| 原始量纲使 tanh 饱和 | 观测各分量按训练环境惯例归一化到 O(1)(现金/1e6、股价除首日价、指标缩放),否则策略输出塌缩为常量 |
| NPU 推理 | bf16 精度加载至昇腾 910B4 单卡,确定性动作 = clip(高斯均值, -1, 1) |
pip install -r requirements.txt
python3 inference.py # 默认 ug_cppo_seed47.zip,seed=2026,64 步
python3 inference.py --ckpt cppo_seed42.zip --seed 7 --steps 32权重目录由 MODEL_PATH 环境变量指定,默认 ~/models/graceesthi/ug-cppo-finai-2025。
[验收] NPU 推理运行成功 ✓inference.py # NPU 推理脚本(手工 SB3 zip 加载器 + 合成行情回测,MODEL_PATH 可指定权重目录)
requirements.txt
README.md
meta.json # 适配工作流记录
assets/
agent_workflow.png # 适配流程
npu_device_call.png # npu-smi 设备调用
model_result.png # 推理日志与验收标记