可复现性问题

量化交易存在一个根本性问题:当有人发布一个”盈利策略”时,复现其结果几乎是不可能的。原因在于:

  • 未指定的参数——作者忘记提及关键设置
  • 不同的数据——数据源给出的价格略有不同
  • 隐含假设——佣金、滑点、执行时间
  • 平台差异——同一算法在不同回测引擎上产生不同结果

PLUTUS框架正是为解决这一问题而生。

什么是PLUTUS

PLUTUS是一个开源框架,用于标准化交易策略的描述、测试和发布。

由一个国际研究团队开发,以MIT许可证发布在GitHub上。

架构

PLUTUS定义了四个标准化组件:

1. 策略规范(Strategy Specification)

以YAML/JSON格式对策略进行形式化描述:

strategy:
  name: "Mean Reversion RSI"
  version: "1.0"
  author: "researcher@university.edu"

  signals:
    entry_long:
      condition: "RSI(14) < 30 AND SMA(50) > SMA(200)"
    exit_long:
      condition: "RSI(14) > 70 OR stop_loss(-2%)"

  parameters:
    rsi_period: 14
    sma_fast: 50
    sma_slow: 200
    stop_loss_pct: -2.0

  universe:
    type: "equity"
    market: "US"
    filter: "S&P 500 constituents"

  execution:
    order_type: "market"
    slippage_model: "fixed_bps(5)"
    commission_model: "per_share(0.005)"

2. 数据规范(Data Specification)

标准化的数据描述:

  • 数据源(Yahoo Finance、Polygon、MOEX)
  • 时间段(起始、结束)
  • 频率(1分钟、1小时、1天)
  • 处理方式(复权/未复权、填充方法)
  • 数据哈希值用于验证

3. 回测引擎(Backtest Engine)

标准化的回测引擎,具备:

  • 明确的订单处理逻辑
  • 固定的K线内计算顺序
  • 透明的滑点模型
  • 50+指标的报告

4. 报告格式(Report Format)

统一的报告格式,包括:

  • 权益曲线
  • 所有指标(Sharpe、Sortino、Max DD、Calmar等)
  • 交易分布
  • 时间段分析
  • Walk-forward结果

为什么这很重要

对研究人员

以PLUTUS格式发布策略,使其他研究人员能够精确复现结果。这正是科学界在实验中早已具备、但量化交易一直缺失的东西。

对实践者

标准化格式简化了:

  • 策略比较——所有指标计算方式一致
  • 审计——每个参数都可以验证
  • 可移植性——在不同平台之间转移策略

对AI智能体

PLUTUS对生成交易策略的LLM智能体尤为有用。标准化格式可以:

  • 自动验证策略规范
  • 无需手动设置即可运行回测
  • 将结果与基准进行比较

当前状态

  • 版本:0.8(测试版)
  • 语言:Python(主要语言),C#和Java适配器
  • 支持市场:美国、欧洲、中国、加密货币
  • 集成:Backtrader、Zipline、VectorBT、QuantConnect

PLUTUS是让量化交易变得更加透明和科学的一步。如果你正在开发交易策略,值得关注。