{
  "ok": true,
  "schema": "MarketWorldPublicExternalBacktestSiteV1",
  "generated_at": "2026-06-29T12:04:49+00:00",
  "static_publish": true,
  "server_backtest_compute": false,
  "public_scope": "external_backtest_data_only",
  "hidden_internal_surfaces": [
    "paper_simulation",
    "live_console",
    "internal_history_download_workbench",
    "internal_dashboard"
  ],
  "offline_kit": {
    "name": "marketworld_external_backtest_offline_kit.zip",
    "download_url": "external-strategies/offline-kit/marketworld_external_backtest_offline_kit.zip",
    "manifest_url": "external-strategies/offline-kit/manifest.json",
    "sha256": "sha256:756c212975ccd8d46d38f564c437e3d52c4830841b866a4cd2c3822f016adca6",
    "bytes": 113900,
    "server_backtest_compute": false
  },
  "backtest_requirements": {
    "schema": "BacktestEvidenceV2",
    "legacy_schema": "BacktestEvidenceV1",
    "evidence_mode": "hash_commitment",
    "compute_policy": "client_side_only",
    "data_policy": "marketworld_official_dataset_only",
    "public_feature_policy": {
      "internal_feature_extractor": "private",
      "public_submission": "hash_commitments_only",
      "rule": "公开标准只要求提交 opaque feature commitment；内部特征名、阈值、切片规则不对外发布。"
    },
    "submission_standard_url": "external-strategies/submission-standard.json",
    "public_score_policy": {
      "scorer_id": "marketworld_public_backtest_score_v1",
      "minimum_upload_score": 70.0,
      "score_range": [
        0,
        100
      ],
      "local_compute_only": true,
      "rule": "用户必须先在本地或外部算力跑官方数据回测并生成公开评分；低于门槛的策略包 API 直接拒收。"
    },
    "venue_policy": {
      "policy_id": "marketworld_venue_locked_v1",
      "allowed_scopes": [
        "benchmark_venue",
        "cross_venue",
        "same_brand",
        "same_venue",
        "spot_only"
      ],
      "default_scope": "same_venue",
      "rule": "策略必须按官方 manifest 锁定 execution_venue/data_provider/venue_symbol；同场所期现和跨场所期现必须使用不同 venue_pair_id。"
    },
    "run_modes": [
      "client_side",
      "external_compute",
      "user_supplied"
    ],
    "official_datasets": [
      {
        "dataset_id": "mw_binanceus_btc_spot_daily_v1",
        "provider": "marketworld",
        "status": "approved",
        "label": "MarketWorld Binance.US BTC spot daily v1",
        "description": "Binance.US public daily klines for BTCUSDT spot. No same-venue perpetual leg is published in this package.",
        "venue_package": "BINANCE_US",
        "venue_capability": "spot_only",
        "source_policy_id": "marketworld_public_rest_history_v1",
        "venue_policy_id": "marketworld_venue_locked_v1",
        "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
        "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
        "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
        "instrument_sources": {
          "BINANCEUS_SPOT_BTC": {
            "execution_venue": "BINANCE_US",
            "data_provider": "binance_us_spot",
            "venue_symbol": "BTCUSDT",
            "market_type": "crypto_spot",
            "source_role": "spot",
            "dataset_source": "binanceus_spot_public_klines",
            "live_source": "Binance.US public klines"
          }
        },
        "venue_pairs": [
          {
            "venue_pair_id": "binanceus_btc_spot_only",
            "scope": "spot_only",
            "basis_type": "spot_reference",
            "underlying": "BTC",
            "execution_venues": [
              "BINANCE_US"
            ],
            "allow_cross_venue_basis": false,
            "legs": [
              {
                "role": "spot",
                "instrument": "BINANCEUS_SPOT_BTC",
                "execution_venue": "BINANCE_US",
                "data_provider": "binance_us_spot",
                "venue_symbol": "BTCUSDT"
              }
            ],
            "notes": "Spot-only venue package. Binance.US spot is not a same-venue perpetual package."
          }
        ],
        "cost_model_id": "mw_cost_binanceus_btc_spot_v1",
        "source_references": [
          "https://docs.binance.us/#kline-candlestick-data"
        ],
        "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
        "generated_at": "2026-06-27T05:26:08+00:00",
        "period": {
          "start": "2026-03-29",
          "end": "2026-06-26",
          "timezone": "UTC"
        },
        "granularity": [
          "daily"
        ],
        "instruments": [
          "BINANCEUS_SPOT_BTC"
        ],
        "sources": [
          "binanceus_spot_public_klines"
        ],
        "rows": 90,
        "cost_model_hash": "sha256:c814f225c3830bafb22cd9063d2ed69ce4bce71b4ba0666b1820cbc2127a580b",
        "data_fingerprint": "sha256:13bb3a0da4f422700146246d3d543c2ddeb02690f67929b8ead8eb87776f116a",
        "files": [
          {
            "role": "market_data",
            "name": "market_data_sessionized.csv",
            "path": "external_strategies/backtest_data/mw_binanceus_btc_spot_daily_v1/market_data_sessionized.csv",
            "sha256": "sha256:13bb3a0da4f422700146246d3d543c2ddeb02690f67929b8ead8eb87776f116a",
            "bytes": 23674,
            "download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/market_data_sessionized.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/market_data_sessionized.csv"
          },
          {
            "role": "cost_model",
            "name": "execution_cost_assumptions.csv",
            "path": "external_strategies/backtest_data/mw_binanceus_btc_spot_daily_v1/execution_cost_assumptions.csv",
            "sha256": "sha256:c814f225c3830bafb22cd9063d2ed69ce4bce71b4ba0666b1820cbc2127a580b",
            "bytes": 232,
            "download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/execution_cost_assumptions.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/execution_cost_assumptions.csv"
          }
        ],
        "manifest_hash": "sha256:784d8a42c2311f7dee1dc6cd23bb88babee6c8210a3ac56c57ef7af07ebed8ee",
        "manifest_release_status": "released",
        "manifest_matches_files": true,
        "computed_manifest_hash": "sha256:784d8a42c2311f7dee1dc6cd23bb88babee6c8210a3ac56c57ef7af07ebed8ee",
        "manifest_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/manifest.json",
        "static_manifest_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/manifest.json"
      },
      {
        "dataset_id": "mw_coinbase_btc_spot_daily_v1",
        "provider": "marketworld",
        "status": "approved",
        "label": "MarketWorld Coinbase BTC spot daily v1",
        "description": "Coinbase Exchange public daily candles for BTC-USD spot. No same-venue perpetual leg is published in this package.",
        "venue_package": "COINBASE",
        "venue_capability": "spot_only",
        "source_policy_id": "marketworld_public_rest_history_v1",
        "venue_policy_id": "marketworld_venue_locked_v1",
        "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
        "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
        "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
        "instrument_sources": {
          "COINBASE_SPOT_BTC": {
            "execution_venue": "COINBASE",
            "data_provider": "coinbase_exchange",
            "venue_symbol": "BTC-USD",
            "market_type": "crypto_spot",
            "source_role": "spot",
            "dataset_source": "coinbase_exchange_public_rest",
            "live_source": "Coinbase Exchange public candles"
          }
        },
        "venue_pairs": [
          {
            "venue_pair_id": "coinbase_btc_spot_only",
            "scope": "spot_only",
            "basis_type": "spot_reference",
            "underlying": "BTC",
            "execution_venues": [
              "COINBASE"
            ],
            "allow_cross_venue_basis": false,
            "legs": [
              {
                "role": "spot",
                "instrument": "COINBASE_SPOT_BTC",
                "execution_venue": "COINBASE",
                "data_provider": "coinbase_exchange",
                "venue_symbol": "BTC-USD"
              }
            ],
            "notes": "Spot-only venue package. Do not use it to claim same-venue spot/perp carry."
          }
        ],
        "cost_model_id": "mw_cost_coinbase_btc_spot_v1",
        "source_references": [
          "https://docs.cdp.coinbase.com/exchange/reference/exchangerestapi_getproductcandles"
        ],
        "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
        "generated_at": "2026-06-27T05:26:30+00:00",
        "period": {
          "start": "2026-03-29",
          "end": "2026-06-26",
          "timezone": "UTC"
        },
        "granularity": [
          "daily"
        ],
        "instruments": [
          "COINBASE_SPOT_BTC"
        ],
        "sources": [
          "coinbase_exchange_public_rest"
        ],
        "rows": 90,
        "cost_model_hash": "sha256:05d4bd06c545107747a63f6c6fa369ddf26b805c1c2e7abc0c7afc9170562b21",
        "data_fingerprint": "sha256:64c75d3ff4745e105540d183ce3960591e992f05c04b6d0303c84debef109298",
        "files": [
          {
            "role": "market_data",
            "name": "market_data_sessionized.csv",
            "path": "external_strategies/backtest_data/mw_coinbase_btc_spot_daily_v1/market_data_sessionized.csv",
            "sha256": "sha256:64c75d3ff4745e105540d183ce3960591e992f05c04b6d0303c84debef109298",
            "bytes": 24389,
            "download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/market_data_sessionized.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/market_data_sessionized.csv"
          },
          {
            "role": "cost_model",
            "name": "execution_cost_assumptions.csv",
            "path": "external_strategies/backtest_data/mw_coinbase_btc_spot_daily_v1/execution_cost_assumptions.csv",
            "sha256": "sha256:05d4bd06c545107747a63f6c6fa369ddf26b805c1c2e7abc0c7afc9170562b21",
            "bytes": 230,
            "download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/execution_cost_assumptions.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/execution_cost_assumptions.csv"
          }
        ],
        "manifest_hash": "sha256:5d08eea154caebd43602e8ebacaa67719c7fc5e9eaabf0ae22a158528fa726f2",
        "manifest_release_status": "released",
        "manifest_matches_files": true,
        "computed_manifest_hash": "sha256:5d08eea154caebd43602e8ebacaa67719c7fc5e9eaabf0ae22a158528fa726f2",
        "manifest_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/manifest.json",
        "static_manifest_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/manifest.json"
      },
      {
        "dataset_id": "mw_kraken_btc_spot_perp_daily_v1",
        "provider": "marketworld",
        "status": "approved",
        "label": "MarketWorld Kraken BTC spot/futures daily v1",
        "description": "Kraken spot public OHLC and Kraken Futures BTC perpetual public daily chart data.",
        "venue_package": "KRAKEN",
        "venue_capability": "spot_perp_same_brand",
        "source_policy_id": "marketworld_public_rest_history_v1",
        "venue_policy_id": "marketworld_venue_locked_v1",
        "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
        "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
        "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
        "instrument_sources": {
          "KRAKEN_SPOT_BTC": {
            "execution_venue": "KRAKEN",
            "data_provider": "kraken_spot",
            "venue_symbol": "XBTUSD",
            "market_type": "crypto_spot",
            "source_role": "spot",
            "dataset_source": "kraken_spot_public_ohlc",
            "live_source": "Kraken public spot OHLC"
          },
          "KRAKEN_PERP_BTC": {
            "execution_venue": "KRAKEN_FUTURES",
            "data_provider": "kraken_futures",
            "venue_symbol": "PF_XBTUSD",
            "market_type": "crypto_perp",
            "source_role": "perpetual_swap",
            "dataset_source": "kraken_futures_public_charts",
            "live_source": "Kraken Futures public charts"
          }
        },
        "venue_pairs": [
          {
            "venue_pair_id": "kraken_btc_spot_perp",
            "scope": "same_brand",
            "basis_type": "spot_perp",
            "underlying": "BTC",
            "execution_venues": [
              "KRAKEN",
              "KRAKEN_FUTURES"
            ],
            "allow_cross_venue_basis": false,
            "legs": [
              {
                "role": "spot",
                "instrument": "KRAKEN_SPOT_BTC",
                "execution_venue": "KRAKEN",
                "data_provider": "kraken_spot",
                "venue_symbol": "XBTUSD"
              },
              {
                "role": "perpetual_swap",
                "instrument": "KRAKEN_PERP_BTC",
                "execution_venue": "KRAKEN_FUTURES",
                "data_provider": "kraken_futures",
                "venue_symbol": "PF_XBTUSD"
              }
            ],
            "notes": "Same brand, separate spot and futures venues. Cost model includes additional routing/slippage reserve."
          }
        ],
        "cost_model_id": "mw_cost_kraken_btc_spot_perp_v1",
        "source_references": [
          "https://docs.kraken.com/api/docs/rest-api/get-ohlc-data/",
          "https://docs.kraken.com/api/docs/futures-api/trading/charts/"
        ],
        "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
        "generated_at": "2026-06-27T05:29:33+00:00",
        "period": {
          "start": "2026-03-29",
          "end": "2026-06-26",
          "timezone": "UTC"
        },
        "granularity": [
          "daily"
        ],
        "instruments": [
          "KRAKEN_PERP_BTC",
          "KRAKEN_SPOT_BTC"
        ],
        "sources": [
          "kraken_futures_public_charts",
          "kraken_spot_public_ohlc"
        ],
        "rows": 180,
        "cost_model_hash": "sha256:86c3f00b2ed5de980fc500ae52e341a4afcc63c72503c025f736825c87c1ee78",
        "data_fingerprint": "sha256:bd718453793961f3b52f46c07f4256e8ff42439febcc3f79e0fe3c018b108181",
        "files": [
          {
            "role": "market_data",
            "name": "market_data_sessionized.csv",
            "path": "external_strategies/backtest_data/mw_kraken_btc_spot_perp_daily_v1/market_data_sessionized.csv",
            "sha256": "sha256:bd718453793961f3b52f46c07f4256e8ff42439febcc3f79e0fe3c018b108181",
            "bytes": 45270,
            "download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/market_data_sessionized.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/market_data_sessionized.csv"
          },
          {
            "role": "cost_model",
            "name": "execution_cost_assumptions.csv",
            "path": "external_strategies/backtest_data/mw_kraken_btc_spot_perp_daily_v1/execution_cost_assumptions.csv",
            "sha256": "sha256:86c3f00b2ed5de980fc500ae52e341a4afcc63c72503c025f736825c87c1ee78",
            "bytes": 321,
            "download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv"
          }
        ],
        "manifest_hash": "sha256:8ba4fd9adbb82cac7e0fb869d381135098b1b112d23030f0094b1dffa27d3e2d",
        "manifest_release_status": "released",
        "manifest_matches_files": true,
        "computed_manifest_hash": "sha256:8ba4fd9adbb82cac7e0fb869d381135098b1b112d23030f0094b1dffa27d3e2d",
        "manifest_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/manifest.json",
        "static_manifest_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/manifest.json"
      },
      {
        "dataset_id": "mw_kraken_spot_okx_perp_btc_daily_v1",
        "provider": "marketworld",
        "status": "approved",
        "label": "MarketWorld Kraken spot / OKX perp BTC daily v1",
        "description": "Cross-venue BTC basis package using Kraken XBTUSD spot and OKX BTC-USDT-SWAP perpetual daily bars.",
        "venue_package": "KRAKEN_OKX",
        "venue_capability": "cross_venue_spot_perp",
        "source_policy_id": "marketworld_public_rest_history_v1",
        "venue_policy_id": "marketworld_venue_locked_v1",
        "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
        "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。跨场所策略必须使用 MarketWorld 单独发布的 cross_venue 数据包。",
        "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
        "timestamp_alignment": {
          "policy_id": "marketworld_cross_venue_utc_daily_close_v1",
          "alignment_key": "timestamp",
          "timezone": "UTC",
          "granularity": "daily",
          "bar_close": "00:00:00+00:00",
          "method": "inner_join_on_common_closed_daily_timestamps",
          "required_legs_per_timestamp": [
            "KRAKEN_SPOT_BTC",
            "OKX_PERP_BTC"
          ],
          "max_allowed_lag_seconds": 0,
          "missing_leg_policy": "reject_dataset",
          "notes": "Cross-venue packages are aligned on common closed UTC daily timestamps before release. Intraday/tick arbitrage requires a separate intraday/tick package."
        },
        "instrument_sources": {
          "KRAKEN_SPOT_BTC": {
            "execution_venue": "KRAKEN",
            "data_provider": "kraken_spot",
            "venue_symbol": "XBTUSD",
            "market_type": "crypto_spot",
            "source_role": "spot",
            "dataset_source": "kraken_spot_public_ohlc",
            "live_source": "Kraken public spot OHLC"
          },
          "OKX_PERP_BTC": {
            "execution_venue": "OKX",
            "data_provider": "okx_swap",
            "venue_symbol": "BTC-USDT-SWAP",
            "market_type": "crypto_perp",
            "source_role": "perpetual_swap",
            "dataset_source": "okx_public_rest_history",
            "live_source": "OKX public swap"
          }
        },
        "venue_pairs": [
          {
            "venue_pair_id": "kraken_spot_okx_perp_btc",
            "scope": "cross_venue",
            "basis_type": "spot_perp",
            "underlying": "BTC",
            "execution_venues": [
              "KRAKEN",
              "OKX"
            ],
            "allow_cross_venue_basis": true,
            "legs": [
              {
                "role": "spot",
                "instrument": "KRAKEN_SPOT_BTC",
                "execution_venue": "KRAKEN",
                "data_provider": "kraken_spot",
                "venue_symbol": "XBTUSD"
              },
              {
                "role": "perpetual_swap",
                "instrument": "OKX_PERP_BTC",
                "execution_venue": "OKX",
                "data_provider": "okx_swap",
                "venue_symbol": "BTC-USDT-SWAP"
              }
            ],
            "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
          }
        ],
        "cost_model_id": "mw_cost_kraken_spot_okx_perp_btc_v1",
        "source_references": [
          "https://docs.kraken.com/api/docs/rest-api/get-ohlc-data/",
          "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history"
        ],
        "generated_by": "scripts/generate_cross_venue_backtest_packages.py",
        "generated_at": "2026-06-29T04:42:12+00:00",
        "period": {
          "start": "2026-03-29",
          "end": "2026-06-26",
          "timezone": "UTC"
        },
        "granularity": [
          "daily"
        ],
        "instruments": [
          "KRAKEN_SPOT_BTC",
          "OKX_PERP_BTC"
        ],
        "sources": [
          "kraken_spot_public_ohlc",
          "okx_public_rest_history"
        ],
        "rows": 180,
        "cost_model_hash": "sha256:2c801015e7b98eaf97611f9ca7273be124708004ad690ed3aec68c8ce53f4c5b",
        "data_fingerprint": "sha256:270bed2b896e7c82db7cdd070d6bcfb9f59735d7b2e5e2eb3e3b58033ea1d233",
        "files": [
          {
            "role": "market_data",
            "name": "market_data_sessionized.csv",
            "path": "external_strategies/backtest_data/mw_kraken_spot_okx_perp_btc_daily_v1/market_data_sessionized.csv",
            "sha256": "sha256:270bed2b896e7c82db7cdd070d6bcfb9f59735d7b2e5e2eb3e3b58033ea1d233",
            "bytes": 45484,
            "download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/market_data_sessionized.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/market_data_sessionized.csv"
          },
          {
            "role": "cost_model",
            "name": "execution_cost_assumptions.csv",
            "path": "external_strategies/backtest_data/mw_kraken_spot_okx_perp_btc_daily_v1/execution_cost_assumptions.csv",
            "sha256": "sha256:2c801015e7b98eaf97611f9ca7273be124708004ad690ed3aec68c8ce53f4c5b",
            "bytes": 316,
            "download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/execution_cost_assumptions.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/execution_cost_assumptions.csv"
          }
        ],
        "manifest_hash": "sha256:c8b68fd7a76d852631330a244798344fdd60c69e3d3506ef9a352519c32f8303",
        "manifest_release_status": "released",
        "manifest_matches_files": true,
        "computed_manifest_hash": "sha256:c8b68fd7a76d852631330a244798344fdd60c69e3d3506ef9a352519c32f8303",
        "manifest_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/manifest.json",
        "static_manifest_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/manifest.json"
      },
      {
        "dataset_id": "mw_okx_btc_spot_perp_daily_v1",
        "provider": "marketworld",
        "status": "approved",
        "label": "MarketWorld OKX BTC spot/perp daily v1",
        "description": "OKX public REST daily candles for BTC-USDT spot and BTC-USDT-SWAP perpetual swap.",
        "venue_package": "OKX",
        "venue_capability": "spot_perp",
        "source_policy_id": "marketworld_public_rest_history_v1",
        "venue_policy_id": "marketworld_venue_locked_v1",
        "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
        "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
        "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
        "instrument_sources": {
          "SPOT_BTC": {
            "execution_venue": "OKX",
            "data_provider": "okx_spot",
            "venue_symbol": "BTC-USDT",
            "market_type": "crypto_spot",
            "source_role": "spot",
            "dataset_source": "okx_public_rest_history",
            "live_source": "OKX public spot"
          },
          "PERP_BTC": {
            "execution_venue": "OKX",
            "data_provider": "okx_swap",
            "venue_symbol": "BTC-USDT-SWAP",
            "market_type": "crypto_perp",
            "source_role": "perpetual_swap",
            "dataset_source": "okx_public_rest_history",
            "live_source": "OKX public swap"
          }
        },
        "venue_pairs": [
          {
            "venue_pair_id": "okx_btc_spot_perp",
            "scope": "same_venue",
            "basis_type": "spot_perp",
            "underlying": "BTC",
            "execution_venues": [
              "OKX"
            ],
            "allow_cross_venue_basis": false,
            "legs": [
              {
                "role": "spot",
                "instrument": "SPOT_BTC",
                "execution_venue": "OKX",
                "data_provider": "okx_spot",
                "venue_symbol": "BTC-USDT"
              },
              {
                "role": "perpetual_swap",
                "instrument": "PERP_BTC",
                "execution_venue": "OKX",
                "data_provider": "okx_swap",
                "venue_symbol": "BTC-USDT-SWAP"
              }
            ],
            "notes": "Same OKX venue family. Cross-exchange basis must use a separate official dataset and venue_pair_id."
          }
        ],
        "cost_model_id": "mw_cost_okx_btc_spot_perp_v1",
        "source_references": [
          "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history"
        ],
        "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
        "generated_at": "2026-06-27T05:27:39+00:00",
        "period": {
          "start": "2026-03-29",
          "end": "2026-06-26",
          "timezone": "UTC"
        },
        "granularity": [
          "daily"
        ],
        "instruments": [
          "PERP_BTC",
          "SPOT_BTC"
        ],
        "sources": [
          "okx_public_rest_history"
        ],
        "rows": 180,
        "cost_model_hash": "sha256:3e1965e39747bd707e39a7a8bb259257d4816e5c9d1684a96588786d52b20a32",
        "data_fingerprint": "sha256:6b3c694c1113d67af7d6264f1476acb43a0db7451759bf1b583f276b93a6f530",
        "files": [
          {
            "role": "market_data",
            "name": "market_data_sessionized.csv",
            "path": "external_strategies/backtest_data/mw_okx_btc_spot_perp_daily_v1/market_data_sessionized.csv",
            "sha256": "sha256:6b3c694c1113d67af7d6264f1476acb43a0db7451759bf1b583f276b93a6f530",
            "bytes": 44558,
            "download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/market_data_sessionized.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/market_data_sessionized.csv"
          },
          {
            "role": "cost_model",
            "name": "execution_cost_assumptions.csv",
            "path": "external_strategies/backtest_data/mw_okx_btc_spot_perp_daily_v1/execution_cost_assumptions.csv",
            "sha256": "sha256:3e1965e39747bd707e39a7a8bb259257d4816e5c9d1684a96588786d52b20a32",
            "bytes": 315,
            "download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv"
          }
        ],
        "manifest_hash": "sha256:00c026502384cc22ca40c87ea854bc182ff0c978bf6888619415a1139ac1e644",
        "manifest_release_status": "released",
        "manifest_matches_files": true,
        "computed_manifest_hash": "sha256:00c026502384cc22ca40c87ea854bc182ff0c978bf6888619415a1139ac1e644",
        "manifest_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/manifest.json",
        "static_manifest_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/manifest.json"
      },
      {
        "dataset_id": "mw_okx_spot_kraken_perp_btc_daily_v1",
        "provider": "marketworld",
        "status": "approved",
        "label": "MarketWorld OKX spot / Kraken perp BTC daily v1",
        "description": "Cross-venue BTC basis package using OKX BTC-USDT spot and Kraken Futures PF_XBTUSD perpetual daily bars.",
        "venue_package": "OKX_KRAKEN",
        "venue_capability": "cross_venue_spot_perp",
        "source_policy_id": "marketworld_public_rest_history_v1",
        "venue_policy_id": "marketworld_venue_locked_v1",
        "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
        "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。跨场所策略必须使用 MarketWorld 单独发布的 cross_venue 数据包。",
        "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
        "timestamp_alignment": {
          "policy_id": "marketworld_cross_venue_utc_daily_close_v1",
          "alignment_key": "timestamp",
          "timezone": "UTC",
          "granularity": "daily",
          "bar_close": "00:00:00+00:00",
          "method": "inner_join_on_common_closed_daily_timestamps",
          "required_legs_per_timestamp": [
            "OKX_SPOT_BTC",
            "KRAKEN_PERP_BTC"
          ],
          "max_allowed_lag_seconds": 0,
          "missing_leg_policy": "reject_dataset",
          "notes": "Cross-venue packages are aligned on common closed UTC daily timestamps before release. Intraday/tick arbitrage requires a separate intraday/tick package."
        },
        "instrument_sources": {
          "OKX_SPOT_BTC": {
            "execution_venue": "OKX",
            "data_provider": "okx_spot",
            "venue_symbol": "BTC-USDT",
            "market_type": "crypto_spot",
            "source_role": "spot",
            "dataset_source": "okx_public_rest_history",
            "live_source": "OKX public spot"
          },
          "KRAKEN_PERP_BTC": {
            "execution_venue": "KRAKEN_FUTURES",
            "data_provider": "kraken_futures",
            "venue_symbol": "PF_XBTUSD",
            "market_type": "crypto_perp",
            "source_role": "perpetual_swap",
            "dataset_source": "kraken_futures_public_charts",
            "live_source": "Kraken Futures public charts"
          }
        },
        "venue_pairs": [
          {
            "venue_pair_id": "okx_spot_kraken_perp_btc",
            "scope": "cross_venue",
            "basis_type": "spot_perp",
            "underlying": "BTC",
            "execution_venues": [
              "OKX",
              "KRAKEN_FUTURES"
            ],
            "allow_cross_venue_basis": true,
            "legs": [
              {
                "role": "spot",
                "instrument": "OKX_SPOT_BTC",
                "execution_venue": "OKX",
                "data_provider": "okx_spot",
                "venue_symbol": "BTC-USDT"
              },
              {
                "role": "perpetual_swap",
                "instrument": "KRAKEN_PERP_BTC",
                "execution_venue": "KRAKEN_FUTURES",
                "data_provider": "kraken_futures",
                "venue_symbol": "PF_XBTUSD"
              }
            ],
            "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
          }
        ],
        "cost_model_id": "mw_cost_okx_spot_kraken_perp_btc_v1",
        "source_references": [
          "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history",
          "https://docs.kraken.com/api/docs/futures-api/trading/charts/"
        ],
        "generated_by": "scripts/generate_cross_venue_backtest_packages.py",
        "generated_at": "2026-06-29T04:42:12+00:00",
        "period": {
          "start": "2026-03-29",
          "end": "2026-06-26",
          "timezone": "UTC"
        },
        "granularity": [
          "daily"
        ],
        "instruments": [
          "KRAKEN_PERP_BTC",
          "OKX_SPOT_BTC"
        ],
        "sources": [
          "kraken_futures_public_charts",
          "okx_public_rest_history"
        ],
        "rows": 180,
        "cost_model_hash": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
        "data_fingerprint": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
        "files": [
          {
            "role": "market_data",
            "name": "market_data_sessionized.csv",
            "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/market_data_sessionized.csv",
            "sha256": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
            "bytes": 45064,
            "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv"
          },
          {
            "role": "cost_model",
            "name": "execution_cost_assumptions.csv",
            "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/execution_cost_assumptions.csv",
            "sha256": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
            "bytes": 325,
            "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv"
          }
        ],
        "manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
        "manifest_release_status": "released",
        "manifest_matches_files": true,
        "computed_manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
        "manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json",
        "static_manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json"
      },
      {
        "dataset_id": "mw_sessionized_daily_sample_v1",
        "provider": "marketworld",
        "status": "approved",
        "label": "MarketWorld sessionized daily sample v1",
        "description": "MarketWorld 发布的版本化历史回测数据包；用户在本地下载后回测，提交时必须引用同一哈希。",
        "source_policy_id": "marketworld_official_history_v1",
        "venue_policy_id": "marketworld_venue_locked_v1",
        "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
        "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所期现与跨场所期现不得混用。",
        "anti_lookahead_policy": "数据包按 timestamp/source_session 固化；回测不得读取当前 bar 之后的数据。",
        "instrument_sources": {
          "SPOT_BTC": {
            "execution_venue": "OKX",
            "data_provider": "okx_spot",
            "venue_symbol": "BTC-USDT",
            "market_type": "crypto_spot",
            "source_role": "spot",
            "dataset_source": "sample_raw",
            "live_source": "OKX public spot",
            "notes": "Live/paper trading anchor is OKX BTC-USDT spot. This sample dataset still stores rows as sample_raw."
          },
          "PERP_BTC": {
            "execution_venue": "OKX",
            "data_provider": "okx_swap",
            "venue_symbol": "BTC-USDT-SWAP",
            "market_type": "crypto_perp",
            "source_role": "perpetual_swap",
            "dataset_source": "sample_raw",
            "live_source": "OKX public swap",
            "notes": "Live/paper trading anchor is OKX BTC-USDT-SWAP. Binance USD-M is backup-only unless a separate dataset says so."
          },
          "FUT_IF": {
            "execution_venue": "CFFEX_SIM",
            "data_provider": "marketworld_sample_cn_future",
            "venue_symbol": "IF",
            "market_type": "index_future",
            "source_role": "future",
            "dataset_source": "sample_raw",
            "live_source": "research/sample"
          },
          "ETF_CSI300": {
            "execution_venue": "CN_ETF_SIM",
            "data_provider": "marketworld_sample_cn_cash",
            "venue_symbol": "ETF_CSI300",
            "market_type": "etf",
            "source_role": "cash",
            "dataset_source": "sample_raw",
            "live_source": "research/sample"
          },
          "IDX_CSI300": {
            "execution_venue": "INDEX_ONLY",
            "data_provider": "marketworld_sample_index",
            "venue_symbol": "CSI300",
            "market_type": "spot_index",
            "source_role": "benchmark",
            "dataset_source": "sample_raw",
            "live_source": "research/sample"
          },
          "IDX_NDX": {
            "execution_venue": "INDEX_ONLY",
            "data_provider": "marketworld_sample_index",
            "venue_symbol": "NDX",
            "market_type": "spot_index",
            "source_role": "benchmark",
            "dataset_source": "sample_raw",
            "live_source": "research/sample"
          },
          "OPT_CSI300_ETF": {
            "execution_venue": "CN_OPTION_SIM",
            "data_provider": "marketworld_sample_cn_option",
            "venue_symbol": "OPT_CSI300_ETF",
            "market_type": "option",
            "source_role": "option",
            "dataset_source": "sample_raw",
            "live_source": "research/sample"
          }
        },
        "venue_pairs": [
          {
            "venue_pair_id": "okx_btc_spot_perp",
            "scope": "same_venue",
            "basis_type": "spot_perp",
            "underlying": "BTC",
            "execution_venues": [
              "OKX"
            ],
            "allow_cross_venue_basis": false,
            "legs": [
              {
                "role": "spot",
                "instrument": "SPOT_BTC",
                "execution_venue": "OKX",
                "data_provider": "okx_spot",
                "venue_symbol": "BTC-USDT"
              },
              {
                "role": "perpetual_swap",
                "instrument": "PERP_BTC",
                "execution_venue": "OKX",
                "data_provider": "okx_swap",
                "venue_symbol": "BTC-USDT-SWAP"
              }
            ],
            "notes": "BTC same-venue spot/perp basis. Cross-exchange basis must use a separate official dataset and venue_pair_id."
          }
        ],
        "cost_model_id": "mw_cost_policy_2026_06_10",
        "period": {
          "start": "2026-05-01",
          "end": "2026-05-09",
          "timezone": "mixed_exchange_timezones"
        },
        "granularity": [
          "daily"
        ],
        "instruments": [
          "ETF_CSI300",
          "FUT_IF",
          "IDX_CSI300",
          "IDX_NDX",
          "OPT_CSI300_ETF",
          "PERP_BTC",
          "SPOT_BTC"
        ],
        "sources": [
          "sample_raw"
        ],
        "rows": 63,
        "cost_model_hash": "sha256:ef56026f05cd2e9622e9895f62868763d338cce38f6135d7b9a050a89b827a6e",
        "data_fingerprint": "sha256:f468d23bafd756922df12e367c874693a6b25f6dd78d2050624b0696c8048b2b",
        "files": [
          {
            "role": "market_data",
            "name": "market_data_sessionized.csv",
            "path": "external_strategies/backtest_data/mw_sessionized_daily_sample_v1/market_data_sessionized.csv",
            "sha256": "sha256:f468d23bafd756922df12e367c874693a6b25f6dd78d2050624b0696c8048b2b",
            "bytes": 15993,
            "download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/market_data_sessionized.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/market_data_sessionized.csv"
          },
          {
            "role": "cost_model",
            "name": "execution_cost_assumptions.csv",
            "path": "external_strategies/backtest_data/mw_sessionized_daily_sample_v1/execution_cost_assumptions.csv",
            "sha256": "sha256:ef56026f05cd2e9622e9895f62868763d338cce38f6135d7b9a050a89b827a6e",
            "bytes": 1954,
            "download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/execution_cost_assumptions.csv",
            "static_download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/execution_cost_assumptions.csv"
          }
        ],
        "manifest_hash": "sha256:d25ca7364b416336e5eb41435e932b8583bfd6c23f7856635ff412c7fb8d4172",
        "manifest_release_status": "released",
        "manifest_matches_files": true,
        "computed_manifest_hash": "sha256:d25ca7364b416336e5eb41435e932b8583bfd6c23f7856635ff412c7fb8d4172",
        "manifest_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/manifest.json",
        "static_manifest_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/manifest.json"
      }
    ],
    "minimums": {
      "trade_count": 30,
      "active_days": 5,
      "slices": 3,
      "passing_slice_ratio": 0.6,
      "profit_factor": 1.05,
      "sharpe": 0.0,
      "net_return_after_cost_bps": 0.0
    },
    "maximums": {
      "max_drawdown_pct": 25.0,
      "slice_max_drawdown_pct": 35.0
    },
    "required_attestation": [
      "no_lookahead",
      "no_survivorship_bias",
      "costs_included",
      "client_side_compute",
      "marketworld_dataset_used",
      "venue_locked_data"
    ],
    "required_fields": [
      "schema",
      "run_id",
      "run_mode",
      "computed_by",
      "dataset.provider",
      "dataset.dataset_id",
      "dataset.data_fingerprint",
      "dataset.manifest_hash",
      "dataset.source_policy_id",
      "dataset.venue_policy_id",
      "dataset.venue_pair_id",
      "dataset.venue_bindings",
      "dataset.granularity",
      "period.start",
      "period.end",
      "data_fingerprint",
      "cost_model.model_id",
      "cost_model.hash",
      "attestation",
      "public_score.scorer_id",
      "public_score.score",
      "public_score.threshold",
      "public_score.passed",
      "public_score.score_report_json_sha256",
      "runner.runner_id",
      "runner.runner_sha256",
      "artifact_hashes",
      "commitments.opaque_feature_commitment_hash",
      "commitments.strategy_source_sha256",
      "venue_policy"
    ],
    "required_artifact_hashes": [
      "summary_json_sha256",
      "trades_csv_sha256",
      "equity_curve_csv_sha256",
      "slice_report_json_sha256",
      "score_report_json_sha256",
      "config_json_sha256",
      "artifact_manifest_sha256"
    ],
    "required_commitment_hashes": [
      "opaque_feature_commitment_hash",
      "strategy_source_sha256"
    ],
    "private_review": {
      "enabled_hash_commitments_enter_candidates_only_after_private_review": true,
      "approval_registry": "private",
      "commitment_id_rule": "MarketWorld recomputes the canonical commitment id from dataset/cost/artifact/opaque feature hashes."
    },
    "static_publish": true,
    "server_backtest_compute": false
  },
  "backtest_datasets": [
    {
      "dataset_id": "mw_binanceus_btc_spot_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Binance.US BTC spot daily v1",
      "description": "Binance.US public daily klines for BTCUSDT spot. No same-venue perpetual leg is published in this package.",
      "venue_package": "BINANCE_US",
      "venue_capability": "spot_only",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "BINANCEUS_SPOT_BTC": {
          "execution_venue": "BINANCE_US",
          "data_provider": "binance_us_spot",
          "venue_symbol": "BTCUSDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "binanceus_spot_public_klines",
          "live_source": "Binance.US public klines"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "binanceus_btc_spot_only",
          "scope": "spot_only",
          "basis_type": "spot_reference",
          "underlying": "BTC",
          "execution_venues": [
            "BINANCE_US"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "BINANCEUS_SPOT_BTC",
              "execution_venue": "BINANCE_US",
              "data_provider": "binance_us_spot",
              "venue_symbol": "BTCUSDT"
            }
          ],
          "notes": "Spot-only venue package. Binance.US spot is not a same-venue perpetual package."
        }
      ],
      "cost_model_id": "mw_cost_binanceus_btc_spot_v1",
      "source_references": [
        "https://docs.binance.us/#kline-candlestick-data"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:26:08+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "BINANCEUS_SPOT_BTC"
      ],
      "sources": [
        "binanceus_spot_public_klines"
      ],
      "rows": 90,
      "cost_model_hash": "sha256:c814f225c3830bafb22cd9063d2ed69ce4bce71b4ba0666b1820cbc2127a580b",
      "data_fingerprint": "sha256:13bb3a0da4f422700146246d3d543c2ddeb02690f67929b8ead8eb87776f116a",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_binanceus_btc_spot_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:13bb3a0da4f422700146246d3d543c2ddeb02690f67929b8ead8eb87776f116a",
          "bytes": 23674,
          "download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_binanceus_btc_spot_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:c814f225c3830bafb22cd9063d2ed69ce4bce71b4ba0666b1820cbc2127a580b",
          "bytes": 232,
          "download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:784d8a42c2311f7dee1dc6cd23bb88babee6c8210a3ac56c57ef7af07ebed8ee",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:784d8a42c2311f7dee1dc6cd23bb88babee6c8210a3ac56c57ef7af07ebed8ee",
      "manifest_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_coinbase_btc_spot_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Coinbase BTC spot daily v1",
      "description": "Coinbase Exchange public daily candles for BTC-USD spot. No same-venue perpetual leg is published in this package.",
      "venue_package": "COINBASE",
      "venue_capability": "spot_only",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "COINBASE_SPOT_BTC": {
          "execution_venue": "COINBASE",
          "data_provider": "coinbase_exchange",
          "venue_symbol": "BTC-USD",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "coinbase_exchange_public_rest",
          "live_source": "Coinbase Exchange public candles"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "coinbase_btc_spot_only",
          "scope": "spot_only",
          "basis_type": "spot_reference",
          "underlying": "BTC",
          "execution_venues": [
            "COINBASE"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "COINBASE_SPOT_BTC",
              "execution_venue": "COINBASE",
              "data_provider": "coinbase_exchange",
              "venue_symbol": "BTC-USD"
            }
          ],
          "notes": "Spot-only venue package. Do not use it to claim same-venue spot/perp carry."
        }
      ],
      "cost_model_id": "mw_cost_coinbase_btc_spot_v1",
      "source_references": [
        "https://docs.cdp.coinbase.com/exchange/reference/exchangerestapi_getproductcandles"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:26:30+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "COINBASE_SPOT_BTC"
      ],
      "sources": [
        "coinbase_exchange_public_rest"
      ],
      "rows": 90,
      "cost_model_hash": "sha256:05d4bd06c545107747a63f6c6fa369ddf26b805c1c2e7abc0c7afc9170562b21",
      "data_fingerprint": "sha256:64c75d3ff4745e105540d183ce3960591e992f05c04b6d0303c84debef109298",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_coinbase_btc_spot_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:64c75d3ff4745e105540d183ce3960591e992f05c04b6d0303c84debef109298",
          "bytes": 24389,
          "download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_coinbase_btc_spot_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:05d4bd06c545107747a63f6c6fa369ddf26b805c1c2e7abc0c7afc9170562b21",
          "bytes": 230,
          "download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:5d08eea154caebd43602e8ebacaa67719c7fc5e9eaabf0ae22a158528fa726f2",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:5d08eea154caebd43602e8ebacaa67719c7fc5e9eaabf0ae22a158528fa726f2",
      "manifest_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_kraken_btc_spot_perp_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Kraken BTC spot/futures daily v1",
      "description": "Kraken spot public OHLC and Kraken Futures BTC perpetual public daily chart data.",
      "venue_package": "KRAKEN",
      "venue_capability": "spot_perp_same_brand",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "KRAKEN_SPOT_BTC": {
          "execution_venue": "KRAKEN",
          "data_provider": "kraken_spot",
          "venue_symbol": "XBTUSD",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "kraken_spot_public_ohlc",
          "live_source": "Kraken public spot OHLC"
        },
        "KRAKEN_PERP_BTC": {
          "execution_venue": "KRAKEN_FUTURES",
          "data_provider": "kraken_futures",
          "venue_symbol": "PF_XBTUSD",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "kraken_futures_public_charts",
          "live_source": "Kraken Futures public charts"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "kraken_btc_spot_perp",
          "scope": "same_brand",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "KRAKEN",
            "KRAKEN_FUTURES"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "KRAKEN_SPOT_BTC",
              "execution_venue": "KRAKEN",
              "data_provider": "kraken_spot",
              "venue_symbol": "XBTUSD"
            },
            {
              "role": "perpetual_swap",
              "instrument": "KRAKEN_PERP_BTC",
              "execution_venue": "KRAKEN_FUTURES",
              "data_provider": "kraken_futures",
              "venue_symbol": "PF_XBTUSD"
            }
          ],
          "notes": "Same brand, separate spot and futures venues. Cost model includes additional routing/slippage reserve."
        }
      ],
      "cost_model_id": "mw_cost_kraken_btc_spot_perp_v1",
      "source_references": [
        "https://docs.kraken.com/api/docs/rest-api/get-ohlc-data/",
        "https://docs.kraken.com/api/docs/futures-api/trading/charts/"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:29:33+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "KRAKEN_PERP_BTC",
        "KRAKEN_SPOT_BTC"
      ],
      "sources": [
        "kraken_futures_public_charts",
        "kraken_spot_public_ohlc"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:86c3f00b2ed5de980fc500ae52e341a4afcc63c72503c025f736825c87c1ee78",
      "data_fingerprint": "sha256:bd718453793961f3b52f46c07f4256e8ff42439febcc3f79e0fe3c018b108181",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_kraken_btc_spot_perp_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:bd718453793961f3b52f46c07f4256e8ff42439febcc3f79e0fe3c018b108181",
          "bytes": 45270,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_kraken_btc_spot_perp_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:86c3f00b2ed5de980fc500ae52e341a4afcc63c72503c025f736825c87c1ee78",
          "bytes": 321,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:8ba4fd9adbb82cac7e0fb869d381135098b1b112d23030f0094b1dffa27d3e2d",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:8ba4fd9adbb82cac7e0fb869d381135098b1b112d23030f0094b1dffa27d3e2d",
      "manifest_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_kraken_spot_okx_perp_btc_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Kraken spot / OKX perp BTC daily v1",
      "description": "Cross-venue BTC basis package using Kraken XBTUSD spot and OKX BTC-USDT-SWAP perpetual daily bars.",
      "venue_package": "KRAKEN_OKX",
      "venue_capability": "cross_venue_spot_perp",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。跨场所策略必须使用 MarketWorld 单独发布的 cross_venue 数据包。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "timestamp_alignment": {
        "policy_id": "marketworld_cross_venue_utc_daily_close_v1",
        "alignment_key": "timestamp",
        "timezone": "UTC",
        "granularity": "daily",
        "bar_close": "00:00:00+00:00",
        "method": "inner_join_on_common_closed_daily_timestamps",
        "required_legs_per_timestamp": [
          "KRAKEN_SPOT_BTC",
          "OKX_PERP_BTC"
        ],
        "max_allowed_lag_seconds": 0,
        "missing_leg_policy": "reject_dataset",
        "notes": "Cross-venue packages are aligned on common closed UTC daily timestamps before release. Intraday/tick arbitrage requires a separate intraday/tick package."
      },
      "instrument_sources": {
        "KRAKEN_SPOT_BTC": {
          "execution_venue": "KRAKEN",
          "data_provider": "kraken_spot",
          "venue_symbol": "XBTUSD",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "kraken_spot_public_ohlc",
          "live_source": "Kraken public spot OHLC"
        },
        "OKX_PERP_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_swap",
          "venue_symbol": "BTC-USDT-SWAP",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public swap"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "kraken_spot_okx_perp_btc",
          "scope": "cross_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "KRAKEN",
            "OKX"
          ],
          "allow_cross_venue_basis": true,
          "legs": [
            {
              "role": "spot",
              "instrument": "KRAKEN_SPOT_BTC",
              "execution_venue": "KRAKEN",
              "data_provider": "kraken_spot",
              "venue_symbol": "XBTUSD"
            },
            {
              "role": "perpetual_swap",
              "instrument": "OKX_PERP_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_swap",
              "venue_symbol": "BTC-USDT-SWAP"
            }
          ],
          "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
        }
      ],
      "cost_model_id": "mw_cost_kraken_spot_okx_perp_btc_v1",
      "source_references": [
        "https://docs.kraken.com/api/docs/rest-api/get-ohlc-data/",
        "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history"
      ],
      "generated_by": "scripts/generate_cross_venue_backtest_packages.py",
      "generated_at": "2026-06-29T04:42:12+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "KRAKEN_SPOT_BTC",
        "OKX_PERP_BTC"
      ],
      "sources": [
        "kraken_spot_public_ohlc",
        "okx_public_rest_history"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:2c801015e7b98eaf97611f9ca7273be124708004ad690ed3aec68c8ce53f4c5b",
      "data_fingerprint": "sha256:270bed2b896e7c82db7cdd070d6bcfb9f59735d7b2e5e2eb3e3b58033ea1d233",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_kraken_spot_okx_perp_btc_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:270bed2b896e7c82db7cdd070d6bcfb9f59735d7b2e5e2eb3e3b58033ea1d233",
          "bytes": 45484,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_kraken_spot_okx_perp_btc_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:2c801015e7b98eaf97611f9ca7273be124708004ad690ed3aec68c8ce53f4c5b",
          "bytes": 316,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:c8b68fd7a76d852631330a244798344fdd60c69e3d3506ef9a352519c32f8303",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:c8b68fd7a76d852631330a244798344fdd60c69e3d3506ef9a352519c32f8303",
      "manifest_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_okx_btc_spot_perp_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld OKX BTC spot/perp daily v1",
      "description": "OKX public REST daily candles for BTC-USDT spot and BTC-USDT-SWAP perpetual swap.",
      "venue_package": "OKX",
      "venue_capability": "spot_perp",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "SPOT_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_spot",
          "venue_symbol": "BTC-USDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public spot"
        },
        "PERP_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_swap",
          "venue_symbol": "BTC-USDT-SWAP",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public swap"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "okx_btc_spot_perp",
          "scope": "same_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "OKX"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "SPOT_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_spot",
              "venue_symbol": "BTC-USDT"
            },
            {
              "role": "perpetual_swap",
              "instrument": "PERP_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_swap",
              "venue_symbol": "BTC-USDT-SWAP"
            }
          ],
          "notes": "Same OKX venue family. Cross-exchange basis must use a separate official dataset and venue_pair_id."
        }
      ],
      "cost_model_id": "mw_cost_okx_btc_spot_perp_v1",
      "source_references": [
        "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:27:39+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "PERP_BTC",
        "SPOT_BTC"
      ],
      "sources": [
        "okx_public_rest_history"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:3e1965e39747bd707e39a7a8bb259257d4816e5c9d1684a96588786d52b20a32",
      "data_fingerprint": "sha256:6b3c694c1113d67af7d6264f1476acb43a0db7451759bf1b583f276b93a6f530",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_okx_btc_spot_perp_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:6b3c694c1113d67af7d6264f1476acb43a0db7451759bf1b583f276b93a6f530",
          "bytes": 44558,
          "download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_okx_btc_spot_perp_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:3e1965e39747bd707e39a7a8bb259257d4816e5c9d1684a96588786d52b20a32",
          "bytes": 315,
          "download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:00c026502384cc22ca40c87ea854bc182ff0c978bf6888619415a1139ac1e644",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:00c026502384cc22ca40c87ea854bc182ff0c978bf6888619415a1139ac1e644",
      "manifest_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_okx_spot_kraken_perp_btc_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld OKX spot / Kraken perp BTC daily v1",
      "description": "Cross-venue BTC basis package using OKX BTC-USDT spot and Kraken Futures PF_XBTUSD perpetual daily bars.",
      "venue_package": "OKX_KRAKEN",
      "venue_capability": "cross_venue_spot_perp",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。跨场所策略必须使用 MarketWorld 单独发布的 cross_venue 数据包。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "timestamp_alignment": {
        "policy_id": "marketworld_cross_venue_utc_daily_close_v1",
        "alignment_key": "timestamp",
        "timezone": "UTC",
        "granularity": "daily",
        "bar_close": "00:00:00+00:00",
        "method": "inner_join_on_common_closed_daily_timestamps",
        "required_legs_per_timestamp": [
          "OKX_SPOT_BTC",
          "KRAKEN_PERP_BTC"
        ],
        "max_allowed_lag_seconds": 0,
        "missing_leg_policy": "reject_dataset",
        "notes": "Cross-venue packages are aligned on common closed UTC daily timestamps before release. Intraday/tick arbitrage requires a separate intraday/tick package."
      },
      "instrument_sources": {
        "OKX_SPOT_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_spot",
          "venue_symbol": "BTC-USDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public spot"
        },
        "KRAKEN_PERP_BTC": {
          "execution_venue": "KRAKEN_FUTURES",
          "data_provider": "kraken_futures",
          "venue_symbol": "PF_XBTUSD",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "kraken_futures_public_charts",
          "live_source": "Kraken Futures public charts"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "okx_spot_kraken_perp_btc",
          "scope": "cross_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "OKX",
            "KRAKEN_FUTURES"
          ],
          "allow_cross_venue_basis": true,
          "legs": [
            {
              "role": "spot",
              "instrument": "OKX_SPOT_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_spot",
              "venue_symbol": "BTC-USDT"
            },
            {
              "role": "perpetual_swap",
              "instrument": "KRAKEN_PERP_BTC",
              "execution_venue": "KRAKEN_FUTURES",
              "data_provider": "kraken_futures",
              "venue_symbol": "PF_XBTUSD"
            }
          ],
          "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
        }
      ],
      "cost_model_id": "mw_cost_okx_spot_kraken_perp_btc_v1",
      "source_references": [
        "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history",
        "https://docs.kraken.com/api/docs/futures-api/trading/charts/"
      ],
      "generated_by": "scripts/generate_cross_venue_backtest_packages.py",
      "generated_at": "2026-06-29T04:42:12+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "KRAKEN_PERP_BTC",
        "OKX_SPOT_BTC"
      ],
      "sources": [
        "kraken_futures_public_charts",
        "okx_public_rest_history"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
      "data_fingerprint": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
          "bytes": 45064,
          "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
          "bytes": 325,
          "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
      "manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_sessionized_daily_sample_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld sessionized daily sample v1",
      "description": "MarketWorld 发布的版本化历史回测数据包；用户在本地下载后回测，提交时必须引用同一哈希。",
      "source_policy_id": "marketworld_official_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所期现与跨场所期现不得混用。",
      "anti_lookahead_policy": "数据包按 timestamp/source_session 固化；回测不得读取当前 bar 之后的数据。",
      "instrument_sources": {
        "SPOT_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_spot",
          "venue_symbol": "BTC-USDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "sample_raw",
          "live_source": "OKX public spot",
          "notes": "Live/paper trading anchor is OKX BTC-USDT spot. This sample dataset still stores rows as sample_raw."
        },
        "PERP_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_swap",
          "venue_symbol": "BTC-USDT-SWAP",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "sample_raw",
          "live_source": "OKX public swap",
          "notes": "Live/paper trading anchor is OKX BTC-USDT-SWAP. Binance USD-M is backup-only unless a separate dataset says so."
        },
        "FUT_IF": {
          "execution_venue": "CFFEX_SIM",
          "data_provider": "marketworld_sample_cn_future",
          "venue_symbol": "IF",
          "market_type": "index_future",
          "source_role": "future",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "ETF_CSI300": {
          "execution_venue": "CN_ETF_SIM",
          "data_provider": "marketworld_sample_cn_cash",
          "venue_symbol": "ETF_CSI300",
          "market_type": "etf",
          "source_role": "cash",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "IDX_CSI300": {
          "execution_venue": "INDEX_ONLY",
          "data_provider": "marketworld_sample_index",
          "venue_symbol": "CSI300",
          "market_type": "spot_index",
          "source_role": "benchmark",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "IDX_NDX": {
          "execution_venue": "INDEX_ONLY",
          "data_provider": "marketworld_sample_index",
          "venue_symbol": "NDX",
          "market_type": "spot_index",
          "source_role": "benchmark",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "OPT_CSI300_ETF": {
          "execution_venue": "CN_OPTION_SIM",
          "data_provider": "marketworld_sample_cn_option",
          "venue_symbol": "OPT_CSI300_ETF",
          "market_type": "option",
          "source_role": "option",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "okx_btc_spot_perp",
          "scope": "same_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "OKX"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "SPOT_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_spot",
              "venue_symbol": "BTC-USDT"
            },
            {
              "role": "perpetual_swap",
              "instrument": "PERP_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_swap",
              "venue_symbol": "BTC-USDT-SWAP"
            }
          ],
          "notes": "BTC same-venue spot/perp basis. Cross-exchange basis must use a separate official dataset and venue_pair_id."
        }
      ],
      "cost_model_id": "mw_cost_policy_2026_06_10",
      "period": {
        "start": "2026-05-01",
        "end": "2026-05-09",
        "timezone": "mixed_exchange_timezones"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "ETF_CSI300",
        "FUT_IF",
        "IDX_CSI300",
        "IDX_NDX",
        "OPT_CSI300_ETF",
        "PERP_BTC",
        "SPOT_BTC"
      ],
      "sources": [
        "sample_raw"
      ],
      "rows": 63,
      "cost_model_hash": "sha256:ef56026f05cd2e9622e9895f62868763d338cce38f6135d7b9a050a89b827a6e",
      "data_fingerprint": "sha256:f468d23bafd756922df12e367c874693a6b25f6dd78d2050624b0696c8048b2b",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_sessionized_daily_sample_v1/market_data_sessionized.csv",
          "sha256": "sha256:f468d23bafd756922df12e367c874693a6b25f6dd78d2050624b0696c8048b2b",
          "bytes": 15993,
          "download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_sessionized_daily_sample_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:ef56026f05cd2e9622e9895f62868763d338cce38f6135d7b9a050a89b827a6e",
          "bytes": 1954,
          "download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:d25ca7364b416336e5eb41435e932b8583bfd6c23f7856635ff412c7fb8d4172",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:d25ca7364b416336e5eb41435e932b8583bfd6c23f7856635ff412c7fb8d4172",
      "manifest_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/manifest.json"
    }
  ],
  "datasets": [
    {
      "dataset_id": "mw_binanceus_btc_spot_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Binance.US BTC spot daily v1",
      "description": "Binance.US public daily klines for BTCUSDT spot. No same-venue perpetual leg is published in this package.",
      "venue_package": "BINANCE_US",
      "venue_capability": "spot_only",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "BINANCEUS_SPOT_BTC": {
          "execution_venue": "BINANCE_US",
          "data_provider": "binance_us_spot",
          "venue_symbol": "BTCUSDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "binanceus_spot_public_klines",
          "live_source": "Binance.US public klines"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "binanceus_btc_spot_only",
          "scope": "spot_only",
          "basis_type": "spot_reference",
          "underlying": "BTC",
          "execution_venues": [
            "BINANCE_US"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "BINANCEUS_SPOT_BTC",
              "execution_venue": "BINANCE_US",
              "data_provider": "binance_us_spot",
              "venue_symbol": "BTCUSDT"
            }
          ],
          "notes": "Spot-only venue package. Binance.US spot is not a same-venue perpetual package."
        }
      ],
      "cost_model_id": "mw_cost_binanceus_btc_spot_v1",
      "source_references": [
        "https://docs.binance.us/#kline-candlestick-data"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:26:08+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "BINANCEUS_SPOT_BTC"
      ],
      "sources": [
        "binanceus_spot_public_klines"
      ],
      "rows": 90,
      "cost_model_hash": "sha256:c814f225c3830bafb22cd9063d2ed69ce4bce71b4ba0666b1820cbc2127a580b",
      "data_fingerprint": "sha256:13bb3a0da4f422700146246d3d543c2ddeb02690f67929b8ead8eb87776f116a",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_binanceus_btc_spot_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:13bb3a0da4f422700146246d3d543c2ddeb02690f67929b8ead8eb87776f116a",
          "bytes": 23674,
          "download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_binanceus_btc_spot_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:c814f225c3830bafb22cd9063d2ed69ce4bce71b4ba0666b1820cbc2127a580b",
          "bytes": 232,
          "download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:784d8a42c2311f7dee1dc6cd23bb88babee6c8210a3ac56c57ef7af07ebed8ee",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:784d8a42c2311f7dee1dc6cd23bb88babee6c8210a3ac56c57ef7af07ebed8ee",
      "manifest_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_binanceus_btc_spot_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_coinbase_btc_spot_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Coinbase BTC spot daily v1",
      "description": "Coinbase Exchange public daily candles for BTC-USD spot. No same-venue perpetual leg is published in this package.",
      "venue_package": "COINBASE",
      "venue_capability": "spot_only",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "COINBASE_SPOT_BTC": {
          "execution_venue": "COINBASE",
          "data_provider": "coinbase_exchange",
          "venue_symbol": "BTC-USD",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "coinbase_exchange_public_rest",
          "live_source": "Coinbase Exchange public candles"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "coinbase_btc_spot_only",
          "scope": "spot_only",
          "basis_type": "spot_reference",
          "underlying": "BTC",
          "execution_venues": [
            "COINBASE"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "COINBASE_SPOT_BTC",
              "execution_venue": "COINBASE",
              "data_provider": "coinbase_exchange",
              "venue_symbol": "BTC-USD"
            }
          ],
          "notes": "Spot-only venue package. Do not use it to claim same-venue spot/perp carry."
        }
      ],
      "cost_model_id": "mw_cost_coinbase_btc_spot_v1",
      "source_references": [
        "https://docs.cdp.coinbase.com/exchange/reference/exchangerestapi_getproductcandles"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:26:30+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "COINBASE_SPOT_BTC"
      ],
      "sources": [
        "coinbase_exchange_public_rest"
      ],
      "rows": 90,
      "cost_model_hash": "sha256:05d4bd06c545107747a63f6c6fa369ddf26b805c1c2e7abc0c7afc9170562b21",
      "data_fingerprint": "sha256:64c75d3ff4745e105540d183ce3960591e992f05c04b6d0303c84debef109298",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_coinbase_btc_spot_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:64c75d3ff4745e105540d183ce3960591e992f05c04b6d0303c84debef109298",
          "bytes": 24389,
          "download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_coinbase_btc_spot_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:05d4bd06c545107747a63f6c6fa369ddf26b805c1c2e7abc0c7afc9170562b21",
          "bytes": 230,
          "download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:5d08eea154caebd43602e8ebacaa67719c7fc5e9eaabf0ae22a158528fa726f2",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:5d08eea154caebd43602e8ebacaa67719c7fc5e9eaabf0ae22a158528fa726f2",
      "manifest_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_coinbase_btc_spot_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_kraken_btc_spot_perp_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Kraken BTC spot/futures daily v1",
      "description": "Kraken spot public OHLC and Kraken Futures BTC perpetual public daily chart data.",
      "venue_package": "KRAKEN",
      "venue_capability": "spot_perp_same_brand",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "KRAKEN_SPOT_BTC": {
          "execution_venue": "KRAKEN",
          "data_provider": "kraken_spot",
          "venue_symbol": "XBTUSD",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "kraken_spot_public_ohlc",
          "live_source": "Kraken public spot OHLC"
        },
        "KRAKEN_PERP_BTC": {
          "execution_venue": "KRAKEN_FUTURES",
          "data_provider": "kraken_futures",
          "venue_symbol": "PF_XBTUSD",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "kraken_futures_public_charts",
          "live_source": "Kraken Futures public charts"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "kraken_btc_spot_perp",
          "scope": "same_brand",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "KRAKEN",
            "KRAKEN_FUTURES"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "KRAKEN_SPOT_BTC",
              "execution_venue": "KRAKEN",
              "data_provider": "kraken_spot",
              "venue_symbol": "XBTUSD"
            },
            {
              "role": "perpetual_swap",
              "instrument": "KRAKEN_PERP_BTC",
              "execution_venue": "KRAKEN_FUTURES",
              "data_provider": "kraken_futures",
              "venue_symbol": "PF_XBTUSD"
            }
          ],
          "notes": "Same brand, separate spot and futures venues. Cost model includes additional routing/slippage reserve."
        }
      ],
      "cost_model_id": "mw_cost_kraken_btc_spot_perp_v1",
      "source_references": [
        "https://docs.kraken.com/api/docs/rest-api/get-ohlc-data/",
        "https://docs.kraken.com/api/docs/futures-api/trading/charts/"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:29:33+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "KRAKEN_PERP_BTC",
        "KRAKEN_SPOT_BTC"
      ],
      "sources": [
        "kraken_futures_public_charts",
        "kraken_spot_public_ohlc"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:86c3f00b2ed5de980fc500ae52e341a4afcc63c72503c025f736825c87c1ee78",
      "data_fingerprint": "sha256:bd718453793961f3b52f46c07f4256e8ff42439febcc3f79e0fe3c018b108181",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_kraken_btc_spot_perp_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:bd718453793961f3b52f46c07f4256e8ff42439febcc3f79e0fe3c018b108181",
          "bytes": 45270,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_kraken_btc_spot_perp_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:86c3f00b2ed5de980fc500ae52e341a4afcc63c72503c025f736825c87c1ee78",
          "bytes": 321,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:8ba4fd9adbb82cac7e0fb869d381135098b1b112d23030f0094b1dffa27d3e2d",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:8ba4fd9adbb82cac7e0fb869d381135098b1b112d23030f0094b1dffa27d3e2d",
      "manifest_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_kraken_btc_spot_perp_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_kraken_spot_okx_perp_btc_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld Kraken spot / OKX perp BTC daily v1",
      "description": "Cross-venue BTC basis package using Kraken XBTUSD spot and OKX BTC-USDT-SWAP perpetual daily bars.",
      "venue_package": "KRAKEN_OKX",
      "venue_capability": "cross_venue_spot_perp",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。跨场所策略必须使用 MarketWorld 单独发布的 cross_venue 数据包。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "timestamp_alignment": {
        "policy_id": "marketworld_cross_venue_utc_daily_close_v1",
        "alignment_key": "timestamp",
        "timezone": "UTC",
        "granularity": "daily",
        "bar_close": "00:00:00+00:00",
        "method": "inner_join_on_common_closed_daily_timestamps",
        "required_legs_per_timestamp": [
          "KRAKEN_SPOT_BTC",
          "OKX_PERP_BTC"
        ],
        "max_allowed_lag_seconds": 0,
        "missing_leg_policy": "reject_dataset",
        "notes": "Cross-venue packages are aligned on common closed UTC daily timestamps before release. Intraday/tick arbitrage requires a separate intraday/tick package."
      },
      "instrument_sources": {
        "KRAKEN_SPOT_BTC": {
          "execution_venue": "KRAKEN",
          "data_provider": "kraken_spot",
          "venue_symbol": "XBTUSD",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "kraken_spot_public_ohlc",
          "live_source": "Kraken public spot OHLC"
        },
        "OKX_PERP_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_swap",
          "venue_symbol": "BTC-USDT-SWAP",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public swap"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "kraken_spot_okx_perp_btc",
          "scope": "cross_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "KRAKEN",
            "OKX"
          ],
          "allow_cross_venue_basis": true,
          "legs": [
            {
              "role": "spot",
              "instrument": "KRAKEN_SPOT_BTC",
              "execution_venue": "KRAKEN",
              "data_provider": "kraken_spot",
              "venue_symbol": "XBTUSD"
            },
            {
              "role": "perpetual_swap",
              "instrument": "OKX_PERP_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_swap",
              "venue_symbol": "BTC-USDT-SWAP"
            }
          ],
          "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
        }
      ],
      "cost_model_id": "mw_cost_kraken_spot_okx_perp_btc_v1",
      "source_references": [
        "https://docs.kraken.com/api/docs/rest-api/get-ohlc-data/",
        "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history"
      ],
      "generated_by": "scripts/generate_cross_venue_backtest_packages.py",
      "generated_at": "2026-06-29T04:42:12+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "KRAKEN_SPOT_BTC",
        "OKX_PERP_BTC"
      ],
      "sources": [
        "kraken_spot_public_ohlc",
        "okx_public_rest_history"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:2c801015e7b98eaf97611f9ca7273be124708004ad690ed3aec68c8ce53f4c5b",
      "data_fingerprint": "sha256:270bed2b896e7c82db7cdd070d6bcfb9f59735d7b2e5e2eb3e3b58033ea1d233",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_kraken_spot_okx_perp_btc_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:270bed2b896e7c82db7cdd070d6bcfb9f59735d7b2e5e2eb3e3b58033ea1d233",
          "bytes": 45484,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_kraken_spot_okx_perp_btc_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:2c801015e7b98eaf97611f9ca7273be124708004ad690ed3aec68c8ce53f4c5b",
          "bytes": 316,
          "download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:c8b68fd7a76d852631330a244798344fdd60c69e3d3506ef9a352519c32f8303",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:c8b68fd7a76d852631330a244798344fdd60c69e3d3506ef9a352519c32f8303",
      "manifest_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_kraken_spot_okx_perp_btc_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_okx_btc_spot_perp_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld OKX BTC spot/perp daily v1",
      "description": "OKX public REST daily candles for BTC-USDT spot and BTC-USDT-SWAP perpetual swap.",
      "venue_package": "OKX",
      "venue_capability": "spot_perp",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "instrument_sources": {
        "SPOT_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_spot",
          "venue_symbol": "BTC-USDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public spot"
        },
        "PERP_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_swap",
          "venue_symbol": "BTC-USDT-SWAP",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public swap"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "okx_btc_spot_perp",
          "scope": "same_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "OKX"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "SPOT_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_spot",
              "venue_symbol": "BTC-USDT"
            },
            {
              "role": "perpetual_swap",
              "instrument": "PERP_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_swap",
              "venue_symbol": "BTC-USDT-SWAP"
            }
          ],
          "notes": "Same OKX venue family. Cross-exchange basis must use a separate official dataset and venue_pair_id."
        }
      ],
      "cost_model_id": "mw_cost_okx_btc_spot_perp_v1",
      "source_references": [
        "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history"
      ],
      "generated_by": "scripts/generate_crypto_venue_backtest_packages.py",
      "generated_at": "2026-06-27T05:27:39+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "PERP_BTC",
        "SPOT_BTC"
      ],
      "sources": [
        "okx_public_rest_history"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:3e1965e39747bd707e39a7a8bb259257d4816e5c9d1684a96588786d52b20a32",
      "data_fingerprint": "sha256:6b3c694c1113d67af7d6264f1476acb43a0db7451759bf1b583f276b93a6f530",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_okx_btc_spot_perp_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:6b3c694c1113d67af7d6264f1476acb43a0db7451759bf1b583f276b93a6f530",
          "bytes": 44558,
          "download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_okx_btc_spot_perp_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:3e1965e39747bd707e39a7a8bb259257d4816e5c9d1684a96588786d52b20a32",
          "bytes": 315,
          "download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:00c026502384cc22ca40c87ea854bc182ff0c978bf6888619415a1139ac1e644",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:00c026502384cc22ca40c87ea854bc182ff0c978bf6888619415a1139ac1e644",
      "manifest_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_okx_btc_spot_perp_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_okx_spot_kraken_perp_btc_daily_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld OKX spot / Kraken perp BTC daily v1",
      "description": "Cross-venue BTC basis package using OKX BTC-USDT spot and Kraken Futures PF_XBTUSD perpetual daily bars.",
      "venue_package": "OKX_KRAKEN",
      "venue_capability": "cross_venue_spot_perp",
      "source_policy_id": "marketworld_public_rest_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所、同品牌、跨场所与 spot-only 数据包不得混用。跨场所策略必须使用 MarketWorld 单独发布的 cross_venue 数据包。",
      "anti_lookahead_policy": "数据包按 UTC daily close 固化；回测不得读取当前 bar 之后的数据或未收盘日线。",
      "timestamp_alignment": {
        "policy_id": "marketworld_cross_venue_utc_daily_close_v1",
        "alignment_key": "timestamp",
        "timezone": "UTC",
        "granularity": "daily",
        "bar_close": "00:00:00+00:00",
        "method": "inner_join_on_common_closed_daily_timestamps",
        "required_legs_per_timestamp": [
          "OKX_SPOT_BTC",
          "KRAKEN_PERP_BTC"
        ],
        "max_allowed_lag_seconds": 0,
        "missing_leg_policy": "reject_dataset",
        "notes": "Cross-venue packages are aligned on common closed UTC daily timestamps before release. Intraday/tick arbitrage requires a separate intraday/tick package."
      },
      "instrument_sources": {
        "OKX_SPOT_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_spot",
          "venue_symbol": "BTC-USDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "okx_public_rest_history",
          "live_source": "OKX public spot"
        },
        "KRAKEN_PERP_BTC": {
          "execution_venue": "KRAKEN_FUTURES",
          "data_provider": "kraken_futures",
          "venue_symbol": "PF_XBTUSD",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "kraken_futures_public_charts",
          "live_source": "Kraken Futures public charts"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "okx_spot_kraken_perp_btc",
          "scope": "cross_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "OKX",
            "KRAKEN_FUTURES"
          ],
          "allow_cross_venue_basis": true,
          "legs": [
            {
              "role": "spot",
              "instrument": "OKX_SPOT_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_spot",
              "venue_symbol": "BTC-USDT"
            },
            {
              "role": "perpetual_swap",
              "instrument": "KRAKEN_PERP_BTC",
              "execution_venue": "KRAKEN_FUTURES",
              "data_provider": "kraken_futures",
              "venue_symbol": "PF_XBTUSD"
            }
          ],
          "notes": "Official cross-venue package. Transfer, borrow, and routing risk must be handled by the cost model and private review."
        }
      ],
      "cost_model_id": "mw_cost_okx_spot_kraken_perp_btc_v1",
      "source_references": [
        "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-candlesticks-history",
        "https://docs.kraken.com/api/docs/futures-api/trading/charts/"
      ],
      "generated_by": "scripts/generate_cross_venue_backtest_packages.py",
      "generated_at": "2026-06-29T04:42:12+00:00",
      "period": {
        "start": "2026-03-29",
        "end": "2026-06-26",
        "timezone": "UTC"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "KRAKEN_PERP_BTC",
        "OKX_SPOT_BTC"
      ],
      "sources": [
        "kraken_futures_public_charts",
        "okx_public_rest_history"
      ],
      "rows": 180,
      "cost_model_hash": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
      "data_fingerprint": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/market_data_sessionized.csv",
          "sha256": "sha256:d14eb23bfb933a2bc34035545955c3123463588d20d9209efbdd1eb936a14e34",
          "bytes": 45064,
          "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_okx_spot_kraken_perp_btc_daily_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:8e812f64792119632c5e16b689d2feee5ae4551079f121bdfbd18e398796e1e0",
          "bytes": 325,
          "download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:25cf45404abf96b36753325c819063159395cc79f0b111ecb93e2554c64810e9",
      "manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_okx_spot_kraken_perp_btc_daily_v1/manifest.json"
    },
    {
      "dataset_id": "mw_sessionized_daily_sample_v1",
      "provider": "marketworld",
      "status": "approved",
      "label": "MarketWorld sessionized daily sample v1",
      "description": "MarketWorld 发布的版本化历史回测数据包；用户在本地下载后回测，提交时必须引用同一哈希。",
      "source_policy_id": "marketworld_official_history_v1",
      "venue_policy_id": "marketworld_venue_locked_v1",
      "coverage_policy": "必须覆盖策略包 rules/signal_intents 中所有 legs/from/to 标的。",
      "venue_binding_policy": "策略必须声明并锁定官方 manifest 中的 execution_venue/data_provider/venue_symbol；同场所期现与跨场所期现不得混用。",
      "anti_lookahead_policy": "数据包按 timestamp/source_session 固化；回测不得读取当前 bar 之后的数据。",
      "instrument_sources": {
        "SPOT_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_spot",
          "venue_symbol": "BTC-USDT",
          "market_type": "crypto_spot",
          "source_role": "spot",
          "dataset_source": "sample_raw",
          "live_source": "OKX public spot",
          "notes": "Live/paper trading anchor is OKX BTC-USDT spot. This sample dataset still stores rows as sample_raw."
        },
        "PERP_BTC": {
          "execution_venue": "OKX",
          "data_provider": "okx_swap",
          "venue_symbol": "BTC-USDT-SWAP",
          "market_type": "crypto_perp",
          "source_role": "perpetual_swap",
          "dataset_source": "sample_raw",
          "live_source": "OKX public swap",
          "notes": "Live/paper trading anchor is OKX BTC-USDT-SWAP. Binance USD-M is backup-only unless a separate dataset says so."
        },
        "FUT_IF": {
          "execution_venue": "CFFEX_SIM",
          "data_provider": "marketworld_sample_cn_future",
          "venue_symbol": "IF",
          "market_type": "index_future",
          "source_role": "future",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "ETF_CSI300": {
          "execution_venue": "CN_ETF_SIM",
          "data_provider": "marketworld_sample_cn_cash",
          "venue_symbol": "ETF_CSI300",
          "market_type": "etf",
          "source_role": "cash",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "IDX_CSI300": {
          "execution_venue": "INDEX_ONLY",
          "data_provider": "marketworld_sample_index",
          "venue_symbol": "CSI300",
          "market_type": "spot_index",
          "source_role": "benchmark",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "IDX_NDX": {
          "execution_venue": "INDEX_ONLY",
          "data_provider": "marketworld_sample_index",
          "venue_symbol": "NDX",
          "market_type": "spot_index",
          "source_role": "benchmark",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        },
        "OPT_CSI300_ETF": {
          "execution_venue": "CN_OPTION_SIM",
          "data_provider": "marketworld_sample_cn_option",
          "venue_symbol": "OPT_CSI300_ETF",
          "market_type": "option",
          "source_role": "option",
          "dataset_source": "sample_raw",
          "live_source": "research/sample"
        }
      },
      "venue_pairs": [
        {
          "venue_pair_id": "okx_btc_spot_perp",
          "scope": "same_venue",
          "basis_type": "spot_perp",
          "underlying": "BTC",
          "execution_venues": [
            "OKX"
          ],
          "allow_cross_venue_basis": false,
          "legs": [
            {
              "role": "spot",
              "instrument": "SPOT_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_spot",
              "venue_symbol": "BTC-USDT"
            },
            {
              "role": "perpetual_swap",
              "instrument": "PERP_BTC",
              "execution_venue": "OKX",
              "data_provider": "okx_swap",
              "venue_symbol": "BTC-USDT-SWAP"
            }
          ],
          "notes": "BTC same-venue spot/perp basis. Cross-exchange basis must use a separate official dataset and venue_pair_id."
        }
      ],
      "cost_model_id": "mw_cost_policy_2026_06_10",
      "period": {
        "start": "2026-05-01",
        "end": "2026-05-09",
        "timezone": "mixed_exchange_timezones"
      },
      "granularity": [
        "daily"
      ],
      "instruments": [
        "ETF_CSI300",
        "FUT_IF",
        "IDX_CSI300",
        "IDX_NDX",
        "OPT_CSI300_ETF",
        "PERP_BTC",
        "SPOT_BTC"
      ],
      "sources": [
        "sample_raw"
      ],
      "rows": 63,
      "cost_model_hash": "sha256:ef56026f05cd2e9622e9895f62868763d338cce38f6135d7b9a050a89b827a6e",
      "data_fingerprint": "sha256:f468d23bafd756922df12e367c874693a6b25f6dd78d2050624b0696c8048b2b",
      "files": [
        {
          "role": "market_data",
          "name": "market_data_sessionized.csv",
          "path": "external_strategies/backtest_data/mw_sessionized_daily_sample_v1/market_data_sessionized.csv",
          "sha256": "sha256:f468d23bafd756922df12e367c874693a6b25f6dd78d2050624b0696c8048b2b",
          "bytes": 15993,
          "download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/market_data_sessionized.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/market_data_sessionized.csv"
        },
        {
          "role": "cost_model",
          "name": "execution_cost_assumptions.csv",
          "path": "external_strategies/backtest_data/mw_sessionized_daily_sample_v1/execution_cost_assumptions.csv",
          "sha256": "sha256:ef56026f05cd2e9622e9895f62868763d338cce38f6135d7b9a050a89b827a6e",
          "bytes": 1954,
          "download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/execution_cost_assumptions.csv",
          "static_download_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/files/execution_cost_assumptions.csv"
        }
      ],
      "manifest_hash": "sha256:d25ca7364b416336e5eb41435e932b8583bfd6c23f7856635ff412c7fb8d4172",
      "manifest_release_status": "released",
      "manifest_matches_files": true,
      "computed_manifest_hash": "sha256:d25ca7364b416336e5eb41435e932b8583bfd6c23f7856635ff412c7fb8d4172",
      "manifest_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/manifest.json",
      "static_manifest_url": "external-strategies/backtest-datasets/mw_sessionized_daily_sample_v1/manifest.json"
    }
  ],
  "dataset_count": 7,
  "minimum_upload_score": 70.0,
  "links": {
    "dataset_catalog": "external-strategies/backtest-datasets/index.json",
    "backtest_requirements": "external-strategies/backtest-requirements.json",
    "submission_standard": "external-strategies/submission-standard.json",
    "release_status": "external-strategies/release-status.json"
  }
}
