SuperAPI AI 工具集

algo-portfolio

智能体与模型

查看项目

更新于 10-16 00:06

技能介绍

用途:在单一 supervisor 下运行多个策略,并施加组合级风控上限。配置由 YAML 驱动,默认读取当前目录的 portfolio.yaml;也可在配置路径后加 --mode backtest 或 --mode live。若配置不存在,会生成起始模板。

主要能力:组合级上限包括 portfolio_sl_pct(如 -2% 资金时全部停止)、portfolio_tp_pct、daily_loss_pct、daily_target_pct、max_concurrent_positions、max_symbol_concentration。每个策略作为独立子进程运行,实现完全隔离;触发上限或 Ctrl-C 时传播 SIGTERM;运行器每 15 秒通过 client.positionbook() 监控聚合盈亏;触发时平台范围调用 cancelallorder 与 closeposition。多个上限同时触发时以最严格者为准;kill switch 每会话触发一次,重跑运行器会在 IST 午夜重置每日计数。实盘与沙盒由 OpenAlgo UI 的分析器开关决定。

使用方式:配置中列出各策略的 name、path 与 env(如 SYMBOL、INTERVAL),并确认路径存在,否则建议先用 /algo-strategy 创建。随后生成或更新项目根目录的 run_portfolio.py,包装 core/portfolio_runner.py,运行:python run_portfolio.py --config portfolio.yaml --mode live。Telegram 告警需在 .env 设置 TELEGRAM_USERNAME 并扩展 stop_all()。

限制:回测模式下默认运行器不做组合级聚合回测,每个子策略各自独立跑 VectorBT 回测;真正的组合回测需参考 portfolio-risk.md 的 merge-equities 模式。不要在上限触发时静默提高上限,也不要对同一 OpenAlgo 实例运行两个 PortfolioRunner 进程,否则平仓会冲突。避免使用图标或表情符号。