1. 文件结构
ZIP 解压后必须保留以下相对路径。没有源码或权重的提交只会登记为“不可运行”。
my_strategy_bundle/ ├─ strategy_package.json └─ runtime/ ├─ strategy.py ├─ requirements.lock ├─ wheels/ # 自定义离线依赖,可为空 └─ models/ # PPO/ONNX 权重等,可为空
回测方式:用户下载 MarketWorld 发布的官方历史数据包、manifest 和成本模型,在自己的电脑、服务器或第三方算力上回测。系统只负责提供标准数据、校验哈希、做准入检查和后续私有复核;不要把策略源码上传给我们要求代跑回测。
按策略场所选择数据包。期现策略必须使用覆盖现货和永续两条腿的官方包;跨交易所策略必须选择已发布的 cross_venue 包,不能自行拼接不同数据包。
GET /external-strategies/backtest-datasets
下载 market_data、execution_cost_assumptions 和 manifest,先核对文件 SHA256、data_fingerprint、manifest_hash。
/files/market_data_sessionized.csv
在用户自己的环境运行策略。必须计入手续费、滑点、价差、资金费率和成本模型,并声明无未来函数、无幸存者偏差。
python scripts/external_strategy_offline_backtest.py
生成 summary、trades、equity curve、slice report、score report、config 和 artifact manifest,并对每个文件生成 SHA256。
BacktestEvidenceV2
把 dataset、venue_pair、venue_bindings、cost_model、public_score、artifact_hashes 和 commitments 填进 strategy_package_v2。
strategy_package_template_v2.json
先 dry-run 预检。正式提交后进入待复核队列;私有复核通过前不会进入任何授权运行队列,更不会触达实盘。
POST /external-strategies?dry_run=true
ZIP 解压后必须保留以下相对路径。没有源码或权重的提交只会登记为“不可运行”。
my_strategy_bundle/ ├─ strategy_package.json └─ runtime/ ├─ strategy.py ├─ requirements.lock ├─ wheels/ # 自定义离线依赖,可为空 └─ models/ # PPO/ONNX 权重等,可为空
runtime.type:python/model/reinforcement_learningruntime.entrypoint:如 runtime/strategy.py:generate_signalsrequirements_lock、source_bundle_sha256、timeout_secondsexecution_schedule:必须声明数据粒度、决策频率、交易日历、时区、决策/执行时点和幂等范围;time_views 不能代替该合约。snapshot。SignalIntentV1 列表。外部策略不直接改账本、不绕过成本模型、不触达券商。它只表达想观察、开仓、平仓或调仓的标准化意图。
提交者下载 MarketWorld 官方历史数据包,用自己的算力跑回测,并用公开评分器生成 0-100 分;低于门槛不接收上传。
策略包会经过同时间点校验、价格锚校验、成本覆盖、样本外窗口、组合风控和授权边界检查。
哈希承诺包会先进入待复核队列;MarketWorld 用私有特征提取器复算并匹配 commitment id,通过前不会进入任何授权运行队列。